Chapprend · PHP

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

OptionRôle
SecureEnvoi uniquement via HTTPS.
HttpOnlyEmpêche l’accès au cookie par JavaScript.
SameSiteLimite certains envois dans un contexte intersite.
expiresDé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.