Garder la valeur d'une liste déroulante après validation

Résolu/Fermé
Bryant - 18 déc. 2013 à 09:04
 Bryant - 18 déc. 2013 à 10:51
Bonjour,
Voila, je suis en train de développer un formulaire et je rencontre un petit soucis sur une liste déroulante.
Alors en fait mon soucis est que lorsque je sélectionne un choix dans ma liste déroulante, je voudrais que le choix sélectionné reste sélectionné une fois que je valide le formulaire même si d'autres champs du formulaire ne sont pas bons !
En fait, je veux éviter de reprendre mon formulaire à zéro à chaque fois que j'ai une erreur dans mon formulaire.

Concernant les champs textes, je n'ai pas de soucis par contre pour ma liste déroulante, je n'arrive pas à garder le choix sélectionné.

Voici le code que j'ai mis dans ma liste déroulante :

					<label for="Statut" class="float">Statut : </label>
					<select name="Statut">
						<option name="Statut" value="Administrateur" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['form_statut'] == "Administrateur")? 'selected="selected"' : ''; ?> >Administrateur</option>
						<option name="Statut" value="Membre" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['form_statut'] == "Membre")? 'selected="selected"' : ''; ?> >Membre</option>
					</select><br />


Si quelqu'un pouvais m'aider, cela serait avec plaisir !
D'avance merci

3 réponses

kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
18 déc. 2013 à 09:17
salut et ce code que tu as ne marche pas? alors enelve les doubles quotes que tu as mis a selected="selected" , mets plutot "selected = selected"
0
Salut Kherox !
Si j'enlève les cotes j'ai cette erreur :

Parse error: syntax error, unexpected '='

Merci
0
Dans l'exemple ci-dessus:

Remplacer : "selected = selected"

Par : "selected = 'selected'"
0
Salut Bryant,

Comment va ? :)

Essayez ça pour voir:

<label for="Statut" class="float">Statut : </label>
<select name="Statut">
<option name="Statut" value="Administrateur" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['form_statut'] == "Administrateur")? 'selected' : ''; ?> >Administrateur</option>
<option name="Statut" value="Membre" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['form_statut'] == "Membre")? 'selected' : ''; ?> >Membre</option>
</select><br />

Cordialement.
0
Salut incodr :)
ça va niquel et toi?
ça ne marche toujours pas même avec ton code !
0
Ca va merci :)

Avez-vous une erreur ?
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
18 déc. 2013 à 09:25
ok on va faire comme cela

<option value="...." selected="<?php echo (isset($_SESSION['statut_info']) && $_SESSION['form_statut'] == "Membre")? 'selected' : ''; ?>"

essaie cela ussi
0
Ça devrait fonctionner cela pourtant ! :)
0
kherox Messages postés 131 Date d'inscription dimanche 13 janvier 2013 Statut Membre Dernière intervention 17 octobre 2015 1
18 déc. 2013 à 09:33
effectivement, aahi
0
enqueteactualite Messages postés 70 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 16 mai 2015 16
18 déc. 2013 à 09:30
Tu vérifi une variable mais pas l'autre c'est bizarre, essaie :

<label for="Statut" class="float">Statut : </label>
<select name="Statut">
	<option name="Statut" value="Administrateur" <?php echo (isset($_SESSION['form_statut']) && $_SESSION['form_statut'] == "Administrateur") ? 'selected' : ''; ?> >Administrateur</option>
	<option name="Statut" value="Membre" <?php echo (isset($_SESSION['form_statut']) && $_SESSION['form_statut'] == "Membre") ? 'selected' : ''; ?> >Membre</option>
</select><br /> 


ou

<label for="Statut" class="float">Statut : </label>
<select name="Statut">
	<option name="Statut" value="Administrateur" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['statut_info'] == "Administrateur")? 'selected="selected"' : ''; ?> >Administrateur</option>
	<option name="Statut" value="Membre" <?php echo (isset($_SESSION['statut_info']) && $_SESSION['statut_info'] == "Membre")? 'selected="selected"' : ''; ?> >Membre</option>
</select><br />
0
Salut enqueteactualite et merci de me répondre !
Mais tes codes ne marche pas non plus ! c'est coriace !
0
enqueteactualite Messages postés 70 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 16 mai 2015 16
18 déc. 2013 à 09:44
La première chose que je fais quand je code et que j'ai une erreur c'est d'afficher le contenu de mes variable, donc met un :

print_r($_SESSION);


Et regarde ce que contient tes variable, éventuellement colle le résultat ici si tu arrive toujours pas à trouver le problème
0
En fait quand je fais :

print_r($_SESSION);


Ma variable statut ne s'affiche pas donc j'ai deja un problème à ce niveau là !
0
enqueteactualite Messages postés 70 Date d'inscription mercredi 11 décembre 2013 Statut Membre Dernière intervention 16 mai 2015 16
18 déc. 2013 à 09:56
Ben voilà ;) donc tu perd du teps à essayé de comprend pourquoi ton code de selection fonctionne pas alors qu'il marche très bien... Le problème viens du fait que la variable est pas défini.

Je t'avais dit hier je crois de ne pas utilisé les sessions pour controller un formulaire car ça joue sur les performance de ton script et SURTOUT les sessions pose problème avec la sécurité donc ont les utilise pas quand c'est pour gérer des données perso.

quand ont fait un formulaire ont édite déjà un tableau du genre :

$form = array(
		'pseudo' =>,
		'mdp' =>,
		'nom' =>,
		'prenom' =>
);


Puis quand tu vérifi le $_POST tu peut faire un truc du genre :

$form = array(
		'pseudo' => (isset($_POST['pseudo'])) ? $_POST['pseudo'] : '',
		'mdp' =>(isset($_POST['mdp'])) ? $_POST['mdp'] : '',
		'nom' =>(isset($_POST['nom'])) ? $_POST['nom'] : '',
		'prenom' =>(isset($_POST['prenom'])) ? $_POST['prenom'] : '',
);


ici en quelques lignes 1 : tu détermine tes valeurs et en 2 : si le formulaire est posté tu met à jour les valeur.

et de 3 tu as pas 36 nom de variable et au final tu t'y retrouve plus facilement car tu aura que UNE variable nommé $form pour ton formulaire.

J'ai déjà travaillé avec des formulaire extrêmement long est multiple donc tu dois apprendre à faire simple
1
Oui mais là je vais m'y perdre ^^
Ma page de vérif fais 344 lignes donc si je dois faire un tableau je vais m'y perdre là :(
0