Problème de script

Résolu/Fermé
Lotus-noir Messages postés 375 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 7 mai 2014 - 12 août 2010 à 15:36
Lotus-noir Messages postés 375 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 7 mai 2014 - 12 août 2010 à 16:45
Bonjour,

<?php
do
{
/* @ permet de supprimer le message d'erreur disant que $_POST['langue'] n'existe pas,
ceci n'est vrai qu'au premier passage, puisqu'elle est crée dans les menus (francais/anglais)*/
switch(@$_POST['langue'])
{
case 'francais':
?>
<ul>
<li><a href="presentation.php">Présentation</a></li>
<li><a href="prestation.php">Prestations</a></li>
<li><a href="reference.php">Références</a></li>
<li><a href="vente.php">Vente</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>

<!--Français s'affiche en premier dans le menu déroulant -->
<form method="post">
<select name="langue" onChange="submit()">
<option value="francais">Français</option>
<option value="anglais">English</option>
</select>
</form>
<?php
$iLangue=1;
break;

case 'anglais':
?>
<ul>
<li><a href="presentation.php">Presentation</a></li>
<li><a href="prestation.php">Prestations</a></li>
<li><a href="reference.php">References</a></li>
<li><a href="vente.php">Sell</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>

<!--Anglais s'affiche en premier dans le menu déroulant -->
<form method="post">
<select name="langue" onChange="submit()">
<option value="anglais">English</option>
<option value="francais">Français</option>
</select>
</form>
<?php
$iLangue=2;
break;

default:
$_POST['langue']='francais';
$iLangue=0;
}
}while($iLangue==0);
/*
Le choix de la langue est remi dans chaque include car je n'ai
pas trouvé comment changer la variable initiale du menu.
Autrement dit, le menu déroulant était toujours sur "français"
donc une fois que le site était en anglais on ne pouvait plus revenir en
français.
Afin d'éviter tout problème dans le switch, si aucune langue n'est
sélectionnée, c'est le français qui sera favorisé.
*/
?>

Ce menu est inséré dans les différentes pages d'un site qui doit être en langue française ou anglaise. Le choix de la langue se fait donc grâce à un menu déroulant.
Le problème c'est qu'a chaque fois que l'on change de page, la variable $_POST['langue'] = francais. Ceci est du au fait qu'à chaque fois que l'on change de page on 'recharge' le menu donc on passe dans "default". Cependant je ne peux pas supprimer default parce que à l'instant de départ $_POST['langue'] ne contient pas de valeur et donc le do while ne s'arrête jamais.

Je voudrais donc savoir comment faire pour donner une valeur à $_POST['langue'] au début sans qu'elle influence le reste par la suite.

Ou alors comment faire pour qu'une fois que le choix de la langue a été effectué il reste "enregistré" malgré le changement de page.

Merci.

A voir également:

2 réponses

Angelneonizz Messages postés 784 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 19 février 2018 137
12 août 2010 à 15:42
salut,

colle ta variable dans un cookie ou une session serveur.
0
Lotus-noir Messages postés 375 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 7 mai 2014 29
12 août 2010 à 16:45
En effet la variable de session m'a permis de régler le problème.

Merci pour votre temps.
0