Problème de cookie

Bonjour,

J'ai un petit problème avec un cookie, je développe un template joomla avec un petit module perso qui switch le template.
Le principe : l'utilisateur clique sur une couleur, cette couleur (envoyée par $_GET) est sauvegardée dans un cookie par un fichier "switcher.php", ce fichier renvoie en suite à la page d'accueil du site. Le site charge le template dont la couleur correspond au cookie, si cookie vide, couleur par défaut.

Code page du site :

if(isset($_COOKIE["color"])) //si cookie
{
	$color = $_COOKIE["color"]; //couleur cookie
}
else //si pas cookier
{
	$color = $this->params->get('colorVariation'); //couleur par défaut
}


Code switcher :

if(isset ($_GET['color'])) //si paramètre couleur envoyé
{
	$color = $_GET['color'];
	
	if( ($color == "black") ||  ($color == "grey") || ($color == "white") ) //si une des trois couleurs possibles
	{
		setcookie('color', $color, time()+3600); //initialisation du cookier
	}
}
header("location: " . $_SERVER['HTTP_REFERER']); //redirection accueil site


Mon code me semble bon, sauf que quand j'essaye un echo "Cookie : ".$_COOKIE["color"]; sur ma page de site, aucune valeur n'est affichée, le cookie semble vide, donc mon site garde toujours la couleur par défaut.
Pourtant quand je vais fouiller dans les cookies de mon navigateur, il contiens bien la couleur souhaitée...

Quelqu'un peut m'aider?

D'avance, merci !
Configuration: Windows 7
Firefox 3.0.15

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. attention un cookie ne peut pas être ecrit et lu par la même page, il ne sera lisible qu'au rechargement suivant de la page

    la page (ou le script) A ecrit le cookie
    tu ne pourra le lire et donc l'exploiter qu'au chargement d'une page B ou au rechargement de la page A
    1. Quoiqu'il en soit, même en rechargeant la page, en fermant en en réouvrent le navigateur, le problème persiste...