Formulaires HTML (GET et POST)
<<<
Cookies HTTP Cas des points dans les noms de variables
>>>

4.3.5 Variables externes à PHP
4.3 Les variables
4 Référence du langage
 Manuel PHP

Formulaires HTML (GET et POST)
->Cookies HTTP
Cas des points dans les noms de variables
Détermination du type des variables

4.3.5.2 Cookies HTTP

PHP supporte les cookies HTTP de manière totalement transparente, comme défini dans les spécifications de Netscape . Les cookies sont un mécanisme permettant de stocker des données sur la machine cliente à des fins d'identification de l'utilisateur. Vous pouvez établir un cookie grâce à la fonction setcookie . Les cookies font partie intégrante des en-têtes HTTP et donc la fonction setcookie doit être appelée avant que le moindre affichage ne soit envoyé au navigateur. C'est la même restriction que pour la fonction header . Les données contenus dans les cookies sont alors disponibles dans les tableaux de cookies appopriés, comme $_COOKIE , $HTTP_COOKIE_VARS mais aussi $_REQUEST . Lisez la page de la documentation sur la fonction setcookie pour plus de détails ainsi que des exemples.

Si vous souhaitez assigner plusieurs valeurs à un seul cookie, il vous faut ajouter les caractères [] au nom de votre cookie. Par exemple :

Utilisation de tableaux avec les cookies

<?php
setcookie
("MyCookie[foo]", 'Test 1', time()+3600);
setcookie("MyCookie[bar]", 'Test 2', time()+3600);
?>

Cela va créer deux cookies distinctes bien que MyCookie est maintenant un simple tableau dans votre script. Si vous voulez définir seulement un cookie avec plusieurs valeurs, utilisez la fonction serialize ou explode sur la première valeur.

Il est à noter qu'un cookie remplace le cookie précédent par un cookie de même nom tant que le " path " ou le domaine sont identiques. Donc, pour une application de panier, vous devez implémenter un compteur et l'incrémenter au fur et à mesure. C'est-à-dire :

Exemple avec setcookie

<?php
if (isset($_COOKIE['compte'])) {
    
$compte = $_COOKIE['compte'] + 1;
} else {
    
$compte = 1;
}
setcookie('Panier', $compte, time()+3600);
setcookie("Panier[$compte]", $item, time()+3600);
?>

<< Cookies HTTP >>
Formulaires HTML (GET et POST) Variables externes à PHP Cas des points dans les noms de variables