2010-08-31 9 views

Répondre

7

Eh bien, vous avez besoin d'une petite leçon sur la technologie web en général.

Le protocole que nous utilisons, appelé HTTP, est sans état. Signifie qu'il ne suit jamais les demandes. Même si vous cliquez sur plusieurs liens sur le site, chaque requête serait nouvelle, comme s'il n'y en avait aucune précédente. Il n'y a aucun moyen de distinguer les demandes du même client. Par conséquent, si nous voulons distinguer les clients, nous devons les «marquer» d'une manière ou d'une autre. Attribuez un identifiant unique et faites-le l'envoyer avec chaque requête. Donc, votre identifiant de session est cette marque. Lorsque vous démarrez une session pour la première fois, un cookie est envoyé avec la réponse du serveur. Un bon client envoie toujours tous les cookies à chaque demande consécutive. Donc, nous pouvons reconnaître ce client.

Jetez dans un fichier du côté serveur, nommé d'après cet identifiant de session, pour stocker les données de session - et maintenant vous avez un mécanisme de session!

+0

Oui, j'en ai vraiment besoin, merci pour votre leçon. –

6

session_id()session_id() renvoie la valeur du cookie de session par le nom renvoyé par session_name(). session_id() est normalement un hachage très long qui est unique au client.

PHP pourrait mettre en œuvre en interne le réglage du cookie du client ainsi:

setcookie(session_name(), session_id()); 
0

Je vous recommande de lire le Session reference on php.net. Vous pouvez obtenir l'ID de session avec session_id(). Sa valeur est générée par PHP.