IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

"header()" ne marche pas


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 194
    Points : 118
    Points
    118
    Par défaut "header()" ne marche pas
    Bonjour à tous, voilà j'ai un problème sur mon site : j'avais prévu de faire une redirection si un admin est connecté au site vers une autre page. Mais voilà la fonction header ne se lance pas alors que sur mon ordi avec EsayPhp ça fonctionne !!!
    Voilà comment j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if($login=='admin')
    {
    	header("Location: mondossier/mapage.php?lng=".$langue);
    	exit;
    }
    J'ai essayé de mettre un "echo 'hello' " pour savoir si je rentrais bien dans la condition si et oui je rentre dedans mais la fonction header() ne fait rien...
    j'ai aussi essayé avec :
    header("Location: mondossier/mapage.php?lng=$langue");

    Je comprends pas pourquoi ??

    note : j'utilise les frames et j'ai bien vérifié que mon chemin est bon

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Utilise la directive error_reportting(E_ALL); pour avoir les message d'erreur quelque soit leur niveau d'erreur
    avec display_error(true); pour qu'il soint affichés.

    je supose que ces quelques ligne ne sont pas au début du script

    pour que la fonction header fonction il ne faut rien avoir envoyé au client
    donc pas de echo pas de print avant le header()

    mais il y a plus insidueux

    il ne faut pas de caractères hors de <?php ?> avant l'appel

    donc si tu fait un include il ne faut pas de caractère \n apres le ?>

    zend préconise de ne pas mettre de ?> en fin de fichier s'il n'y a pas de sortie à faire.

    bref avec les directive tu devrais avoir un message du genre
    Warning: Cannot modify header information - headers already sent by (output started at thisfile.php:37) in monfichier.php on line 483

    il suffit alors d'aller voir le fichier pour tourver pourquoi il a envoyé un truc au client et si c'est necessaire

    si c'est le cas il te faut revoir ton prog
    A+JYT

  3. #3
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut,

    le probleme vient des guillements je pense

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if($login=='admin')
    {
    	header("Location: mondossier/mapage.php?lng={$langue}");
    	exit;
    }
    edit: lol vi ... ca revient un peu au même ...

    sahid

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 194
    Points : 118
    Points
    118
    Par défaut
    ok merci sekaijin en fait c'était à cause d'une ligne en HTML que j'avais mis au tout début de mon script (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">)

    maintenant que je l'ai placée après ma condition ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. header qui ne marche pas
    Par adel.87 dans le forum Langage
    Réponses: 3
    Dernier message: 02/06/2008, 16h44
  2. mon header location ne marche pas
    Par 123quatre dans le forum Langage
    Réponses: 1
    Dernier message: 29/12/2007, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo