Précédent | Suivant |
La fonction setcookie() permet de définir manuellement les cookies, de la manière suivante :
int setcookie(
string nom_cookie, string valeur_cookie, int
date_exp);
Si la date d’expiration n’est pas définie, la durée de vie du cookie est celle de la session.
Exemple :
<?PHP
setcookie("cookie", "chocolat", time() + 90 * 86400);
?>
après exécution de cette ligne, un cookie de nom moncookie et de valeur “chocolat” est stocké.
Il est possible de définir des cookies à valeurs multiples : en effet, les cookies sont restreints à 20 par serveur. On traite alors le cookie comme un tableau, et on affecte une valeur à chaque élément du tableau.
Exemple :
<?PHP
if (!isset($cookie[0]))
{
setcookie("cookie[0]", $nomvisiteur);
cookie[1]++; setcookie("cookie[1]", $cookie[1]);
echo "Bonjour $cookie[0], vous avez effectué
".$cookie[1].
($cookie[1] == 1 ? " visite
!" : " visites !")."sur cette page.";
//affiche
: Bonjour (le nom du visiteur), vous avez effectué (le nombre de visites) sur
cette page.
?>
Le code qui définit le cookie doit apparaître au tout début de la page, dans l’en-tête, avant la génération d’une sortie et son envoie au navigateur. PHP envoie un message d’erreur si setcookie() est appelée après qu’une réponse HTTP a été envoyée au client.
Attention : un simple espace, un caractère de saut de ligne ou tout autre texte, HTML ou généré par PHP, suffit à provoquer cette erreur.
Dans les mêmes conditions d’utilisation, la fonction setcookie() avec une nouvelle valeur pour le cookie permet de changer la valeur du cookie.
Précédent | Suivant |