Maison >développement back-end >tutoriel php >Comment transmettre l'ID de session en php
Généralement, l'ID de session unique transmis entre chaque page est utilisé, et la variable pour suivre un utilisateur. Il existe deux méthodes principales pour transmettre les identifiants de session.
La première méthode consiste à transmettre l'ID de session basé sur le cookie. Cette méthode est plus optimisée, mais elle ne peut pas être utilisée fréquemment car l'utilisateur peut bloquer leCookie
sur. le client. La deuxième méthode consiste à le transmettre via les paramètres d'URL et à intégrer l'ID de session directement dans l'URL.Dans la mise en œuvre de Session Habituellement une méthode basée sur les cookies est utilisée et l'ID de session enregistré par le client est un cookie. Lorsque le client désactive les cookies, l'ID de session ne peut pas être enregistré dans le cookie et ne peut pas être transmis entre les pages. À ce stade, la session devient invalide. Cependant, sur la plateformeRecommandations de sujets connexes : session php (y compris des images, des vidéos, des cas)
1. Transmettez l'ID de session via Cookie
Si le client n'interdit pas les cookies, utilisez la fonction session_start()Le processus de définition virtuelle de l'ID de session sur le cookiesetcookie(session_name(), session_id(), 0, '/')Le premier paramètre appelle la fonction session_name() et renvoie le nom du Session en cours comme nom d'identifiant du cookie. Vous pouvez modifier le nom de la session en cours en fournissant des paramètres lors de l'appel de la fonction session_name(). Le deuxième paramètre appelle la fonction session_id() et renvoie l'ID de session actuel comme valeur du cookie. Vous pouvez également définir l'ID de session actuel en fournissant des paramètres lors de l'appel de la fonction
. session_id()
dans le fichier php.ini. La valeur par défaut est 0, ce qui signifie que l'ID de session restera dans le cookie du client jusqu'à la fermeture du navigateur. session.cookie_lifetime
dans le php.ini. La valeur par défaut est "/", ce qui signifie que le chemin à définir dans le cookie est valable dans l'ensemble du domaine. ession.cookie_path
2. Transmettez l'ID de session via l'URL
Si le navigateur client prend en charge les cookies, enregistrez l'ID de session en tant que cookie dans le navigateur. Cependant, si l'utilisateur désactive l'utilisation des cookies, l'ID de session en tant que cookie n'existe pas dans le navigateur, les informations sur les cookies ne sont donc pas incluses dans la demande du client. Si l'ID de session en tant que cookie ne peut pas être obtenu à partir du navigateur client lorsque la fonction session_start() est appelée, un nouvel ID de session sera créé et le statut de l'utilisateur ne pourra pas être suivi. Par conséquent, chaque fois que l'utilisateur demande un script PHP prenant en charge la session, la fonction session_start() créera une nouvelle session lors de l'ouverture de la session, perdant ainsi la possibilité de suivre le statut de l'utilisateur. fournit un autre mécanisme de suivi de session en PHP. Si le navigateur client ne prend pas en charge les cookies, PHP peut réécrire l'URL de la demande du client et ajouter un ID de session au milieu de l'URL. Vous pouvez ajouter manuellement un ID de session à l'URL de chaque lien hypertexte. Cette méthode nécessite beaucoup de travail et n'est généralement pas recommandée. Le code de l'exemple est le suivant :<?php //开启 session session_start(); // 在 URL 后面附加参数,变量名为session_name()获取的名称,值为session_id()获取 echo '<a href="test.php?'.session_name().'='.session_id().'">演示</a>'; ?>
Recommandations d'apprentissage associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!