|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Marc Inscription : juillet 2009 Messages : 25 ![]() |
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 :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Marc Inscription : juillet 2009 Messages : 25 ![]() |
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". |
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Marc Inscription : juillet 2009 Messages : 25 ![]() |
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 :
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. |
||
|
|
00
|
|
|
#5 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
as-tu du javascript quelque part ?
|
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Marc Inscription : juillet 2009 Messages : 25 ![]() |
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 |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
![]() 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
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
|
10
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Marc Inscription : juillet 2009 Messages : 25 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() David GuillotChef de projet en SSII Inscription : mars 2004 Messages : 879 ![]() |
De rien, et n'oublie pas de passer ce topic en
__________________
Avant de poser une question ici : ![]() Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé |
|
00
|
Copyright © 2000-2012 - www.developpez.com