Chapitre 35. Cookies

PHP supporte les cookies HTTP de manière transparente. Les cookies sont un mécanisme d'enregistrement d'informations sur le client, et de lecture de ces informations. Ce système permet d'identifier et de suivre les visiteurs. Vous pouvez envoyer un cookie avec la fonction setcookie() ou setrawcookie(). Les cookies font partie des en-têtes HTTP, ce qui impose que setcookie() soit appelée avant tout affichage de texte. Ce sont les mêmes limitations que pour header(). Vous pouvez utiliser les fonctions de bufferisation de sortie pour retarder l'affichage de votre script tant que vous n'avez pas décidé d'envoyer un cookie ou des en-têtes.

Tous les cookies qui sont envoyés au client seront automatiquement transformés en une variable PHP exactement comme pour GET et POST, selon les variables de configuration register_globals et variables_order. Si vous souhaitez affecter plusieurs valeurs à un seul cookie, ajoutez [] au nom du cookie.

En PHP 4.1.0 et plus récent, le tableau superglobal $_COOKIE sera aussi prédéfini avec les cookies transmis par l'internaute. $HTTP_COOKIE_VARS est aussi prédéfini dans les versions de PHP plus anciennes, lorsque la directive track_vars est activée. (Cette option est activée par défaut depuis PHP 4.0.3.)

Pour plus de détails, y compris des notes sur les bogues des navigateurs, voir les fonctions setcookie() et setrawcookie().