Problème Cookie en local

miniduj Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 miniduj -
Bonjour,

Je construis un site Internet actuellement. J'aimerais avoir en première page :
- Soit une page "choix de la langue" si l'utilisateur vient pour la première fois et donc n'a pas déjà choisit une langue.
- Soit ma page d'accueil avec la langue enregistrée dans un cookie.

Je n'arrive pas à récupérer cette valeur sur mon pc en local, pourtant je pense avoir bien configurer mon Wamp (virtual host, j'y accède depuis www.monsite.local) et j'ai bien un cookie de créer sur mon navigateur (IE, firefox, gchrome). Après avoir galéré une journée, je m'en remet à CCM !

Voici mon code :
>>page index.php
<?php
session_start();
include("./cookie/cookie-lang.php");
?>

<!DOCTYPE ..... >
<head>
....
</head>
<body>
<?php
if ($lang == null) //Si l'utilisateur n'a pas déjà choisi une langue, on lui propose de choisir sa langue
include("./choice.php"); //page de choix de langue
else //Sinon, on le dirige directement vers la page d'accueil dans la langue choisie antérieurement
{
include('./lang/'.$lang.'-lang.php'); //page où je définis mes variables
//suite de mon code avec le menu, le contenu...
}
?>
</body>

Page cookie-lang.php
<?php
if(isset($_COOKIE['language']))
$lang = $_COOKIE['language'];
else
$lang = $_GET['lang'];

$expire = 365*24*3600;

setcookie("language", $lang, time() + $expire);
?>

Page choice.php // choix de la langue
<a href="/fr/home.html">Français</a>
<a href="/en/home.html">English</a>

A chaque fois que je vais sur mon site local, j'ai toujours la page "choix de la langue" qui s'affiche alors que mon cookie est bien créé dans mon navigateur.
De plus, comme j'ai fais un include("mon cookie") au début de ma page index.php, je cré un cookie à chaque page à laquelle j'accède. Je ne pense pas que ce soit correcte.

Merci à celui qui pourra m'aider,

++

2 réponses

ataos Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, je ne me suis jamais occupé des cookies, mais est-ce normal que tu écrives ainsi?:

if (condition)
execution;

Il n'y a pas de {} dans le code posté. Est-ce due à un 'nettoyage' or something else?
0
miniduj Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour cette réponse mais lorsqu'il y a qu'une seule ligne dans les conditions les {} ne sont pas nécessaires.
Ce n'est pas ça et je ne sais toujours pas pourquoi ça ne fonctionne pas.
Je continue a chercher,

Merci quand même,

A+
0
miniduj
 
Personne n'a une idée d'où peut venir ce problème ??
Je dois utiliser les cookies pour mémoriser mes utilisateurs par la suite mais si je bloque pour mémoriser le choix de la langue, ca va pas etre évident...
Merci d'avance
0