PHP · FICHE DE RÉVISION
Les cookies
Mémoriser une préférence dans le navigateur.
Le trajet d’un cookie
Le serveur demande au navigateur de conserver une valeur via un en-tête HTTP. Le navigateur la renvoie ensuite dans les requêtes concernées. PHP expose les valeurs reçues dans $_COOKIE.
Créer, lire et supprimer
PHP
setcookie("theme", "sombre", [
"expires" => time() + 30 * 24 * 3600,
"path" => "/",
"secure" => true, // pour un site servi en HTTPS
"httponly" => true,
"samesite" => "Lax",
]);
$theme = $_COOKIE["theme"] ?? "clair";
// Suppression : conserver le même chemin et domaine.
setcookie("theme", "", ["expires" => time() - 3600, "path" => "/"]);Connaître les limites
| Option | Rôle |
|---|---|
| Secure | Envoi uniquement via HTTPS. |
| HttpOnly | Empêche l’accès au cookie par JavaScript. |
| SameSite | Limite certains envois dans un contexte intersite. |
| expires | Définit la durée de vie. |
Un cookie est une donnée côté client : son contenu n’est pas une preuve d’autorisation. Ne pas y placer un mot de passe. Le cours distingue les cookies nécessaires au service des cookies de suivi.
Le cookie créé est-il immédiatement ajouté à $_COOKIE ?
Non : $_COOKIE décrit les cookies reçus dans la requête actuelle. Le navigateur renverra la nouvelle valeur ultérieurement.