📘 Chapitre 4 – Manipuler des cookies en PHP
1. 🎯 Objectif pédagogique
Savoir créer, lire et supprimer des cookies en PHP afin de stocker temporairement des informations côté client et personnaliser l’expérience utilisateur.
2. 📚 Concepts abordés
- Qu’est-ce qu’un cookie ? (stockage de données côté navigateur)
- Fonction
setcookie()
en PHP - Lecture des cookies via la superglobale
$_COOKIE
- Expiration et suppression d’un cookie
- Bonnes pratiques : sécurité, confidentialité, durée de vie limitée
3. 🧠 Explication théorique
Un cookie est un petit fichier texte envoyé par le serveur et stocké sur le navigateur de l’utilisateur. En PHP, on le crée avec :
setcookie("nom", "valeur", time() + 3600, "/");
time() + 3600
: le cookie expire après 1 heure./
: le cookie est disponible sur tout le site.
Pour lire un cookie :
echo $_COOKIE["nom"];
Pour le supprimer, on définit une date d’expiration passée :
setcookie("nom", "", time() - 3600, "/");
Note importante :
setcookie()
doit être appelé avant tout envoi de contenu HTML.
4. 🛠 Tutoriel pratique
Résumé du travail : Créer un cookie utilisateur
et afficher son contenu sur une autre page.
Arborescence projet :
cookies/
├── creer_cookie.php
├── lire_cookie.php
└── supprimer_cookie.php
Étape 1 : Créer un cookie
<?php
setcookie("utilisateur", "Alice", time() + 3600, "/");
echo "Cookie 'utilisateur' créé pour 1 heure.";
Étape 2 : Lire le cookie
<?php
if (isset($_COOKIE['utilisateur'])) {
echo "Bonjour " . $_COOKIE['utilisateur'];
} else {
echo "Aucun cookie trouvé.";
}
Étape 3 : Supprimer le cookie
<?php
setcookie("utilisateur", "", time() - 3600, "/");
echo "Cookie 'utilisateur' supprimé.";
Étape 4 : Test
- Lancer
creer_cookie.php
dans votre navigateur. - Vérifier avec
lire_cookie.php
que le message s’affiche. - Supprimer avec
supprimer_cookie.php
.
5. 🧾 Résumé et points-clés
setcookie()
doit être appelé avant tout HTML.- Les cookies permettent de conserver des informations entre deux visites.
- Utiliser
$_COOKIE
pour lire les données stockées. - Les cookies ne doivent jamais contenir d’informations sensibles en clair (préférer des hashes ou des tokens).