Utiliser les sessions et les cookies en PHP

Apprendre le PHP - 05 - Variables de session et cookies

À propos de ce tutoriel

Dans cette article, nous allons découvrir ce qu’est une session en PHP, ce que sont les cookies et comprendre tout leur intérêt.

Présentation des sessions PHP

Une session en PHP correspond à une façon de stocker des données différentes pour chaque utilisateur en utilisant un identifiant de session unique.

PHP nous donnes accès à la variable superglobale $_SESSION pour manipuler les sessions. Il s’agit d’un tableau associatif accessible au script courant.

Un des grands intérêts des sessions est qu’on va pouvoir conserver des informations pour un utilisateur lorsqu’il navigue d’une page à une autre. 

Les données d’une session sont sauvegardés jusqu’à la fermeture du navigateur de l’utilisateur. Il faut savoir que les informations de sessions sont enregistrés côté serveur et non sur l’ordinateur de l’utilisateur ce qui est beaucoup plus sûres que les cookies.

En PHP une session démarre dés que la fonction session_start() est appelée et se termine en général dès que la fenêtre courante du navigateur est fermée.

Démarrer une session en PHP

Pour démarrer une session en PHP il faut utiliser la fonction session_start() avant tout autre opération dans nos pages.

Il sera ensuite possible d’utiliser nos variables de sessions.

<?php
session_start();
$session_id = session_id();
?>

<!DOCTYPE html>
<html lang="fr">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mon site</title>
</head>

<body>
<?= "L'ID de ma session est le suivant : " . $session_id ?>
</body>

</html>

Définir et récupérer des variables de session

Pour définir une variable de session il faut utiliser la variable superglobale $_SESSION, il s’agit d’un tableau associatif.

<?php
session_start();
$_SESSION['pseudo'] = "Pentiminax";

echo $_SESSION['pseudo']; // Affiche "Pentiminax".

Présentation des cookies

Un cookie est un petit fichier qui contient une petite quantité de données tel que un pseudo, un âge, des préférences utilisateur.

Les cookies vont être stockés sur les ordinateurs de vos visiteurs. Ainsi, à tout moment, un utilisateur peut lui même supprimer les cookies de son ordinateur.

Créer un cookie en PHP

Pour créer un cookie en PHP, nous allons utiliser la fonction setcookie().

Dans l’exemple ci-dessous nous allons créer un cookie ayant pour clé « Pseudo » et pour valeur « Pentiminax avec une durée de vie de 1 heure.

<?php

setcookie("pseudo", "Pentiminax", time() + 3600);

Apprendre PHP par la pratique