Découverte du langage PHP
< Programmation PHP
: Accueil du site
Vous êtes ici : Les sessions
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.
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 :
<?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 :
$_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 :
<?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) :
<?php
session_start();
echo $_SESSION['info'];
?>
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 :
<?php
session_start();
session_destroy();
echo 'Session supprimée';
?>