18 Fév2016
Sauvegarder les heures de visites dans un cookie
Objectif :
- Manipuler les cookies.
- Calculer le nombre de visite d'une page
Énoncé :
Ecrire un script php qui permet de sauvegarder les heures de visites dans un cookie , et affiche les détails de visites comme suit :
Pour la première visite :
Par la suite affiche la liste des heures :
Dans cet exercice on a besoin de stocker un tableau de dates dans un cookie.Et pour stocker des types autre que les nombres ou chaines de caractères, il faudra transformer ces données en une chaîne de caractères avant d’envoyer le cookie : sérialisation .
Script Solution :
// On vérifie si le cookie a été reçu dans la superglobale $_COOKIE. if(isset($_COOKIE["dates_visites"])){ //On ne peut stocker que les chaines de caractères dans un cookie $liste_visites =$_COOKIE["dates_visites"]; //Décoder la chaine liste_visites pour obtenir le tableau des dates $dates=unserialize($_COOKIE["dates_visites"]); //Ajouter la date actuelle $dates[]=time(); //renvoyer le cookie avec sa nouvelle valeur , pour cela on sérialise le tableau setcookie("dates_visites",serialize($dates)); //Afficher Les dates de visites stockées dans le tableau $dates echo " Vous avez consulté cette page ".count($dates)." fois , voici les détails:"; echo "<ul>"; foreach ($dates as $key => $value) { echo "<li>".date("d-m-Y H:i:s",$value)."</li>"; } echo "</ul>"; } else{ //Le cookie n’a pas été reçu //Créer un tableau $dates initialisé par la date actuelle $dates[]=time(); //envoyer le cookie en sérialisant le tableau setcookie("dates_visites",serialize($dates)); echo "C'est votre première visite :".date("d-m-Y H:i:s",time()); }
Note
- Un cookie sans date d’expiration n’est pas créé sous forme de fichier texte sur votre ordinateur : il est stocké dans la mémoire vive de l’ordinateur, donc il sera perdu dès que vous fermez le navigateur.
- Pour définir une date d’expiration du cookie, on spécifie la date sous forme de timestamp :
setcookie('dates_visites', 1, mktime(0,0,0,12,31,2030) ) ;