Titre: [RESOLU] problème de cookie
Posté par: erwinol le le 14-12-2003 a 22:00:56
Salut à tous !
Je travail en local sous easyPHP 1.6
J'envois un cookie dans 2 pages différentes, ces 2 cookies sont sensés être identiques. Je vous explique :
Pour la gestion multilingue du site, j'utilise la méthode trouvée sur phpdebutant (http://www.phpdebutant.org/article107.php) et tout fonctionne à merveille sauf un petit détail. Quand je clique sur FR il m'envoit un cookie ayant comme valeur fr et quand je clique sur NL le cookie vaut nl. Et si il n'y a pas de cookie on envoit un cookie fr par défaut.
Le problème se situe lorsque je teste le cookie. Avec mon setcookie() dans choix.php il ne trouve pas le cookie ... d'ailleur quand je vais voir le cookie se nomme erwin@lang[1].txt . Quand j'envois le cookie depuis lang.php il se nomme erwin@eurotoques[1].txt et là ça fonctionne à merveilles.
Dans le 2ème cas un echo $_COOKIE["EUROTOQUES"]; va afficher le bon résultat (fr ou nl) mais dans le premier cas il affichera rien.
Résultat : le site est toujours en français :-(
Qqun sait pourquoi il envoit pas la même chose avec
Code:
$lang = "fr"; setcookie("EUROTOQUES", "$lang", time()+$expire);
|
|
et
Code:
setcookie("EUROTOQUES","fr",time()+$expire);
|
|
???
Merci d'avance à ceux qui pourront m'aider.
menu.php ========
Code:
<a href="lang/choix.php?lang=nl">NL</a> | <a href="lang/choix.php?lang=nl">NL</a>
|
|
choix.php ========
Code:
<?php // on arrive à cette page en cliquant sur FR ou NL
$expire = 30*24*3600 ; // 1 mois
// on envoit le cookie indiquant la langue choisie setcookie("EUROTOQUES", "$lang", time()+$expire);
header("location: ../index.php");
?>
|
|
COOKIE : erwin@lang[1].txt
langue.php =========
Code:
<?php if ($_COOKIE["EUROTOQUES"]=='fr') { include('fr-lang.php'); } else if ($_COOKIE["EUROTOQUES"]=='nl') { include('nl-lang.php'); } else // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut { $expire = 30*24*3600 ; // 1 mois setcookie("EUROTOQUES","fr",time()+$expire); include('lang/fr-lang.php'); } ?>
|
|
COOKIE : erwin@eurotoques[1].txt
|
Titre: [RESOLU] problème de cookie
Posté par: erwinol le le 14-12-2003 a 22:47:49
Problème résolu ;D
setcookie("EUROTOQUES", "$lang", time()+$expire);
doit être remplacé par
setcookie("EUROTOQUES", "$lang", time()+$expire, '/'); |
Titre: Re:[RESOLU] problème de cookie
Posté par: trounday le le 18-12-2003 a 22:20:52
| Quelle est la difference en fait ??? |
Titre: Re:[RESOLU] problème de cookie
Posté par: erwinol le le 19-12-2003 a 19:30:25
| Le cookie peut mnt être lu par tout le site. Avant il ne pouvait être lu que dans le dossier par lequel le cookie avait été envoyé. |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|