IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Langage du site avec langue par défaut


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Langage du site avec langue par défaut
    Bonjour je n'ai pas vraiment trouver la bonne section donc je poste ici:

    Je m'explique sur mon probleme:
    J'ai donc un site qui va etre multi langue a l'aide d'un choix par un menue , il change une variable dans la base de donnée.

    Cette variable et commandee par la langue du navigateur ,le souci et que je ne peut plus changer la langue via le menue et bref plus rien ne marche ...

    voila le changement de variable via la langue du navigateur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (!isset($lg)) 
    {
    	$lg = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
    	$lg = strtolower(substr(chop($lg[0]),0,2));
     
    	if($lg == "fr")
    		mysql_query("UPDATE accueilV2 SET langue = '1' WHERE ID='1' ") or die(mysql_error());
    	else
    		mysql_query("UPDATE accueilV2 SET langue = '3' WHERE ID='1' ") or die(mysql_error());
     
    }
    le navigateur et en francais ? alors la variable met le site en francais.
    Sinon elle le met en anglais

    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
     
    switch($page)
    	    {
    			case 'fr':	
    				mysql_query("UPDATE accueilV2 SET langue = '1' WHERE ID='1' ") or die(mysql_error());
    				header("Location: index.php");
    				exit;
    				break;
    			case 'en':	
    				mysql_query("UPDATE accueilV2 SET langue = '2' WHERE ID='1' ") or die(mysql_error());
    				header("Location: index.php");
    				exit;
    				break;
    			case 'de':	
    				mysql_query("UPDATE accueilV2 SET langue = '3' WHERE ID='1' ") or die(mysql_error());
    				header("Location: index.php");
    				exit;
    				break;
    ca c'est la modification de la variable via le menue

    donc la variable et donner soit par le navigateur par default soit par le menue car la variable la modification de langue via lg (langue par default du navigateur) ne peut se produire qu'une fois (via isset)

    Donc voila j'aimerai en gros savoir comment definir une langue par defau qui puisse etre enssuite modifier par le menue .

    Merci beaucoup .

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par CaZaE Voir le message
    J'ai donc un site qui va etre multi langue a l'aide d'un choix par un menu , il change une variable dans la base de donnée.
    Je n'ai pas lu la totalité de ton message ni ton script, mais cette phrase me choque :
    Ta base de données est commune à tous les utilisateurs
    Donc, si quelqu'un choisit l'anglais, tu mets l'anglais dans ta base. La personne suivante choisit le français, qui sera mis dans ta base, et dès lors l'Anglais verra les pages en français et remettra l'anglais. Le Français pas content rechangera la langue en français et les deux quittent ton site qui change de langue sans leur demander leur avis.

    La langue ne doit pas être une donnée dans la base, mais une donnée liée à l'utilisateur, donc par exemple en session

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    C'est justement ça que je voudrais éviter c'est pour ça que j'aimerai avoir une solution un style de variable de session ou quelque chose comme ça...

  4. #4
    Membre régulier Avatar de +Guilhem
    Profil pro
    Ingénieur d'études Java/JEE
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur d'études Java/JEE

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 112
    Points
    112
    Par défaut
    Pourquoi ne pas utiliser un cookie ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Le soucis c'est que j'aimerai qu'il y est le moin de chose qui traine sur le pc de l'utilisateur.

    Une variable de session serai t'elle capable d'acomplir cette tache?

  6. #6
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bien sur

    Pour enregistrer une variable dans la session de l'utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['langue'] = $lg;
    et pour la récupérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_SESSION['langue'])) {
        //là tu travail avec le résultat, exemple :
        $lang = $_SESSION['langue'];
    }
    N'oublie pas session_start() sur chaque page où tu veux utiliser les sessions...

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/01/2008, 09h17
  2. Envoyer un mail avec client par défaut
    Par cryborg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 13/11/2007, 22h16
  3. Pas d'écran : Live CD avec SSH par défaut ?
    Par adrien357 dans le forum Distributions
    Réponses: 2
    Dernier message: 21/06/2007, 14h13
  4. Supprimer une colonne avec valeurs par défaut
    Par SlashOwnsU dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/09/2006, 10h10
  5. [Cookies] Langue par défaut sur un site web
    Par Jet-Li dans le forum Langage
    Réponses: 3
    Dernier message: 09/12/2005, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo