Salut,
etant donné que je me vois mal expliquer mon souci avec des mots clairs, j'essaye de faire un exemple tout con,
ci dessous un code qui poserait le probleme:
Code :
- <?//connection d'un visiteur
- //recuperation du compteur de visite
- $compteur=(SELECT compteur FROM base)
- //Incremente compteur de visite
- UPDATE base SET compteur=compteur +1
- //Si $compteur==1000 affiche yoohoo dla ballz
- if ($compteur==1000)
- echo "Dla Ballzz mec !";
- ?>
|
Le probleme que j'imagine, c'est si deux types se connectent en meme temps, ils auront tous les deux le messages... alors que seul le 1000eme visiteur aura droit au super "yoohoo dla ballz" !
Je vois les etapes du probleme comme ci dessous
en rouge la session du visiteur 1, en bleu la session du visiteur 2:
-Visiteur 1 se connecte
-$compteur=(select compteur from base)
-Visiteur 2 se connecte
-$compteur=(select compteur from base)
-Update base SET compteur=compteur+1
-Update base SET compteur=compteur+1
-Si $compteur=1000 alors afficher yoohoo supair dla balle!
-Si $compteur=1000 alors afficher yoohoo supair dla balle!
En fait le visiteur 2 s'intercale au moment ou le compteur va etre incrementé par la session du visiteur 1.
Comment on peut eviter ca ?
Message édité par Profil supprimé le 27-08-2008 à 08:54:49