Php : Les cookies

Introduction

Un cookie en PHP permet de stocker des informations sur l'ordinateur du visiteur. Ces informations peuvent  ensuite être récupérés sur les autres pages du site. La plupart des navigateurs permettent de refuser l'utilisation des cookies.

Attention

Un cookie peut être modifié par un utilisateur "avertis" ou même malveillant, il ne faut donc pas utiliser les cookies comme seule technique pour un système d'authentification. (Utilisez les sessions + cookies par exemple)

Nom d'un cookie

toto@www.progmatique[1].txt

Le chiffre entre crochets indique le nombre de cookies contenus dans le fichier. (Tous les cookies d'un site sont regroupé dans un même fichier)

Création d'un cookie

Pour créer un cookie, il faut utiliser la fonction PHP setcookie
 

setcookie(name, value, expire, path, domain);

Exemple(s)

setcookie(nom_du_cookie,"",time()+3600) ; //1 heure

Note : Il faut appeler cette fonction avant tout code HTML (y compris le doctype)

Lire un cookie

En utilisant la variable superglobale $_COOKIE, vous avez accès à l'ensemble des cookies. Cette variable est un tableau associatif : "nom_du_cookie"=>valeur. Pour lire un cookie, procédez comme ci-dessous :

$valeur = $_COOKIE["nom_du_cookie"]

Détruire un cookie

Afin de détruire un cookie, il faut appeler la fonction setcookie, sans durée de vie du cookie.

setcookie('cookie_name'); // exemple 1

Note : Un cookie créé n'est pas visible avant le prochain chargement de page.

Le quatrième argument permet d'indiquer que le cookie ne soit accessible que par certain répertoire.

Il est aussi possible d'utiliser les cookies en tableau, mais cela n'est pas une très bonne idée car le navigateur créer autant de cookie que de case du tableau. Il vaut mieux créer un seul cookie qui contient plusieurs valeurs séparées par des points-virgules, pour ensuite les découper lors du traitement du cookie.

X.com Facebook Email

Posté le 20-09-2009