garder le choix d'une liste déroulante après contrôle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : garder le choix d'une liste déroulante après contrôle

par lamk » 09 mai 2005, 11:38

MERCI bcp sadeq !! ça marche nickel!

par sadeq » 09 mai 2005, 11:12

Dans la boucle de construction du SELECT (liste de choix) tu dois fixer un ordre SELECTED sur l'option qui a été déjà sélectionnée avant le dernier SUBMIT en écrivant :
....
echo "<div class='champ'><select name='listt'>"; 
    echo "<option value=''>--Sélectionner un type--</option>"; 
    while ($r2 = mysql_fetch_array($listt)) 
    { 
       $selectionnée = ($r2[0] == $_POST["listt"]) ? " SELECTED " : "";
      echo "<option value='".$r2[0]."'  $selectionnée >".$r2[0]."</option>"; 
    } 
    echo "</select></div></div>"; 
....
?> 

garder le choix d'une liste déroulante après contrôle

par lamk » 09 mai 2005, 10:58

Bonjour all,
voilà j'ai un petit problème pour garder le choix d'un menu déroulant après un controle de saisi du formulaire.
Pour le champ input text c'est bon, mais pour la liste je ne sais pas comment m'y prendre..
si qqun peut m'aider, merci d'avance !

voilà une partie de mon code :
	<div class='form-ligne'>
	<div class='label'>Nom :<font color='red'> *</font></div>
	<div class='champ'><input name='nom' type='text' size='150' maxlength='150' title='Saisir le nom du produit' value='<? if (isset($_POST['nom'])){echo $_POST['nom'];}?>'></div>
</div>

<?	
...
$sql2 = "SELECT t_nom FROM type ORDER BY t_nom ASC";
	$listt=mysql_query("$sql2") or die("Invalid query : ".mysql_error());
	echo "<div class='form-ligne'>";
	echo "<div class='label'>Type :<font color='red'> *</font></div>";
	echo "<div class='champ'><select name='listt'>";
	echo "<option value=''>--Sélectionner un type--</option>";
	while ($r2 = mysql_fetch_array($listt))
	{
		echo "<option value='".$r2[0]."'>".$r2[0]."</option>";
	}
	echo "</select></div></div>";
?>

	<br><div class='form-ligne'>
		<div class='boutons'>
		<input type='submit' name='ajout' value='Ajouter'></div>
	</div>

<?
	if(isset($_POST['ajout']))
	{
		if($_POST['user']==NULL){echo "<font color='red'>Veuillez saisir vos initiales.</font><br>";}
		if($_POST['listt']==NULL){echo "<font color='red'>Veuillez saisir un type de produit.</font><br>";echo $_POST['listt'];}
}
....
?>