Un cookie, c’est un petit fichier que ton navigateur (Chrome, Firefox, etc.) garde en mémoire quand tu visites un site.
Il permet au site de se souvenir de toi : par exemple, si tu es connecté, la langue que tu as choisie, ou les produits dans ton panier.

Les cookies ne sont pas des virus, et ils ne donnent pas accès à ton ordinateur.
Ils servent juste à mémoriser des infos utiles pour que ta navigation soit plus fluide et personnalisée.

Tu peux les accepter, les refuser, ou les supprimer à tout moment dans les réglages de ton navigateur.

 1. Créer un cookie en PHP

Pour créer un cookie en PHP, on utilise la fonction setcookie() :

PHP :
setcookie('nom_du_cookie', $valeur, time() + $duree_en_secondes, '/');
  • nom_du_cookie : nom du cookie.

  • $valeur : sa valeur.

  • time() + n : date d’expiration (ici, le cookie sera valide pendant n secondes).

  • '/' : le chemin sur lequel le cookie est accessible (par défaut : le site entier).

Important :
Si vous ne précisez pas de date d’expiration, le cookie sera supprimé automatiquement à la fermeture du navigateur (cookie de session).

Attention à l’heure du serveur lors des manipulations de dates. Une heure système incorrecte peut provoquer des comportements inattendus !


2. Lire un cookie

Voici les différentes manières d’accéder à un cookie en PHP :

PHP
echo $_COOKIE['nom_du_cookie']; // Recommandé depuis PHP 4.1.0
echo $HTTP_COOKIE_VARS['nom_du_cookie']; // Ancienne méthode (avant PHP 4.1.0)
echo $nom_du_cookie; // Ne fonctionne que si register_globals = on (déconseillé)
Exemple :
PHP
$monCookie = 5;
setcookie('mon_cookie', $monCookie, time() + 3600, '/'); // Cookie valable 1 heure
echo $_COOKIE['mon_cookie']; // Affichera "5"

3. Supprimer un cookie

Supprimer un cookie revient à le faire expirer :

PHP 
 
setcookie('mon_cookie', '', time() - 3600, '/'); // Expiration dans le passé
 
La ligne setcookie('mon_cookie'); seule ne suffit pas. Il faut bien lui assigner une date dans le passé.

Avertissement important

Comme les cookies sont envoyés dans l’en-tête HTTP, aucune sortie HTML ne doit précéder l’appel à setcookie().
Cela s’applique comme pour header() : n’affichez rien avant (ni echo, ni espace, ni HTML).


Limites des cookies

  • Taille maximale : 4 Ko par cookie.

  • Nombre maximum : 20 cookies par nom de domaine.

  • Sécurité : Un cookie ne peut être lu que par le domaine qui l’a créé.

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.