Geek Help Me ! Tutoriels, Dossiers, News...

  Accueil Tutoriels Développement PHP / MySQL [PHP] Tuto : Les cookies en PHP
Bookmark and Share
[PHP] Tuto : Les cookies en PHP
Note des utilisateurs: / 2
MauvaisTrès bien 
Écrit par Lordsirius   
Jeudi, 08 Juillet 2010 21:27

I. Définition

Un cookie correspond à une information envoyé par un serveur http vers le navigateur d’un internaute. Plus généralement, il est souvent utilisé afin d’identifier un utilisateur, pour rendre persistant un panier au delà de la durée de vie d’une session.

Pour plus d’information : http://fr.wikipedia.org/wiki/Cookie_%28informatique%29

 

II. Créé un cookie

La recette du cookie est très simple, il suffit d’utiliser la fonction setcookie().

La signature de la fonction est la suivante :

<?php
   bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
?>

$name correspond au nom du cookie
$value à la valeur que vous désirez stocker au sein du cookie (paramètre facultatif)$expire indique la durée de vie du cookie, ce paramètre est exprimé à l’aide d’un timestamp, c'est-à-dire au nombre de millisecondes écoulé depuis le 1er janvier 1970 (paramètre facultatif)
$path au répertoire du site au quel s’appliquera le cookie (paramètre facultatif)
$domain au domaine du site sur lequel s’appliquera le répertoire
$secure indique si le cookie est disponible uniquement au travers d’une connexion sécurisé (HTTPS)
$httponly indique que le cookie sera accessible uniquement par requête http et donc indisponible à des accès en JavaScript.

 

Voici un exemple de création de cookie :

<?php
   setcookie('creationcookie','cookie créer', (time()+60*60*24*30 ), 'geekhelpme.fr');
?>

Le cookie ayant pour nom "creationcookie" aura la valeur "cookie créer". Ce cookie à une durée de validité de 30 jours et s’applique au domaine geekhelpme.fr

 

III. Accéder à un cookie

Au même titre que les variables globales permettant d’accéder aux données GET, POST, SESSION etc.
Il suffit d’utiliser la variable $_COOKIE['nom du cookie'].

Ainsi par exemple, pour accéder au cookie précédement créer, le code pourrait être le suivant :

<?php
   if (isset($_COOKIE['creationcookie'])) {
      echo ($_COOKIE['creationcookie'];
   }
?>

Ce script test si un cookie portant le nom "creationcookie" existe, si c’est le cas, il affichera la valeur du cookie soit dans notre cas 'cookie créer'.

 

IV. Détruire un cookie

Pour détruire un cookie, rien de plus simple, vous devez juste initialiser indiquer que votre cookie est expiré. Ainsi vous devez réinitialiser votre cookie avec une durée de validité de 0 à l'aide de la fonction setcookie précédemment utilisé.

Ex :

<?php
   setcookie('creationcookie','',0);
?>

Le script suivant initialise donc le cookie avec une valeur vide avec une expiration immédiate. Ainsi le navigateur web, fort de sa sagesse supprimera le cookie du poste.

 

V. Note

La fonction setcookie() doit être utilisée avant tout envoi de données HTML vers le navigateur, même si ces données sont envoyées avec echo, print ou équivalent (le script qui la contient doit donc être placé avant la balise <HTML> et avant toute fonction echo(),print ou printf()).

 

Pour toutes questions, n’hésitez pas à venir poster sur notre forum à la rubrique PHP.

Cordialement,


Mise à jour le Dimanche, 11 Juillet 2010 08:32
 
web design - referencement