Une variable de session est une variable stockée dans un tableau superglobal de PHP, et qui est disponible tout le temps que va durer la session. Elle sera accessible en lecture/écriture par tous les scripts d'une même session : tous les scripts déclenchés sur le même site par un mêm utilisateur et qui font appel à la fonction session_start().

### Créer des variables

Pour créer une variable de session, il suffit d'affecter une valeur à une clé du tableau superglobal $_SESSION.

N'importe quel type de valeur pouvant être stockée dans un tableau peut être stocké dans $_SESSION, sauf les types ressources (pointeur sur un fichier, connexion à une base de données, etc).

N'oubliez pas de démarrer la session avec session_start()

Exemple : créer des variables de session
<?php ob_start(); session_start(); require('bib_fonctions.php'); htmlDebut('Créer des variables session'); htmlInfo('Identifiant de session'); echo session_id(); // Création de 4 variables de session $_SESSION['Nom'] = 'Piat'; $_SESSION['Prenom'] = 'François'; $_SESSION['Notes'] = array(10, 8, 12); $_SESSION['Compteur'] = 0; htmlInfo('Variables de session créées'); htmlFin(); ?>

### Récupèrer les variables de session

Pour lire les valeurs des variables de session, il suffit de connaître leur nom que l'on utilise comme clé du tableau $_SESSION.

L'exemple suivant va lire les variables de session définies dans l'exemple précédent.

N'oubliez pas de démarrer la session avec session_start()

Exemple : récupérer des variables de session
<?php ob_start(); session_start(); require('bib_fonctions.php'); htmlDebut('Récupérer des variables session'); htmlInfo('Variable Nom'); echo $_SESSION['Nom']; htmlInfo('Variable Prenom'); echo $_SESSION['Prenom']; htmlInfo('Variable Notes'); infoTableau($_SESSION['Notes']); htmlInfo('Variable Compteur'); echo $_SESSION['Compteur']; htmlFin(); ?>

### Modifier les variables de session

Pour modifier la valeur d'une variable de session, il suffit de modifier l'élément dans le tableau superglobal $_SESSION.

L'exemple suivant ajoute des notes dans le tableau Notes et incrémente Compteur. Cliquez plusieurs fois de suite le bouton "Tester" pour voir les modification des valeurs des variables.

N'oubliez pas de démarrer la session avec session_start()

Exemple : modification de variables de session
<?php ob_start(); session_start(); require('bib_fonctions.php'); htmlDebut('modification de variables de session'); $_SESSION['Compteur'] ++; $note = array_rand(range(0, 20)); $_SESSION['Notes'][] = $note; htmlInfo('Vous avez vu la page'); echo $_SESSION['Compteur'], ' fois'; htmlInfo('Notes'); infoTableau($_SESSION['Notes']); htmlFin(); ?>

### Supprimer une variable de session

Supprimer une variable de session se fait exclusivement avec la fonction unset() appliquée sur l'élément du tableau $_SESSION.

L'exemple suivant supprime la variable de session Compteur.

N'oubliez pas de démarrer la session avec session_start()

Exemple : supprimer une variable de session
<?php ob_start(); session_start(); require('bib_fonctions.php'); htmlDebut('Supprimer une variable de session'); unset($_SESSION['Compteur']); htmlInfo('Contenu du tableau $_SESSION'); infoTableau($_SESSION); htmlFin(); ?>