La session est un moyen plus sécurisé pour les clients de communiquer avec le site Web (serveur). Une fois la session ouverte, la session peut être utilisée (maintenue) sur n'importe quelle page du site Web, établissant ainsi un mécanisme de « dialogue » entre le visiteur et le site Web.
Les variables de session stockent des informations pour un seul utilisateur et sont disponibles pour toutes les pages de l'application.
Variables de session PHP
Lorsque vous travaillez avec une application sur votre ordinateur, vous l'ouvrez, apportez des modifications, puis la fermez. Cela ressemble beaucoup à une conversation. L'ordinateur sait qui vous êtes. Il sait quand vous ouvrez et fermez des applications. Cependant, sur Internet, un problème se pose : comme les adresses HTTP ne peuvent pas conserver leur état, le serveur Web n'a aucune idée de qui vous êtes et de ce que vous faites.
La session PHP résout ce problème en stockant les informations utilisateur sur le serveur pour une utilisation ultérieure (telles que le nom d'utilisateur, les articles achetés, etc.). Cependant, les informations de session sont temporaires et seront supprimées une fois que l'utilisateur quittera le site. Si vous devez stocker des informations de manière permanente, vous pouvez stocker les données dans une base de données.
Le panier d'achat en ligne commun est une application typique de la session. Lorsque nous réservons des produits, nous mettons les produits sélectionnés dans le panier, ce qui ouvre effectivement une session pour le produit. Si une commande est passée pour le produit sélectionné, les informations correspondantes seront écrites dans la base de données ; si aucune commande n'est finalement passée, la session sera fermée lorsque l'utilisateur fermera le navigateur ou se déconnectera, et le produit sélectionné deviendra invalide.
La session créera un identifiant de session unique pour chaque visiteur qui ouvre la session afin d'identifier l'utilisateur. L'ID de session peut être stocké dans un cookie sur l'ordinateur de l'utilisateur ou il peut être transmis via l'URL. La valeur de session spécifique correspondante sera stockée côté serveur, ce qui constitue également la principale différence avec les cookies, et la sécurité est relativement élevée.
Démarrer une session PHP
Avant de pouvoir stocker des informations utilisateur dans une session PHP, vous devez d'abord démarrer la session.
Utilisez la fonction session_start() pour ouvrir une session, et le système attribuera un identifiant de session
Remarque : La fonction session_start() doit être située avant la balise <html> 🎜>
<?php session_start(); ?>
> >
Le code ci-dessus enregistrera la session de l'utilisateur avec le serveur afin que vous puissiez commencer à enregistrer les informations utilisateur et attribuer un UID à la session de l'utilisateur.
Stockage des variables de session
<?php session_start(); // 存储 session 数据 $_SESSION['views']=1; ?> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php // 检索 session 数据 echo "浏览量:". $_SESSION['views']; ?> </body> </html>Sortie : Vues : 1
Dans l'exemple ci-dessous, nous créons un simple compteur de pages vues. La fonction isset() détecte si la variable "views" a été définie. Si la variable "views" a été définie, nous incrémentons le compteur. Si "views" n'existe pas, créez la variable "views" et définissez-la sur 1 :
<?php session_start(); if(isset($_SESSION['views'])) { $_SESSION['views']=$_SESSION['views']+1; } else { $_SESSION['views']=1; } echo "浏览量:". $_SESSION['views']; ?>
Destroy Session
Si vous Si vous souhaitez supprimer certaines données de session, vous pouvez utiliser la fonction unset() ou session_destroy(). La fonction
unset() est utilisée pour libérer la variable de session spécifiée :
<?php session_start(); if(isset($_SESSION['views'])) { unset($_SESSION['views']); } ?>
Vous pouvez également détruire complètement la session en appelant la fonction session_destroy() :
<?php session_destroy(); ?>
Note : session_destroy() La session sera réinitialisée et vous perdrez toutes les données de session stockées.
session_id
La session est utilisée pour suivre la session de chaque utilisateur et est identifiée à l'aide du SessionID généré par le serveur pour distinguer les utilisateurs. 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 demande, le serveur compare le SessionID enregistré dans le cookie de l'utilisateur avec le SessionID dans la mémoire du serveur, trouvant ainsi la Session correspondant à l'utilisateur à exploiter. Ainsi, si le client désactive les cookies, la Session ne pourra pas être utilisée.