📘 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
<?php
setcookie("utilisateur", "Alice", time() + 3600, "/");
echo "Cookie 'utilisateur' créé pour 1 heure.";
<?php
if (isset($_COOKIE['utilisateur'])) {
    echo "Bonjour " . $_COOKIE['utilisateur'];
} else {
    echo "Aucun cookie trouvé.";
}
<?php
setcookie("utilisateur", "", time() - 3600, "/");
echo "Cookie 'utilisateur' supprimé.";

Étape 4 : Test

  1. Lancer creer_cookie.php dans votre navigateur.
  2. Vérifier avec lire_cookie.php que le message s’affiche.
  3. 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).