JeuWeb - Crée ton jeu par navigateur
[PHP] Pour quelles raisons un INSERT peut être executé 2 fois ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Pour quelles raisons un INSERT peut être executé 2 fois ? (/showthread.php?tid=5660)

Pages : 1 2 3 4


RE: Pour quelles raisons un INSERT peut être executé 2 fois ? - php_addict - 17-09-2011

(17-09-2011, 01:44 PM)Ter Rowan a écrit : ça me semble plus cohérent, et peut être y a t il des deltas parfois

oui effectivement...qu'est ce que tu nommes "deltas" ?


RE: Pour quelles raisons un INSERT peut être executé 2 fois ? - Ter Rowan - 17-09-2011

(17-09-2011, 06:59 PM)php_addict a écrit : qu'est ce que tu nommes "deltas" ?

et bien, en supposant que tu n'aies aucune erreur dans ton code (pas d appel en double, etc...)
le problème viendrait de la condition qui détecte l'écart de temps

peut être que dans ce cas, il arrive que time soit parfois supérieur à microtime à un instant donné (ce que je nomme "delta")

ça se trouve c'est aussi une question d'arrondi, ou encore de transtypage. Tu as vérifié que $_SESSION['submit_microtime'] ne passait pas à un moment où à un autre par une chaine de caractère ou autre ?


à mon sens, soit il y a un problème ailleurs dans ton code, soit il y a un problème d'arrondi, soit le temps que tu passes avant ton if est suffisamment significatif pour que le script ait le temps de se lancer deux fois avant d'arriver à modifier la valeur en session.

sur ce dernier point, est ce que le fichier de session est mis à jour dès l'instruction de $_SESSION['submit_microtime']=microtime(true); ou bien à la fin du script ?

ce ne sont que des idées comme ça, je n'ai jamais été confronté à ce type de problème


RE: Pour quelles raisons un INSERT peut être executé 2 fois ? - php_addict - 18-09-2011

bon merci pour tout ces conseils

je crois que je vais régler le probleme autrement:

j'ai une table qui liste toutes les actions chronologiquement (voir http://www.jeuweb.org/showthread.php?tid=6242)

je vais rajouter une action "demande de construction" pour profiter au mieux des critères ACID . Cela sera une action à résoudre qui sera résolue immédiatement.

je vous tiens au courant

bon week end