Choix du langage en php, Javascript ou autre ?

Résolu
Bonjour à tous, je suis novice et j'aimerai savoir comment réussir a créer une barre de langage qui répond aux instructions tel que : Anglais, français etc..

Pour l'instant j'ai inclus un dossier langue.php dans la page en question grace à :
<?php include("langues.php"); ?>

puis j'ai inséré dans langue.php le code suivant :

<body>
<FORM>
<SELECT name="langues" size="1">
<Option Francais
<Option Anglais
<form/>

<body/>
<?php

if ($_post['langues']=='Francais') {
location ('english.php');

}

else if ($_post['choix']=='choix2') {
location('english.php');
}

?>
Pourtant rien a y faire, même quand je fais le test sur MAMP, la barre de section du langage s'affiche sans suivre les redirecetions demandées...
Si quelqu'un pouvait m'aider ca serait vrmt sympa je suis bloqué dessus depuis pas mal de temps...

ps:Si vous me parlez d'autre langage que le html et php allez y doucement.. merci d'avance

7 réponses

  1. je n'arrive pas à poster ma réponse. test
    0
    1. Bonsoir,

      pour commencer pense à fermer tes balises HTML (le select et les options) ainsi qu'à mettre les valeurs :
      0
      1. <?php
        if(isset($_POST['langues'])){
        if ($_POST['langues']=='français') {
        header('Location: french.php');
        
        }
        
        else if ($_POST['langues']=='anglais') {
        header('Location: english.php');
        }
        }
        
        
        ?>
        <body>
        
        <form action="test.php" method="post">
        <SELECT name="langues" size="1">
        <option value="français">Francais</option>
        <option value="anglais">Anglais</option>
        </select>
        <input type="submit" value="OK">
        <form/>
        
        <body/>
        0
        1. ce code est contenu dans un fichier test.php (d'ou le action=test.php) et j'ai un fichier english.php qui contient "hello" et un fichier français.php qui contient "bonjour"
          0
          1. Bonjour Honey22,

            Merci beaucoup pour ta réponse, ton nouveau code a l'air beaucoup plus logique que le mien.. j'ai donc modifié mon code comme tu me l'as dis :

            <body>
            <FORM Action="test8.O."php method="post"> // test.8.O.php = la page ou la
            selection du langage doit avoir lieu
            <SELECT name="langues" size="1">
            <Option value="Francais">Francais</option>
            <Option value="English">English</option>
            </select>
            <form/>

            <body/>
            <?php
            if(isset($_POST['langues'])){
            if ($_post['langues']=='Francais') {
            header ('location:test8.O.php');

            }

            else if ($_post['choix']=='choix2') {
            header ('location:english.php');
            }
            }

            ?>

            Mais ca ne marche toujours pas, c'est exactement pareil qu'avant quand je test en php sur MAMP......
            0
            1. bonjour

              petite erreur

              FORM Action="test8.O."php
              au lieu de
              FORM Action="test8.O.php"
              0
              1. Bonjour, merci encore pour cette correction j'ai maintenant un code du type :

                <body>
                <FORM Action="test8.O.php" method="post">
                <SELECT name="langues" size="1">
                <Option value="Francais">Francais</option>
                <Option value="English">English</option>
                </select>
                <form/>

                <body/>
                <?php
                if(isset($_POST['langues'])){
                if ($_post['langues']=='Francais') {
                header ('location:test8.0.php');

                }

                else if ($_post['choix']=='choix2') {
                header ('location:english.php');
                }
                }

                ?>
                Mais ca ne marche toujours pas....!!! Je commence à me demander si c'est pas le logiciel MAMP qui teste mal ma page php, qu'est vous en pensez ???
                0
                1. Avec MAMP vous avez desss serveurs dont Apache pour faire marcher PHP.
                  Soit ça marche soit ça marche pas(souvent comme ça en informatique. binaire).
                  Écrivez une simple page PHP:

                  <?php
                  echo ('Bonjour');
                  ?>
                  Puis enregistrez là test.php à la racine du dossier WWW de MAMP.
                  Quand vous la faites fonctionner de votre serveur local(en indiquant localhost/test.php -surtout sans http ou www dans votre navigateur web) si celle ci affiche Bonjour c'est bon sinon vous n'avez pas le serveur de PHP activé ou c'est dans le mauvais dossier que vous avez placé votre fichier.
                  0
                2. Merci pour ta réponse Waxtime , mais ca marche qd je vais sur http://localhost:8888/langues.php mais ca suit toujours pas les conditions php..... et juste cmt j'enregistre test.php "à la racine du dossier WWW "?

                  Merci pour toutes vos réponses
                  0
                3. Ca ne vient pas du serveur

                  bon il y a aussi 2 erreurs dans ton formulaire

                  <FORM Action="test8.O.php" method="post">
                  <SELECT name="langues" size="1">
                  <Option value="Francais">Francais</option>
                  <Option value="English">English</option>
                  </select>
                  ici pas bouton submit
                  <form/> fermeture mal codée

                  voici le code correct

                  <FORM Action="test8.O.php" method="post">
                  <SELECT name="langues" size="1">
                  <Option value="Francais">Francais</option>
                  <Option value="English">English</option>
                  </select>
                  <input type="submit" value="OK">
                  </form>

                  et aussi erreurs dans le php

                  <?php
                  if(isset($_POST['langues'])){
                  if ($_post['langues']=='Francais') {
                  header ('location:test8.0.php');

                  }

                  else if ($_post['choix']=='choix2') {
                  header ('location:english.php');
                  }
                  }
                  ?>
                  comment veux tu que ca marche 'choix' n'existe pas, le nom du select est 'langue'
                  pareil pour =='choix2' cette value n'existe pas, c'est 'anglais'

                  le code que t'as donné honney 22 est correct
                  si tu invente des trucs et transformant ce code cela ne va pas marcher
                  contente toi de copier ce code si tu ne comprends pas
                  dernier conseil : fait une page pour le francais qui n'est pas la page de test et change le header ('location: ....'); pour la page francais
                  0
                4. Ok merci beaucoup, ca marche !!!! et encore désole pour mes erreurs d'étourderie, qd on est bloque longtemps sur un truc, de tps en tps on manque de recul !!! en tout cas merci bec!!
                  0