Les sessions

Catégorie Découverte du langage PHP < Programmation PHP : Accueil du site

Vous êtes ici : Les sessions

Publié par Mikiman

Nous allons, dans cet article, étudier l'utilisation et le fonctionnement des sessions.
Les sessions permettent de passer des variables en cache durant toute la durée de la visite d'un visiteur.

Nous avons vu, jusqu'ici, des variables fonctionnant uniquement sur la page même. Les sessions permettent de rendre accessible des variables sur toutes les pages du site.
L'enregistrement se fait durant toute la visite.

Fonctionnement des sessions


Pour que les sessions marchent, il faut absolument avoir la fonction session_start(); déclaré en haut de la page.
Aucun code xHtml ne doit être placé avant cette fonction sans quoi une erreur sera affichée.

Toutes les pages utilisant des variables de sessions doivent avoir cette fonction en haut de la page.
Voici comment déclarer cette fonction :

Code source :

<?php
session_start
();
?>


Je le répète car s'est très important : aucun code xHtml ne doit être placé avant l'ouverture de cette fonction.

Maintenant que nous avons ouvert les sessions pour la page, nous pouvons travailler tranquillement à l'aide des variables de sessions.
Les variables de sessions se forment à l'aide de la structure suivante :

Code source :

$_SESSION['nom_de_la_variable']



Cette variable sera disponible sur toutes les pages du site ayant une ouverture aux sessions.
Notons que ses variables peuvent être déclaré et utilisée n'importe où dans le code de la page.

Voici un exemple d'utilisation des variables de sessions :

Code source :

<?php
session_start
();

$_SESSION['info'] = 'Web-Documentation';
?>


Dans cet exemple on vient de créer une variable de session du nom de "info" qui est disponible dans toutes les pages ayant une connexion aux sessions.

Imaginons maintenant que l'on est sur une autre page (toujours sur le même site) : page2.php.
Ce code fonctionnera sans problème (à condition d'être passé sur l'autre page qui contient la déclaration de la variable) :

Code source :

<?php
session_start
();
echo 
$_SESSION['info'];
?>



Détruire une session


Pour détruire une session on va utiliser la fonction : session_destroy().
Comme pour session_start(), cette fonction doit être placée en haut de page sans code xHtml avant.

Exemple :

Code source :

<?php
session_start
();
session_destroy();
echo 
'Session supprimée';
?>