BRE03

Les sessions en PHP

Les contenus du cours BRE03 Web Dev Course © 2024 par Mari Doucet sont sous licence CC BY-NC-SA 4.0

À quoi sert la session ?

Après $_GET et $_POST nous allons maintenant manipuler une nouvelle variable superglobale : $_SESSION.

La session sert à créer et stocker des variables, côté serveur qui sont disponibles dans tous les fichiers de votre site.

C’est très utile par exemple, pour gérer la connexion sur un site, et c’est comme ça que nous allons principalement l’utiliser.

Démarrer une session

Avant de faire quoi que ce soit dans votre index.php, y compris avant les require, il va falloir démarrer une session. Pour cela on utilise une fonction mise à notre disposition par PHP :

session_start();

Stocker des informations

$_SESSION est une superglobale dans laquelle vous pouvez stocker ce que vous voulez, il suffit de créér une nouvelle clé dans le tableau associatif.

$_SESSION["user"] = "John Doe";

vous pouvez stocker toute sorte de données, y compris des objets.

$user = new User("John", "Doe");

$_SESSION["user"] = $user;

Ceci dit pour des questions de performance, essayez de réduire ce que vous stockez. Stocker une chaine de caractère est plus économe que de stocker un objet complet.

Lire des informations

$_SESSION est un tableau associatif, vous pouvez donc lire les données comme vous le feriez pour un tableau associatif classique.

$_SESSION["first_name"] = "John";
$_SESSION["last_name"] = "Doe";

echo $_SESSION["first_name"]; // John
echo $_SESSION["last_name"]; // Doe

Stopper une session

Lorsque vous n’avez plus besoin de votre session (par exemple si votre utilisateur se déconnecte), vous allez utiliser la fonction session_destroy();.

session_destroy();

Combien de temps dure une session ?

En théorie, si on utilise pas session_destroy(), une session dure 180 minutes (3 heures) mais en pratique cela dépend de la configuration de votre serveur.

Exercices sur les sessions

Exercices sur les sessions