(03-12-2008, 12:06 PM)Seren a écrit : Il ne faut surtout pas stocker une variable qui pourrait être modifier par une action d'un autre utilisateur.
(03-12-2008, 11:32 AM)Anthor a écrit : La session ne reste pas... Ce n'est pas fait pour stocker, c'est uniquement fait pour transposer une variable, ou un objet d'une page à une autre.Tout ça est stocké en base de données ^^
Tu fais quoi qd le joueur laisse sa session expirer, tu lui redonnes 6 points d'action ?
Ce n'est pas fait non plus pour bannir un utilisateur, vous faites peur quand même avec vos solutions a la mort moi le noeud...
J'ai du mal expliquer le principe du cache et des mises à jours de session.
En gros:
J'ai un bête système qui permet de bannir un joueur. Ça modifie mon champ SQL "ban" dans ma table player_tbl. Ça crée un fichier qui indique au joueur banni qu'il doit rafraichir sa session. En rafraichissant sa session, $_SESSION['ban'] passe de 0 à 1 par exemple.
J'utilise ce système à grande échelle. Dés qu'une donnée d'un joueur est modifiée par un utilisateur autre que lui, le système provoque le rafraichissement de la session du joueur (avant toute action dans la page). Ce qui fait que les données de la session sont toujours fidèles à celles qui se trouvent dans la base de données. L'avantage étant que je ne dois pas faire de vérification sql.
Personnellement, je considère ces données comme fiables.
Ps: Le message de Keke était super intéressant, et j'avoue que son premier PS m'a fait sourire! C'est justement de traquer les bugs et les fixer qui est le plus marrant et le plus enrichissant :p (le coup de la double connexion)