Problème de script
Résolu
Lotus-noir
Messages postés
375
Date d'inscription
Statut
Membre
Dernière intervention
-
Lotus-noir Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
Lotus-noir Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
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.
<?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:
- Problème de script
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation