2010-01-25 4 views
5

j'étais habitué nommer mes variables de session comme « normale », comme un peu quand je veux garder une trace des détails de l'utilisateur, je les ai nom:meilleures pratiques en matière de nommage des variables de session

  • $_SESSION['username']
  • $_SESSION['email']
  • $_SESSION['id']

Je suis inquiet qu'ils peuvent être en conflit avec d'autres données de session lorsque je navigation sur des sites dans le même navigateur, ou il y pas de conflit du tout (une fois j'ai essayé d'exécuter simultanément deux de mes projets avec les mêmes variables de session, résidant dans le même serveur, et évidemment, les choses se sont vraiment mal passées).

Répondre

11

Toutes les données de session sont stockées sur le serveur. Tout le navigateur a un cookie qui référence la session sur le serveur. Il ne peut pas y avoir de conflit de nommage pour cette raison, et aussi parce que la portée de nommage des cookies est basée sur le domaine.

+0

Je voulais juste écrire une réponse folle, mais j'ai alors réalisé que vous aviez raison. C'est ce qu'il voulait savoir. +1 – Franz

2

Tenir compte les placer dans un sous-tableau lié à votre application:

$_SESSION['myapp']['username'] 
$_SESSION['myapp']['id'] 

Cela devrait considérablement aider à éviter les conflits.

EDIT: J'ai mal lu votre question, Luca Matteis a votre réponse. Ma solution ci-dessus serait d'éviter vos multiples applications sur le même conflit de session de domaine.

+0

J'ai fait la même erreur, mais ce n'est pas ce qu'il voulait savoir ... – Franz

+0

Vous avez raison, j'ai mis à jour ma réponse. Merci. – nortron

Questions connexes