LES COOKIES
Objectif :
Identifier de manière durable un client, un usager du site.
Une grande
partie des internautes n'ont pas leur propre adresse ip. Pour accéder à
Internet ils utilisent les services d'un fournisseur d'accès (qui leur attribue
une adresse ip dynamique) on ne peut donc à la seule vue de l'adresse ip
identifier un usager du site.
Les cookies sont donc des petits fichiers
texte stockés sur la machine du client permettant ainsi de le reconnaître.
Cookies et php
Création d'un cookie
Syntaxe de la fonction :
setcookie(name, value,expire,path,domain,secure) Seuls les 3 premiers
paramètres sont régulièrement utilisés :
name : nom donné à la variable cookie
value : informations stockées dans le cookie
expire : temps unix pendant lequel sera actif le cookie
(s'exprime en secondes)
Dans le cas suivant on crée une variable cookie nommé VISITEUR qui contient
l'heure de connection et qui expirera dans 1 heure.
/* création de la
variable cookie VISITEUR */
setcookie("VISITEUR",date("d/m/y"),time()+3600)
/* il s'agit d'une
variable on peut donc l'utiliser comme telle */
echo "Vous êtes
connectés à ".$VISITEUR;
N.B: la fonction setcookie doit être appelée en début de
script avant toutes instructions
HTML.
N.B: le nom du cookie est écrit en majuscules.
N.B: Le script peut être stocké dans la racine de votre
siteau dans ce cas il porte le nom de votre site sinon il porte le nom du
dossier dans lequel il se trouve. Le nom du cookie généré sur la machine du
client ontiendra de ce fait le nom du domaine visité.
Afficher le contenu d'un cookie
Les cookies sont
stockés dans un tableau associatif nommé
$HTTP_COOKIE_VARS.
<?
while($valeur=each($HTTP_COOKIE_VARS))
{
$val_cook=$valeur[1];
echo
$val_cook."<br>";
}
?>
Pour afficher un
cookie particulier on peut aussi utliser la notation suivante :
echo
$HTTP_COOKIE_VARS["nomducookie"];
Détruire un cookie
Il suffit de déclarer le
cookie sans autre paramètre que le nom. (a ce moment
là, il va avoir
automatiquement une durée de vie à 0)
setcookie("VISITEUR");
Exemple
Dans un premier temps
nous allons créer un formulaire demandant son nom à
l'internaute se
connectant à notre site.
de ce script existe un lien vers un fichier nommé
cookie_lecture.php3 qui :
- affiche à
l'écran l'ensemble des cookies
<?
echo
"Bonjour ". $HTTP_COOKIE_VARS["INTERNAUTE"];
echo
" comment allez vous depuis le ".
$HTTP_COOKIE_VARS["DATE"];
?>
Etude du cookie :
(stocké dans le dossier racine du site www.lallias.com)
Sur ie : le cookie va se trouver dans le dossier cookies
sous dossier de windows.
- La première valeur (internaute) est le nom du cookie.
Notez que le nom du cookie n'est pas le nom du fichier (nom du fichier :
lolo@www.lallias[2].text). Si plusieurs cookies proviennent du même
site ils sont tous stockés dans le même fichier (ici cela explique le 2 qui
apparaît dans le nom : lolo@www.lallias[2].txt )
- La seconde valeur (Auguste+Laurence) est la valeur
assignée au cookie.
- La troisième valeur (www.lallias.com/) indique d'où
provient le cookie et par quel site il est utilisé.
Supprimer les 2 cookies :
Il serait possible de supprimer ces cookies tres
simplement en demandant :
<?
setcookie("INTERNAUTE");
setcookie("DATE");
?>
0 commentaires:
Enregistrer un commentaire