
La fonction setcookie() permet de faire tout ce que vous voulez avec les cookies : les créer, les modifier et les supprimer.
Comment utiliser la fonction setcookie() en PHP
La fonction setcookie() utilise plusieurs arguments pour configurer vos cookies :
- nom : c'est le nom que vous attribuez à votre cookie, il peut être différent du nom de votre site.
- valeur : c'est ce que contient votre cookie, cela peut être un pseudo, une date...
- expiration : c'est la durée de vie de votre cookie, elle peut être d'un jour, d'un mois comme d'un an !
- chemin : il permet de définir dans quelles parties de votre site vous voulez utiliser le cookie, par exemple :
/admin/(admin étant le nom d'un répertoire sur votre serveur). - domaine : c'est le domaine de votre site, par exemple :
toophp.free.fr. - sécurité : s'il a la valeur 1, il ne sera transmis que si la connexion est sécurisée par SSL ou HTTPS, sinon il prend la valeur 0.
Créer un cookie en PHP : exemples pratiques
Créer un cookie valable 24 heures
Pour savoir si un visiteur a déjà visité votre site :
setcookie("toophpvisite", "oui", time() + 3600 * 24, "/", "toophp.free.fr", 0);
Créer un cookie avec une date d'expiration fixe
Pour créer un cookie qui s'effacera le 1er janvier 2002 :
setcookie("nom", "valeur", mktime(0, 0, 0, 1, 1, 2002), "/", "toophp.free.fr", 0);
Règle importante : placer setcookie() avant le HTML
Attention : Vous devez créer les cookies avant tout envoi de données HTML. La fonction setcookie() doit être placée avant la balise <html>.
Comment récupérer la valeur d'un cookie
C'est très simple ! Dès qu'un visiteur ayant un cookie de votre site navigue sur vos pages, le cookie est automatiquement ouvert et vous pouvez récupérer son contenu dans vos scripts.
Par exemple, si votre cookie s'appelle « pseudo » et que sa valeur est « Superman », vous pouvez utiliser :
echo "Bonjour " . $_COOKIE['pseudo']; // Affiche : Bonjour Superman
Supprimer un cookie en PHP
Pour supprimer un cookie, il suffit d'utiliser la fonction setcookie() avec seulement l'argument nom :
setcookie("toophpvisite");
Site de l'auteur de cet article : http://toophp.free.fr