Bonsoir.
J'aimerai mettre en place un bouton de changement de langue pour mon site internet.

Il est dans une barre de navigation, sous la forme :

<nav>
<form method="post" action="faq.php">
<select name="langue" size="1" id="lg_select" method="post" onChange="this.parentNode.submit()">
<option value="fr">FR ▾ </option>
<option value="en">EN ▾ </option>
</select>
</form>
</nav>

Le probème est que lorsqu'on choisit "EN", le formulaire est envoyé, la page est rechargée en anglais mais c'est toujours "FR" qui est affiché. Du coup je souhaiterait faire ce qui est fait dans le "onChange" plus proprement dans une fonction à part en y ajoutant la modification de l'option "selected", mais je ne trouve pas comment faire cela.
Merci pour votre aide

1 réponse


Pourquoi ne pas faire une condition en PHP qui détecte la langue et qui ensuite affiche EN ou FR une fois la page rechargé ?

Exemple si tu utilise les sessions pour enregistré la langue choisi :

if($_SESSION['lang'] == "FR") {
echo '<option value="fr">FR ▾ </option>';
} elseif($_SESSION['lang'] == "EN")  {
echo '<option value="en">EN ▾ </option>';
}