Page 1 sur 1

Cookie explode

Posté : 07 juin 2011, 14:38
par Aligatoure
Bonjour à tous,

Je rencontre actuellement un problème avec mes cookie sur mon site.
Le principe : un utilisateur ajoute un lieu à son panier et il peut se faire un petit voyage sympa.

Problème : Impossible de gérer plusieurs infos dans mon cookie.

Je souhaiterai que l'utilisateur puissent ajouter plusieurs lieux à son cookie.
Le problème c'est que ça m'affiche que UN lieu sur tout ceux que je met alors soit je les ajoute mal soit il n'arrive pas à tous les lire ...

setcookie('test',$_GET['ref'], time() + 365*24*3600);

if (isset($_COOKIE['test']))
{
    $r = explode(';', $_COOKIE['test']);
    
        for($i=0;$i<sizeof($r);$i++)
            {
                echo $r[$i].'<br/>';
            }
}else{
echo 'test marche pas';

}


J'espère avoir été clair, merci d'avance de votre aide..
Cordialement, Aligatoure.

Re: Cookie explode

Posté : 07 juin 2011, 20:04
par moogli
salut,

il te gérer un tableau que tu serialize avant de le mettre dans un cookie.


Pourquoi ne pas utiliser les sessions ?

@+

Re: Cookie explode

Posté : 08 juin 2011, 10:06
par Aligatoure
Je voulais tenter de gérer les cookies mais oui en effet, les session font la même chose.
Je vais faire avec les variables session ça sera plus rapide les connaissant déjà


Merci moogli.

Re: Cookie explode

Posté : 08 juin 2011, 11:02
par Mazarini
Bonjour,

Je pense qu'il y a un problème dans le raisonnement : $_COOKIE['test'] n'est pas mis à jour par la fonction setcookie()

En début de traitement, tu dois récupérer le cookie, puis le modifier.
if (isset($_COOKIE['test']))
{
    $r = explode(';', $_COOKIE['test']);
}
else
{
   $r = array();
}   
$r[] = $_GET['ref'];
$test = implode(';',$r); 
setcookie('test',$test, time() + 365*24*3600);