Je comprends la chose $_SESSION
et je l'utilise, mais ce qu'est vraiment session_id et qu'est-ce que ça donne? Je ne comprends pas, pouvez-vous me donner un coup de main? Je vous remercie.Qu'est-ce que c'est réellement php session_id?
Répondre
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!
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());
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.
Oui, j'en ai vraiment besoin, merci pour votre leçon. –