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 :

problème de header


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 117
    Points
    117
    Par défaut problème de header
    bonjour,
    voici le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <body>
    <?php
    @$password=$_POST['password'];
     
    if (empty($password)) { ?>
     
    <form method="POST" action="index.php" enctype="multipart/form-data">
    <input type="password" name="password" value="">
    <input type="submit" value="Login"></form>
     
    <?php
    } 
    else if (sha1($password)=='06381a70e1eb7eb2c16662e1f60b591dbfa11c87'){
    echo 'Good !';
    // Change to the URL you want to redirect to
    $URL="http://www.monweb.com/fichier.php";
     
    header ("Location: $URL");
    }
    else {
    echo 'Go Away !';
    }
    ?> 
    </body>
    </html>
    chaque fois que je rentre le bon mot de passe j'ai le message suivant :

    Good !
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/xx/-------/htdocs/admin/index.php:5) in /homepages/xx/-------/htdocs/admin/index.php on line 21

    a quel endroit ça cloche?
    Merci

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu fais un echo "good" avant d'utiliser les headers et c'est ce qui provoque ce message d'erreur.
    Aucun caractère ne doit être envoyé au navigateur avant l'utilisation des headers (comme pour les sessions en fait) donc pas de balises html ou de echo dans le code php.

    Il faut donc que tu modifies ton code en conséquence: Tu commences par du code php qui regardes la valeur de $_POST[], fais les vérifications de login/mdp etc, si c'est bon tu utilises header ("Location: $URL");
    Sinon, tu affiches le formulaire.

  3. #3
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    ...En sachant que si tu peux, (quoique pour un formulaire aussi petit, on comprend le fait e vouloir mettre le PHP dans le script de départ....), il vaut mieux pour ne pas faire de confusion et ne pas se perdre dans son code, faire appelle a un autre script auquel tu délegueras les actions de formulaire....

    Crois par experience, c'est plus propre et ca permet de se retrouver beaucoup plus facilement

    Mais effectivement, si tu veux mélanger PHP/HTML, autant mettre les codes de traitements en haut de page (tu y serais de toute les facons obligé si tu traitais des sessions... )
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 117
    Points
    117
    Par défaut
    ok ca marche merci!
    >viviboss ok pour le tuyau je l'appliquerai la prochaine fois pour des pages plus conséquentes.

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

Discussions similaires

  1. [XSLT] Problème de header ? de cache ?
    Par siddh dans le forum Bibliothèques et frameworks
    Réponses: 23
    Dernier message: 05/12/2008, 03h53
  2. [JpGraph] problème avec header
    Par ciesco dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/01/2006, 17h02
  3. [Tableaux] problème de header
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 15h06
  4. [Système] Problème avec header() ...
    Par tom06440 dans le forum Langage
    Réponses: 15
    Dernier message: 27/10/2005, 21h33
  5. [ImageMagick] Header envoyé lors de la création d'une image
    Par KLiFF dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/10/2005, 16h35

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