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

PHP & Base de données Discussion :

Site multi langues et cookie


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut Site multi langues et cookie
    Bonjour
    voilà pour des besoins d'un site multi langues, je voudrais stocker dans un cookie, mais je ne m'en sors pas et pourtant je suis à un pas du résultat, alors j'ai besoin de votre aide!...merci.
    voilà mon code:
    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
    37
    38
    39
    40
    <?php
    //si le cookie appelé 'cookieLang' n'existe pas alors...
    if (!isset($_COOKIE["cookieLang"])){//if1
    //on le crée tout au début du fichier pour éviter les erreurs du header
    // l'anglais est la langue par défaut  
    $langue='en';
    //on crée le cookie
    setcookie('cookieLang', $langue, (time() + 365*24*3600));//régler la durée de vie du cookie
    include 'drapeaux.php';
     
    //on choisi la langue du pays du visiteur
    if (isset($_GET['lang'])){//if2
    echo "GET=".$_GET['lang'].'<br>';
    echo "langue=".$langue=$_GET['lang'];
     
    if ($langue='fr'){//if3
    $_COOKIE['cookieLang']='fr'; //on charge la langue dans la valeur du ciikie
    }
     
    elseif ($langue='en'){//elseif1
    //echo 'la langue est anglaise <br>';
    $_COOKIE['cookieLang']='en'; //on charge la langue dans la valeur du ciikie
    }
     
    elseif ($langue='ar'){//elseif2
    //echo 'la langue est arabe <br>';
    $_COOKIE['cookieLang']='ar'; //on charge la langue dans la valeur du cookie
    }//elsif2
     
    //on appelle le fichier langue
    include ('langue_'.$langue.'.php');
    }//fin if2
    }//fin if1
     
    else{//si le cookie existe
    //include ('langue_'.$langue.'.php');
    }
     
    echo $nom;//dans la langue choisie
    ?>
    où est le HIC?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    if ($langue='fr')
    Le contenu de ton if est une affectation. L'équivalent booléen d'une affectation, c'est true si l'affectation a réussi, false sinon.
    Dans ton cas, l'affectation n'a pas de raison de ne pas se faire, donc on rentre systématiquement dans la condition.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Merci pour ton aide...justement c'est faux de mettre if=..., je l'ai remplacé par if==..., mais ça ne résout pas problème!
    je me demande aussi pourquoi mon GET est vide après le choix de la langue!!!

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    pourquoi autant de commentaires?

    c'est pour nous ou pour toi?

    nan, les commentaires posent plus de problèmes que de solutions quand ils ne servent à rien !!!! connaissant le level du code

    sorry, je réfléchis à ton problème aussi ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    D'abord merci de réfléchir à mon problème et ensuite les commentaires me servent à me retrouver dans les multiples accolades...etc

    moi aussi je continue à réfléchir sur ce problème, j'avoue que je galère encore :-/

    Enfin de compte je vais être obligé dans un premier temps d'extraire la langue utilisée par le navigateur (c'est une solution simple et radicale) sinon je passerais par un formulaire de choix de langue et là je stocke la langue dans une base de données (c'est plus lourds, mais sûr aussi)

    merci de votre aide :-)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Rebonjour encore :-)

    Bon j'ai une bonne nouvelle pour ceux qui sont intéressés par ce type de code, voilà je me suis inspiré d'un script classique qui sélectionne la "couleur" d'arrière-plan d'une page, et j'ai remplacé l'arrière plan par la "langue" du pays sélectionnée...ça a marché :-)

    Mais j'ai voulu avancer et modifier encore ce script en supprimant le formulaire et en mettant des liens sous forme de drapeaux...à chaque click sur un drapeau, j'ai un "$_GET" mais mais je n'ai pas pu récupérer le fameux $_GET...quelqu'un pourrais m'aider SVP

    voici le code des couleurs...

    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
    37
    <?php
    #checking if form has been submitted
    if (isset($_POST['submitted'])){
    #if yes (form is submitted) assign values from POST array to variables
    $newLang=$_POST['lang'];
    #set cookies
    setcookie("langue",$newLang,time()+3600);
     
     }
    #in case user has come for first time and cookies are not set then
    if ((!isset($_COOKIE['langue']) ) ){
    $lang = "en";
    include('langue_en.php');
    }
    #if cookies are set then use them
    else{
    $lang = $_COOKIE['langue'];
    include('langue_'.$lang.'.php');
    }
    echo $titre.'<br>'.$nom;
    ?>
    <!-- HTML Page-->
     <html>
     <body > 
     <form action= "<?php echo $_SERVER['PHP_SELF']; ?>" method ="POST">
     <p>Sélectionnez votre pays:</p>
     <select name=lang>
     <option value ="fr">France</option>
     <option value ="ar">Arabe</option>
     <option value ="en">Anglais</option> 
     </select>
     
     <input type ="hidden" name="submitted" value="true"></br>
     <input type="submit" value="Click">
     </form>
     </body>
     </html>

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

Discussions similaires

  1. Utilisation XML/XSL pour un site multi langues
    Par bigsister dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 22/01/2007, 16h36
  2. Site multi langue
    Par didarmor dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/12/2006, 22h42
  3. Problème site multi langues
    Par dolf13 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2006, 12h05
  4. Réponses: 12
    Dernier message: 04/11/2005, 16h28
  5. Architecture d'un site multi-langues
    Par seben dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/09/2005, 15h23

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