cs_faby38
Messages postés32Date d'inscriptionlundi 23 mai 2005StatutMembreDernière intervention20 juillet 2005
-
20 juin 2005 à 09:50
cs_faby38
Messages postés32Date d'inscriptionlundi 23 mai 2005StatutMembreDernière intervention20 juillet 2005
-
20 juin 2005 à 15:07
Bonjour,
Je suis actuellement en train de creer un site en 4 langues. Pour cela, je recupere la langue choisie par l'utilisateur dans la page d'accueil et je lui envoie un cookie qui va memoriser cette langue. J'utilise ce choix pour faire afficher les autres pages dans la bonne langue.
Dans une des pages j'ai la boucle suivante :
if(array_key_exists('$lang', $_GET)) $LaLang=$_GET['$lang']; else $LaLang=LangDefaut;
switch ($LaLang){
case 'fr': $SQLLang='fr';
break;
case 'de': $SQLLang='ted';
break;
case 'en': $SQLLang='ing';
break;
case 'it': $SQLLang='it';
break;
default : $SQLLang=SQLLangDefaut;
$LaLang=LangDefaut;
}//end switch
$ChaineSQL="SELECT casa_id, foto1, citta, descri_{$SQLLang} AS description FROM $table ORDER BY citta";
$rs=mysql_query($ChaineSQL) or die('Houston, nous avons un problème');
Cette boucle recupere dans la base de donnees, la description dans la bonne langue suivant la langue enregistree. J'ai un probleme car la description qui est recupere est toujours celle de la langue par defaut, elle ne prend pas en compte le $_GET['$lang']. Comment cela est possible?
superbaloo78
Messages postés87Date d'inscriptionvendredi 29 août 2003StatutMembreDernière intervention19 mai 2006 20 juin 2005 à 10:22
Le cookie ne se recupere pas par la commande $_GET mais par $_COOKIE de
plus si ton utilisateur n'accepte pas les cookies ?? tu fais comment ??
Le mieux est d'integrer une variable session avec la langue de
l'utilisateur comme ca il n'y vera que du feu !
Pour les sessions c'est $_SESSION['lang'] = 'fr' (pour la definir) et $lang = $_SESSION['lang'] pour connaitre le contenu
$LaLang=$_GET['$lang'] => tu es sur de ton ecriture la...?
Ce que je veux dire c'est :
<?php
$lang = 'bla';
$tab['bla'] = 'test';
echo $tab['$lang'];
?>
Ceci ne fonctionnera pas. $lang entre quotes ne sera pas interprete, donc ne vaudra pas 'bla'.
En plus je ne pige pas la logique de ton truc.
Tu cherches dans ton tableau $_GET une clef qui soit egale au contenu
d'une variable $lang. Ok...j'aurais pense que cette variable contienne
'fr', ou 'en' par exemple. Ensuite, tu mets la VALEUR du tableau
$_GET['$lang'] (sachant que ta clef, la, n'aura pas la valeur de ta
variable $lang...ta clef restera la chaine '$lang'...), a une autre
variable. Quelle est la valeur de cet index de ton tableau...? Pourquoi
ne pas utiliser directement la clef ?
J'aurais plutot vu un truc du genre $_GET['langue'] = 'fr' par exemple.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 20 juin 2005 à 11:02
Bah non ca depend comment tu fais ton compte lol.
Soit tu passes ca dans l'url, et c#est dans $_GET, soit tu mets ca dans un cookie, et c'est $_COOKIE. Ou une session, et c'est dans $_SESSION...etc.
Vous n’avez pas trouvé la réponse que vous recherchez ?