21- PHP ( LES COOKIES )

0 commentaires
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

Copyright 2013 © 2 Rattrapage