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 :

Bug site multilingue


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2017
    Messages : 28
    Par défaut Bug site multilingue
    Bonjour à tous,

    J'ai crée un script php pour internationaliser mon site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    if (!$_SESSION[USER_LANGUAGE]) SetLang(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
    include "resource/language/$_SESSION[USER_LANGUAGE].php";
    ?>

    Voici mes fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function setLang($p1){
        if(!in_array($p1, array('fr', 'en'))) $p1 = "en";
        $_SESSION['USER_LANGUAGE'] = $p1;
    }
    function Location ($p1) {
    if (!$p1) $p1 = $_SERVER['HTTP_REFERER'];
    exit(header('Location: '.$p1));
    }

    J'ai les fichiers en.php et fr.php avec les traductions. Ensuite, je veux créer des liens pour changer de langue, j'ai donc crée ces button :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="langues">
    <button name='fr' type="button">Français</button>| <button name='en' type="button">English</button>
    </div>

    Et j'ai modifié mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    session_start();
    if (!$_SESSION[USER_LANGUAGE]) SetLang(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
    include "resource/language/$_SESSION[USER_LANGUAGE].php";
     
    if (isset($_POST['fr'])) {
    SetLang('fr');
    Location('/');
    }
    if (isset($_POST['en'])) {
    SetLang('en');
    Location('/');
    }
    ?>
    Mais, lorsque je clique rien ne change. Quel est donc le problème ? Comment rediriger l'utilisateur vers la langue désirée ? Existe-il des façons plus simples d'internationaliser mon site ? Car je suis vraiment bloqué sur cette notion !

    Merci d'avance !

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    Vos boutons ne sont pas repris dans un formulaire <form>, donc le $_POST ne peut fonctionner .

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- j'ajoute que, en plus des balises <form> (en method="post"), il faut que les <button> soient de type="submit".

    2- Je t'invite à LIRE cette discussion récente, qui correspond précisément à ta problématique.

    Tes formulaires de changement de langue devraient ressembler à ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id="langues">
    	<form method="post" action="">
    		<button type="submit" name="langue" value="fr">Français</button>
    	</form>
    	 | 
    	<form method="post" action="">
    		<button type="submit" name="langue" value="en">English</button>
    	</form>
    </div>
    Dernière modification par Invité ; 31/08/2018 à 13h39.

Discussions similaires

  1. Site multilingue - méthode ?
    Par khephren dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 21/06/2016, 17h18
  2. [Cookies] problème avec site multilingue
    Par lacfab dans le forum Langage
    Réponses: 13
    Dernier message: 30/12/2005, 23h10
  3. [Tableaux] Site multilingue
    Par francis m dans le forum Langage
    Réponses: 15
    Dernier message: 10/12/2005, 01h58
  4. Site multilingue : comment s'y prendre ?
    Par sg-40 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 26/04/2005, 14h40
  5. [C#] Mise en place d'un site multilingue
    Par regbegpower dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/03/2004, 19h15

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