Bonjour,

J'ai un code php qui me crée un cookie afin d'identifier la langue du site.
Dans le cookie c'est la variable lang qui fait cela.

Je souhaiterai lorsque que l'utilisateur clique sur le drapeau "uk" que la variable dans le cookie passe a "uk" et quand il clique sur le drapeau "fr" que la variable repasse a "fr" afin de faire le bonne include du texte en fonction de "fr" ou "en".

Voici mon code php qui permet de crée le cookie et d'include le bon texte suivant la langue qui fonctionne bien le fichier decide-lang.php :

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
<?php
 
	if(isset ($HTTP_COOKIE_VARS['lang'])) {
		$lang = $HTTP_COOKIE_VARS['lang'];
	}
	else { // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
		$lang = substr ($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);
	}
 
	if ($_GET['lang']=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
		include('lang/fr-lang.php');
	}
 
	else if ($_GET['lang']=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
		include('lang/en-lang.php');
		}
 
	else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
		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);
 
?>
voici mon fichier uk.php qui correspond lorsqu'on clique sur le drapeau "uk" qui ne marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<?php 
	include("decide-lang.php"); 
 
	$expire = 365*24*3600;
	$lang = "en";
	setcookie ("lang", $lang, time () + $expire);
 
	header('Location: index.php');
	exit();
?>
Je pense faire une erreur dans mon code du uk.php

Avez vous une idée ?

Merci d'avance