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 :

Probleme de redirection suivant une langue


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Points : 144
    Points
    144
    Par défaut Probleme de redirection suivant une langue
    Bonjour.
    Je developpe un site en 3 langues (francais, anglais, khmer). Cependant, je ne peux pas le proposer directement dans ces 3 langues.

    J'attribue une valeur a chaque langue comme ceci et je fais une condition pour l affichage des drapeaux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $lang_fr = '1';
    $lang_en = '0';
    $lang_kh = '0';
    if($lang_fr == 1){
         echo "<li><a href=\"".$address_website."fr/".$row_fr['url']."\"><img src=\"".$address_website."webroot/img/France-Flag-24.png"."\" height=\"24\" width=\"24\" title=\"Pictura in French language\" alt=\"Pictura French\" /></a></li>\n";
    }
    if($lang_en == 1){
         echo "<li><a href=\"".$address_website."en/".$row_en['url']."\"><img src=\"".$address_website."webroot/img/United-Kingdom-flag-24.png"."\" height=\"24\" width=\"24\" title=\"Pictura in French language\" alt=\"Pictura French\" /></a></li>\n";
    }
    Le problème c est qui si l utilisateur change la langue dans l'url, il obtient malgré tout par exemple l anglais qui est desactive. Donc je fait un test comme ci dessous mais le navigateur me signe une boucle de redirection.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($lang_en == 0 && $lang_kh == 0 ){
        header("Location: http://localhost/agence/fr/accueil");
    }
    Quelqu'un aurait il une idee?

    Merci d'avance.
    David

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je pense que tu devrais revoir la gestion des langues.
    En mettant la langue "en cours" en SESSION, par exemple.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $langues = array('fr', 'en', 'kh');
    // si l'utilisateur change la langue dans l'url : on met la bonne langue
    foreach($langues as $lg){
    	if( strpos($_SERVER['PHP_SELF'], $address_website.$lg.'/') ){
    		$_SESSION['lang'] = $lg;
    	}
    }
    if( empty($_SESSION['lang']) ){
    		$_SESSION['lang'] = 'fr'; // langue par défaut
    		header("Location: ".$address_website."fr/accueil");
    		exit;
    }

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Points : 144
    Points
    144
    Par défaut
    Merci pour cette reponse qui fonctionne comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $langues = array('fr','en');
    foreach($langues as $lg){
        if(strpos($_SERVER['PHP_SELF'], $website_adr.$lg.'/') ){
            $_SESSION['lang'] = $lg;
        }
    }
    if($_GET['lang'] != in_array($_GET['lang'],$langues)){
        $_SESSION['lang'] = 'fr'; // langue par défaut
        header("Location: ".$website_adr."fr/accueil");
        exit;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Redirection suivant le résultat d'une requête sql
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/06/2013, 10h57
  2. Réponses: 3
    Dernier message: 14/03/2013, 00h06
  3. Redirection suivant langue du navigateur
    Par Mister Paul dans le forum Langage
    Réponses: 2
    Dernier message: 23/11/2010, 17h19
  4. probleme pour faire gotoandplay suivant une variable
    Par logone dans le forum ActionScript 1 & ActionScript 2
    Réponses: 26
    Dernier message: 09/05/2006, 11h18
  5. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 10h36

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