Bonjour à tous,

Je n'ai jamais fait de cookies en php et je me heurte à un souci:

Je voudrais proposer mon site en 3 langues. Jusque là, tout va bien; mes traductions sont correctes,...

Mais quand je passe d'une page à l'autre, je voudrais que le navigateur garde la langue choisie par l'utilisateur. Après avoir chercher sur la toile, j'ai trouvé quelque chose qui me parait logique mais cela ne garde pas le choix de ma langue

Pouvez-vous me donner quelques conseils ou idées? Je mets aussi une partie de mon code en php que j'ai inséré dans le header.

Merci d'avance.
David

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<?
	if(isset($HTTP_COOKIE_VARS['lang'])) {
	 $lang = $HTTP_COOKIE_VARS['lang'];
	} else {
 
	 $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2); 
	}
	if ($_GET['lang']=='fr') {           
		include('lang/fr-lang.php');
	} 
	else if ($_GET['lang']=='en') {      
		include('lang/en-lang.php');
	}
	else if ($_GET['lang']=='nl') {      
		include('lang/nl-lang.php');
	}	
	else {                      
		include('lang/fr-lang.php');
	}
 	 //définition de la durée du cookie (1 an)
 	 $expire = 365*24*3600; 
 
 	 //enregistrement du cookie au nom de lang
 	 setcookie("lang", $lang, time() + $expire); 
 
	if(isset($_POST['button'])){
		if($_POST['login']=="test" && $_POST['pswd']=="test"){
			session_start();
			$_SESSION['admin']=true;
			header("location: menu_nav.php");
		} else {
			$error .= TXT_ERROR_LOGIN;
		}
	}
?>
Et ma partie dans les balises BODY:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<div id="language">
	<a href="index.php?lang=en"><img src="../img/gb.png" alt="English" title="English" /></a> 
	<a href="index.php?lang=nl"><img src="../img/ndls.png" alt="Nederlands" title="Nederlands" /></a>       
	<a href="index.php?lang=fr"><img src="../img/gf.png" alt="Français" title="Français" /></a>
</div>
<div id="title">
	<h1><?= TXT_TITLE_HEADER;?></h1>
<div id="error"><?=$error?></div>	
</div>    
<div id="padlock"></div>    
	<form id="form_login" name="form_login" method="post" action="" onsubmit="return validate_admin()">
    		<p>
            	<label for="login"><?= TXT_LOGIN;?></label>
                	<input type="text" name="login" id="login" />
            </p>
            <p>
            	<label for="pswd"><?= TXT_PASS;?></label>
                	<input type="password" name="pswd" id="pswd" />
            </p>
            <p>
            	<input type="submit" name="button" id="button" value="<?= TXT_SUBMIT;?>" />
            </p>
            <p>
                <a href="http://validator.w3.org/check?uri=referer" target="_blank"><img src="../img/xhtml.png" alt="Valid XHTML 1.0 Transitional"/></a>
            </p>
            <p>
                <a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img src="../img/css2.png" alt="CSS2 Valide !" /></a>
            </p>
            <p>
                <a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img src="../img/css3.png" alt="CSS3 Valide !" /></a>
            </p>   
		</form>             
</div>