Problème de cookie

Fermé
kobalt3110 - 10 déc. 2009 à 11:37
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 10 déc. 2009 à 15:12
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 !

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2009 à 13:40
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
0
Quoiqu'il en soit, même en rechargeant la page, en fermant en en réouvrent le navigateur, le problème persiste...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2009 à 15:12
c'est $_COOKIES et pas $_COOKIE
0