Problème de script
Résolu
Lotus-noir
Messages postés
420
Statut
Membre
-
Lotus-noir Messages postés 420 Statut Membre -
Lotus-noir Messages postés 420 Statut Membre -
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
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation