Page 1 sur 1

pb écriturede cookie

Posté : 23 févr. 2007, 10:38
par patrice_d
bonjour, j'essaye de faire un multi langage mais voilà quant je test mon code ci dessous le cookie s'écrit pas :(

Code : Tout sélectionner

<?php if(isset($HTTP_COOKIE_VARS['lang'])) { $lang = $HTTP_COOKIE_VARS['lang']; } else { $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); } $expire = 365*24*3600; setcookie("lang", $lang, time() + $expire); switch($lang) { case 'fr': include('fr-lang.php'); break; case 'en': include('en-lang.php'); break; default: include('en-lang.php'); } ?>
je pense que mon probleme se situe dans les 1ere lignes car quant je met:

Code : Tout sélectionner

<?php $lang ='fr' ; $expire = 365*24*3600; setcookie("lang", $lang, time() + $expire); switch($lang) { case 'fr': include('fr-lang.php'); break; case 'en': include('en-lang.php'); break; default: include('en-lang.php'); } ?>
ça marche :shock:

Posté : 23 févr. 2007, 12:41
par Ryle
Tu devrais utiliser les variables $_COOKIE et $_SERVER pour récupérer tes valeurs.

As-tu tester ta condition pour savoir si tu entres dans le if ou dans le else ? et as-tu vérifé les variables que tu récupérais ?
if(isset($_COOKIE['lang'])) { 
  $lang = $_COOKIE['lang']; 
  echo 'Cookie trouvé. Valeur : '. $lang;
} else { 
  $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 
  echo 'Cookie non trouvé. Valeur : '. $lang;
} 

Posté : 23 févr. 2007, 13:07
par patrice_d
merci pour l'aide, aprés le test ça donne ça:
Cookie non trouvé. Valeur : fr

Posté : 23 févr. 2007, 14:41
par Ryle
et ça je suppose donc que ca t'inclu bien le bon fichier, mais est ce que ca te créér bien le cookie ? (en actualisant juste la page, tu devrais avoir l'autre message)

Sinon vétrifies que ton navigateur accepte bien les cookies ?

Posté : 23 févr. 2007, 16:32
par Invité
non le cookie n'est pas créer, je viens de faire l'essai ailleur (chez free) et la tout marche correctement. :?: le problème est que le site n'est pas hébergé chez free !!!

Posté : 24 févr. 2007, 16:09
par patrice_d
je viens de refaire l'essai en vidant le cache et cookie de navigateur, et même pb en passant chez free le cookie s'écrit bien mais pas par l'autre serveur, cela peut il être du au paramettre du serveur ? help !!!!
quelqu'un peut il me mettre sur la voix, merci