Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.
Dans ce tutoriel, nous abordons les COOKIES en PHP.
$_COOKIE
Un cookie est un fichier petit fichier texte que l'on stocke sur le poste du visiteur.
Exemple :
Vous stockez le pseudo du visiteur. Lorsqu'il revient sur votre site, vous pouvez lire dans le cookie et lui afficher "Bonjour votre_pseudo".
Contrairement à certaines légendes, les cookies sont totalement inoffensifs, ce ne sont pas des virus ou troyens ou je ne sais quoi !
La fonction PHP qui permet d'écrire un cookie est setcookie qui signifie Placer un cookie en français.
setcookie (string nom, string valeur, string expiration, string chemin, string domaine, string securise)
On utilise généralement les 3 premiers paramétres en respectant l'ordre:
Vour remarquez que le 3éme paramétre définit la durée de vie pour du cookie, aprés celui ci sera supprimé.
Exemple d'un cookie qui a une durée de vie de 1 an
time() + 365*24*3600 // Timestamp actuel + Nb de secondes dans un an
Comme pour session_start que nous avons vu dans l'article précédent, setcookie doit être placé avant votre code HTML.
Placer le avant la balise <!DOCTYPE>
Exemple
Créer 2 cookies: Un qui retient mon nom et un autre qui retient mon prénom.
<?php
$timestamp = time() + 365*24*3600; // Le cookie a une durée de vie de 1an
setcookie('Nom', 'Lambert', $timestamp); // On écrit un cookie
setcookie('Prenom', 'Christophe', $timestamp); // On en écrit un autre cookie...
// Vous remarquez que tout est bien noté avant le début du code HTML
?>
$_COOKIE['Nom_cookie']
PHP va lire l'information stockée dans le cookie du visiteur.
Ces informations sont placées dans la superglobale $_COOKIE, sous forme d'array (tableau)
<?php
echo "Bonjour " .$_COOKIE['Nom'] ." " .$_COOKIE['Prenom']; // Afficher les cookies
// Ancienne syntaxe pour afficher un cookie, elle est obsoléte
echo $HTTP_COOKIE_VARS["Nom"];
?>
Si je veux maintenant modifier mon prénom :
<?php
setcookie('Prenom', 'Cristobal', $timestamp);
?>
Sous Firefox :
Aller dans le menu Outils > Options > Vie privée > Supprimer des cookies spécifiques
Sous Internet Explorer et Windows :
La procédure est un peu plus longue, je vous invite à consulter cet article.
Pour supprimer un cookie, Il suffit de déclarer le cookie sans mettre de valeur
setcookie("Nom_cookie")
<?php
// Pour supprimer le cookie Nom
setcookie("Nom");
?>