Maison >développement back-end >Problème PHP >Comment définir l'identifiant de session en php
Comment définir l'ID de session en PHP : créez d'abord un exemple de fichier PHP ; puis définissez l'ID de session via l'instruction "session_id("...");session_start();"
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
php session_id() obtient ou définit l'ID de session de session
La fonction php session_id() peut obtenir ou reconfigurer l'ID de la session actuellement stockée. Cet article présente le processus de génération de session et le contenu de session_id pour restaurer la session. Les amis dans le besoin peuvent s'y référer.
introduction de la fonction session_id()
session_id() obtient ou définit l'ID de session
Syntaxe :
string session_id(string [id]);
S'il n'y a pas d'identifiant de paramètre, cela signifie que seul le code de session actuel est obtenu. L'ajout du paramètre signifie définir le code de session sur l'identifiant nouvellement spécifié. L'entrée et le retour sont tous deux des chaînes.
Si l'ID du paramètre n'est pas défini, cela signifie obtenir l'ID de session, sinon cela signifie définir la session sur l'ID nouvellement spécifié.
Remarque : les identifiants sont tous sous forme de chaîne.
instance session_id()
Obtenir l'ID de session
<?php session_start(); echo session_id(); // 输出 urles147jbrq3u50b0l6f8hvf0 ?>
Définir l'ID de session
<?php session_id("ilovemanongjc.com"); session_start(); /* http://www.manongjc.com/article/1260.html */ echo session_id(); // 输出 ilovemanongjc.com ?>
Introduction au processus de génération de session
Un visiteur de votre site Web se verra attribuer un identifiant unique, qui est ce que l'on appelle l'identifiant de session. Cet identifiant peut être stocké dans. l'utilisateur Dans un cookie à la fin, il peut également être transmis via l'URL. La session de session est utilisée pour suivre la session de chaque utilisateur et est identifiée par le SessionID généré par le serveur pour distinguer l'utilisateur. La session est stockée dans la mémoire du serveur et SessionID est stocké dans la mémoire du serveur et dans le cookie du client. De cette manière, lorsque l'utilisateur fait une requête, le serveur compare le SessionID enregistré dans le cookie de l'utilisateur avec le SessionID dans la mémoire du serveur pour trouver la Session correspondant à l'utilisateur à exploiter. Ainsi, si le client désactive les cookies, la Session ne pourra pas être utilisée.
Comment l'ID de session php est-il généré ? Introduction à l'algorithme de génération d'identifiant de session par défaut de PHP
En prenant le code source de php5.3.6 comme exemple, entrez dans le répertoire /ext/session. La fonction pour générer l'identifiant de session se trouve à la ligne 345 du fichier session.c. Le prototype de la fonction du langage C est le suivant :
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);
[Apprentissage recommandé : Tutoriel vidéo PHP ]
session_id Comment restaurer le contenu d'une session
Les sessions PHP peuvent être restaurées par programme, ce qui est différent de Java. Le mécanisme de récupération de session peut réaliser le partage de plusieurs sessions d'application, car les sessions PHP sont stockées sous forme de fichiers ou de bases de données. Tout d'abord, le session_id est obtenu via la fonction session_id(), et cette valeur peut être transmise.
Lorsque le programme restaure la session, vous devez d'abord connaître le session_id. Vous pouvez savoir grâce au manuel que la session est restaurée via session_id($id); Pour obtenir le contenu de la session précédente, vous devez démarrer session_start () et exécuter session_id($id) avant, afin de pouvoir restaurer le contenu précédent lors de l'initialisation de la session lorsque session_start est exécuté. Sinon, vous obtiendrez une session vide et. vous n'obtiendrez rien. La session a été réinitialisée auparavant. Ceci est étroitement lié à la fonction de session_start(), car session_start indique à PHP que la session doit être initialisée et que le contenu de la session doit être désérialisé à partir du fichier de session, donc la fonction de session_start est de désérialiser le contenu du fichier précédemment stocké. Vous devez connaître le session_id avant la sérialisation de session_start. Sinon, générez un nouveau session_id. Si tel est le cas, désérialisez le contenu du fichier correspondant.
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!