20-04-2007, 10:34 PM
Non, si tu appuies plusieurs fois (ou si tu le simules avec un programme), le script va s'exécuter plusieurs fois.
Dans la majorité des cas (cad si l'on n'utilise pas de gestionnaire de session personnalisé), les executions vont être sérialisées, car php pose un verrou sur le fichier de session (voir doc)
Cela n'empêche pas par contre un joueur d'ouvrir plusieurs sessions...
Il y a 3 solutions
- empêcher un joueur d'ouvrir plusieurs sessions (solution pas propre car repose sur le comportement implicite du gestionnaire de session de php)
- utiliser les transactions (innodb) (solution idéale)
- simuler des transactions en posant des verrous (avec get_lock par exemple ; solution moyenne mais rapide à mettre en oeuvre)
Dans la majorité des cas (cad si l'on n'utilise pas de gestionnaire de session personnalisé), les executions vont être sérialisées, car php pose un verrou sur le fichier de session (voir doc)
Cela n'empêche pas par contre un joueur d'ouvrir plusieurs sessions...
Il y a 3 solutions
- empêcher un joueur d'ouvrir plusieurs sessions (solution pas propre car repose sur le comportement implicite du gestionnaire de session de php)
- utiliser les transactions (innodb) (solution idéale)
- simuler des transactions en posant des verrous (avec get_lock par exemple ; solution moyenne mais rapide à mettre en oeuvre)