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,
|