|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2007 Messages : 31 ![]() |
Bonjour à tous,
Comme vous pouvez le lire dans le titre, j'ai remarqué qu'en utilisant phplib et firefox, on se retrouve confronté à un problème : les fonctions sont appelées deux fois. Voici un exemple : Code :
Après l'appel de la page do.php, avec $_GET['act'] = 'End' (qui entraine l'appel de la méthode End() ), je constante que dans mon log j'ai : end end La fonction est appelée deux fois et celà seulement lorsque l'on utilise firefox. Dans le script présenté ca ne pose pas vraiment problème mais dans d'autres dans lesquels j'ai des insertions dans la BDD, je me retrouve avec : DELETE ... INSERT ... DELETE ... à la place de mon : DELETE ... INSERT ... Ce qui entraine la suppression des enregistrements venant d'être insérés! J'ai cherché des réponses à ce problème mais en vain. Avez-vous déjà entendu quelque chose à propos de ce problème ? |
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 101 ![]() |
Hello,
Le PHP étant exécuté du côté du serveur (et non du client), je vois mal comment Firefox pourrait être en cause pour le coup... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 31 ![]() |
Je sais je sais lol. Moi aussi je comprend pas! Je constate juste qu'avec IE j'ai pas le problème. J'ai trouvé des personnes qui apparemment ont le même problème. J'ai pu lire qu'apparemment Firefox soumet deux fois les formulaires : http://forums.mozillazine.org/viewtopic.php?p=3010677&
La solution qu'il donne consiste à démarrer firefox en safe mode afin qu'il ne soumette qu'une fois les formulaires. Pour ce qui ont le meme problème que moi, il vous suffit de mettre sur votre page d'accueil : "Si vous utilisez Firefox, fermer le puis faites : démarrer -> éxécuter -> firefox -safe mode" Je rigole biensûr De plus, si on change error_log("begin\n", 3, 'log.txt'); par : Code :
error_log("begin ".time()."\n", 3, 'log.txt'); [log] begin 1188917323 begin 1188917325 [/log] |
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 1 ![]() |
Oui, je confirme, quand le client est firefox le serveur ne se comporte pas comme si c'était ie, OUI OUI tupac59LC a raison incroyable non !
J'ai fait plein d'essais, tout se passe comme si TOUT le code s'exécutait 2 fois de suite avant d'envoyer le résultat au "Client" (mail envoyé deux fois etc ..., heureusement que j'avais une protection pour la mise à jour de la base de données lorsque l'on utilise deux fois le même formulaire sans le rafraichir, ... ah, là il y en a qui commence à avoir des idées sur l'origine du pb, non ? ...) Pour me convaincre de cet incroyable "effet papillon" j'ai même inséré cette séquence dans le code : Code :
et sous firefox : 2,4,6,8 etc ... tout était exécuté deux fois et seul le résultat après la double exécution s'affiche ... donc pourquoi firefox envoie deux fois sa demande et n'affiche que le résultat ? (vu que cela ne peut pas venir su serveur, là je suis d'accord avec les réponses) Dans mon cas j'ai trouvé ça : Code :
background-image:url(); c'est à dire pas d'image à afficher (ça arrive chez moi car les css sont paramétrés) alors là firefox poste tout seul ,sans rien ,dire le formulaire (avec les données préaffichées éventuelles) comme si l'usager avait cliqué sur envoyer et le retour du serveur est perdu, donc lors du vrai clic sur envoyer le serveur reçoit une deuxième les données et refait tout (envoil d'email, calcul, mise des bases de données, cookies, etc ...) ... Enfin, c'est mon explication Comme c'est pas évident à trouver à partir des symptômes j'espère que cela guidera les recherches des prochaines victimes car je n'ai pas trouvé de piste sur les forum (sans doute mal cherché :-) et il y a sans doute d'autre cas similaires où firefox s'affole |
||||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : novembre 2003 Messages : 737 ![]() |
J'ai déjà eu ce problème à cause d'un img src="". Forcément firefox va effectuer une requete GET sur "/" donc charger la page 2x
__________________
http://www.ape-project.org/ |
|
00
|
Copyright © 2000-2012 - www.developpez.com