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 header IE7


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut Problème header IE7
    Bonjour,
    J'ai un problème avec un header("location: blabla.php").
    Sous FFox, le header arrète le déroulement du script sur la page en question pour renvoyer sur blabla.php => C'est bien ce que j'attend.
    Par contre, sous IE7, le script continue après le header. J'ai mis un exit, mais cela continue tout de même après le exit => Cela pose ensuite des problème à mon script.
    Je n'ai pas trouvé de réponse à mon problème.
    Pour info, qq lignes de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header('Location: ma_page.php');// On redirige la page d'accueil 
    Log::toLog($debugger,"inscrire.php: contrôle Ok après header: ",$cheminLog); // écriture dans la log si ouverte
    exit();
    Log::toLog($debugger,"inscrire.php: contrôle Ok après exit: ",$cheminLog); // écriture dans la log si ouverte
    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il est impossible que le script continue après un exit()
    Tu interpretes mal le résultat ou bien tu n'arrives jamais à cette ligne.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut C'est Ok => cela semblait ok
    Fausse joie: J'ai un moment cru que le problème était résolu, mais je me suis trompé.
    Effectivement, comme tu l'as dit, le script ne va pas au delà du exit(). Pourtant, dans certains cas il reprend le script depuis le début au lieu de suivre le header ma_page.php.
    Et là, je ne comprend pas : Depuis que j'ai mis le exit(), il fonctionne "de temps en temps". J'essaie d'investiguer la raison de ce "de temps en temps".

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut Toujours pas résolu
    Bonjour,
    J'ai l'impression de n'avoir pas été très clair dans mes explications précédentes. Voici donc un état des lieux de mon problème.
    J'ai une page qu'on appellera "inscrire.php" dans laquelle je reçois les données issues d'un formulaire.
    J'effectue des contrôles dans "inscrire.php" dont un contrôle d'existence du user entré dans l'inscription.
    Si le contrôle est OK, j'enregistre mon utilisateur en bd et je redirige vers la page "maPage.php" à l'aide d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("location: maPage.php");
    exit();
    J'ai par ailleurs positionné des liogs en début de page maPage.php et inscrire.php
    Le problème est que sous Internet Explorer 7 (chose qui ne se produit pas sous FF), au lieu de lancer maPage.php après avoir constaté que le formulaire est Ok, il relance la même page inscrire.php. La conséquence est que après avoir inscrit l'utilisateur et enregistré en bd, il re-contrôle que ce même user n'existe pas, s'aperçoit qu'il existe (puisqu'il avait été enregistré lors du premier passage) et renvoie donc une information comme quoi l'inscription est KO.
    Autre information depuis la dernière fois, cela ne se produit que lorsque javascript est actif => Je me suis aperçu de cela de manière totalement hasardeuse en desactivant js afin d'aller plus vite pour reproduire l'erreur. Je ne comprend pas bien le rapport avec javascript mais le fait est que cela fonctionne lorsque js est desactivé et ne fonctionne pas lorsqu'il est actif.
    Merci de me donner vos impressions sur la question.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    as-tu du javascript quelque part ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Bonjour Sabotage,
    J'ai bien du javascript dans maPage.php (page vers laquelle on devrait rediriger).
    J'en ai aussi dans la première page de formulaire qui appelle "inscrire.php", mais je n'en ai pas dans "inscrire.php".

    Bonjour,
    Pour information, j'ai fini par mettre en place une affreuse rustine pour régler mon problème (utilisation de la SESSION pour vérifier si on est déjà passé sur la page inscrire.php).
    Je laisse le sujet ouvert car si vous pouviez m'aider à corriger proprement ce problème, cela m'arrangerait.
    Merci

  7. #7
    Invité
    Invité(e)
    Par défaut


    Le problème se situe sur la page qui contient le formulaire d'inscription. Je suis prêt à parier que tu valides ton formulaire d'inscription en Javascript (genre après des contrôles sur les champs), et que cette validation se fait 2 fois, ou qu'une autre page est appelée par un location.href en JS...

    Bref, vérifie bien ce JS qui s'exécute sur ta première page, c'est presque certain que ton problème vient de là.

    Dav

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut Bravo
    Bravo torvalds17,
    Effectivement, c'est bien la page du formulaire qui ne marchait pas. Pour résumer, j'avais un contrôle de formulaire et selon le cas, lancement du submit ou pas.
    En fait , je n'effectuais pas de preventDefault sur le submit du formulaire avant le contrôle, mais uniquement si le contrôle était Ko.
    Du coup, si le contrôle était ok, je faisais un superbe formulaire.submit(). Etant donné que je ne l'avais pas stoppé avant, dans le cas où le contrôle était ok, je lançais 2 fois le submit.
    Merci vous deux pour m'avoir aidé à corriger ce bug dont la source était bien cachée.

  9. #9
    Invité
    Invité(e)
    Par défaut
    De rien, et n'oublie pas de passer ce topic en

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

Discussions similaires

  1. [PHP-JS] problème headers already sent
    Par charlene44 dans le forum Langage
    Réponses: 12
    Dernier message: 14/06/2006, 13h55
  2. Problème "Header location"
    Par mLk92 dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2006, 11h24
  3. [php-header] problème header téléchargement
    Par nigiri dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 15h16
  4. [FTP] problème header("location:......")
    Par K4trix dans le forum Langage
    Réponses: 23
    Dernier message: 30/11/2005, 11h53
  5. problème header
    Par Jeannotc dans le forum Langage
    Réponses: 6
    Dernier message: 16/09/2005, 10h31

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