Garder sélectionné la valeur d'une liste(php)

Suan01 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Gremy87 Messages postés 352 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je voudrais que lorsqu'un utilisateur fait un choix dans la liste suivante, que ce choix soit présélectionné au prochain chargement de la page, le problème c'est que le code PHP que j'ai ici ne sauve pas la sélection au prochain chargement.

<select name="pays" size="1" id="pays">

              <option value="belgique" 
			  <?php if ($_POST['pays'] == "belgique") { echo 'selected="selected"'; }?>
              >Belgique</option>
             
              <option value="canada"  
<?php if ($_POST['pays'] == "canada") { echo 'selected="selected"';}?>
>Canada</option>
            

             <option value="france" 
<?php if ($_POST['pays'] == "france") { echo 'selected="selected"'; }?>
>France</option>

              <option value="suisse"
<?php if ($_POST['pays'] == "suisse") { echo 'selected="selected"'; }?>
>Suisse</option>


Merci,
S.
A voir également:

3 réponses

Gremy87 Messages postés 352 Date d'inscription   Statut Membre Dernière intervention   38
 
Bonjour,

bon le code à l'air correct, c'est que le problème ne vient pas de la.

pour que ton code fonctionne il faut que la page d'avant celle-ci soit deja celle-la pour avoir ton $_POST avec les bonnes valeurs.

"au prochain chargement de la page", c'est a dire? dans la meme session de navigation ou 3 jours plus tard? dans le premier cas un variable de session me parait etre une bonne option, dans le second cas c'est la BDD la meilleure solution

bonne journée
0
Suan01 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour,

La valeur n'est sauvée que quand le formulaire, une fois validé pour tout enregistrer dans la base de donnée, recharge la page, à ce moment je vois le pays sélectionné. Mais si je recharge la page, donc sans valider le formulaire, juste en retapant le même URL, la liste revient sur la première sélection et non celle enregistrée dans la base de donnée.
0
Gremy87 Messages postés 352 Date d'inscription   Statut Membre Dernière intervention   38
 
Bonjour,


tu aimerais que si l'utilisateur change la valeur de ta listbox cela soit sauvegarder meme si il ne valide pas le formulaire? juste sauvegarder a chaque changement en fait?
si c'est cela, je vois bien une solution mais elle me parait un peu barbare pour l'utilité. un onChange sur ton select qui appel donc une fonction javaScript qui appel une page php en ajax avec en parametre la nouvelle valeur de ta liste. la page php mettra cette valeur en session.

onChange -> fct javascript -> page.php?toto=laval -> $_SESSION['toto']=$_GET['toto']

ensuite il faut que tu teste l'existence de ta variable de session et si elle existe selectionner la bonne valeur.

voili voilou, bonne journée

0