Tous niveaux

Tutoriel écrit par Rafael Guglielmetti
Ecrit le 04 Sep 2005 - modifié le 14 Nov 2006
Les sessions sont un moyen de stocker des informations relatives au visiteur. La différence entre les sessions et les cookies est que les cookies sont stockés sur le poste du visiteur tandis que les sessions sont dans des fichiers présents sur le serveur. Elles permettent de stocker des types de données simples (texte, nombres, …) mais pas de ressources comme des images ou bdd.
Cela permet de stocker des informations sur le visiteur et de manière transparente, c'est-à-dire qu'elles n'apparaissent pas dans l'url ou dans des champs cachés. Un moyen formidable de confidentialité à ne pas manquer !!
Sommaire :
PHP Session - Comment fonctionne une session ?
Les informations sont stockées dans des fichiers, sur le serveur, à chaque session correspond un fichier. Chaque session est désignée par un nom et un identifiant. Lorsque le visiteur accepte les cookies, l'identifiant de la session est stocké dans un cookie, dans le cas contraire, il existe un autre moyen de stocker l'identifiant. Normalement, la session est détruite ou à la fermeture du navigateur, ou au bout de 30 minutes. Cette valeur peut être modifiée dans le fichier php.ini du serveur.
Des exemples
Nous allons voir comment utiliser les sessions dans une suite d'exemple et de bouts de code.
PHP Session - Demarrer une session
Syntaxe :
<?php session_start(); ?>
|
Ce code permet de demarrer une session. Si un fichier existe sur le serveur pour cette session, les variables de sessions seront récupérées, si ce n’est pas le cas, un nouveau fichier sera créé.
Notez que code est à placé tout au début de votre page, avant tout code HTML, car la session ne peut etre demarrer que si le cache du navigateur est vide.
Créer une variable de session :
Les variables de sessions sont accessibles, une fois que la sessions est démarrée, via un tableau
super global : $_SESSION
<?php $_SESSION['variable'] = $valeur ; ?>
|
Nous créons ici une variable de session nommée variable qui vaut $valeur
Savoir si une variable de session existe
Pour savoir si la variable de session variable existe, il suffit de faire
<?php if(isset($_SESSION['variable']))
echo 'La variable "variable" existe !'; ?>
|
PHP Session - Utiliser la valeur d’une variable de session
Si vous voulez utiliser la valeur d’une variable de session, vous devez passez par $_SESSION
<?php if(isset($_SESSION['variable']))
echo 'La variable "variable" existe et vaut: ' . $_SESSION['variable'];
?>
|
PHP Session - Supprimer une variable de session
Pour supprimer une variable de session, il faut utiliser unset()
<?php unset($_SESSION['variable']);
echo 'La variable de session "variable" est maintenant détruite';
?>
|
PHP Session - Détruire toutes les variables de session
La fonction session_unset() détruit toutes les variables de session.
Syntaxe :
|
<?php session_unset(); ?>
|
PHP Session - Détruire une session
La fonction session_destroy() permet de détruire une session.
Syntaxe :
|
<?php session_destroy(); ?>
|
La session doit être déclarée dans le code tout en haut de votre page car le cache du navigateur doit être vide pour démarrer une session. Donc aucun code HTML avant le démarrage d'une session !!