Récupération de variable d'une zone de liste dans un form
Bonjour,
Je n'arrive pas à récupérer les variables provenant d'une zone de liste dans un form.
Voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php
$uid=$_SESSION['uid'];
if (isset($_POST['list_user']))
$uid=$_POST['list_user'];
?>
<?php
$req="SELECT use_nom, use_prenom, use_id FROM USER where use_actif=1 ORDER BY use_nom ";
$result=mysql_query($req);
?>
<form id="ajoutmission" name="ajoutmission" action="mission_verif.php" method="post" >
<select name="list_user" size=1 >
<?php while($row=mysql_fetch_array($result)) { ?>
<option value='<?php echo $row[use_id]; ?>' ><?php echo $row[use_nom]; ?> <?php echo $row['use_prenom']; ?></option>
<?php } ?>
</select>
<br /><br />
<table>
<tr><td>Ville</td><td><input type='text' name='ville' size='30'></td></tr>
<tr><td>Pays</td><td><input type='text' name='pays' size='30'></td></tr>
<tr><td>Date de départ</td><td><input type=text name='ddep' size=10 maxlenght=10></td></tr>
<tr><td>Date de retour</td><td><input type=text name='dret' size=10 maxlenght=10></td></tr>
<tr><td>Terrain</td><td><input type=checkbox name='terrain'></td></tr>
<tr><td>Téléphone satelite</td><td><input type=checkbox name='telsat'></td></tr>
<tr><td>Observation</td><td><input type=text name='observation' size=50 maxlenght=50></td></tr>
<input type='hidden' name='use_nom' value="<?php echo $_POST['use_nom']; ?>" >
<input type='hidden' name='use_prenom' value="<?php echo $row['use_prenom']; ?>">
<input type='hidden' name='uid' value='$use_id'>
<tr><td></td><td><input type=submit value='Valider' ></td></tr>
</table>
</form> |
Lorsque je valide le form, voici ce que j'obtiens (valeur pour l'exemple) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Array
(
[list_user] => 505
[ville] => Paris
[pays] => France
[ddep] => 25/10/2010
[dret] => 28/10/2010
[terrain] => on
[telsat] => on
[observation] => RAS
[use_nom] =>
[use_prenom] =>
[uid] => $use_id
) |
Je récupère bien les valeurs des inputtext/checkbox, mais pas les valeurs qui proviennent du <select>, cad, use_id, use_nom et use_prenom, elles restent désespérément vide malgré le fait que la liste est parfaitement générer, la valeur 505 affichée dans l'exemple correspond bien à l'user_id de la personne sélectionnée dans la liste avant la validation.
Comme vous le voyez dans les hidden, j'ai essayé plusieurs méthodes, mais rien n'y fait !
J'y ai passé la journée et malgré des recherches et de multiples tentatives, rien à faire.
Merci à la personne qui pourra me débloquer !
Patrice
Merci pour vos réponses, mais !!
Une image vaux mille mots
Voici mon formulaire qui fonctionnait déjà et me donne bien la liste des utilisateurs.
http://basededonneespro.fr/form_mission01.jpg
J'ai légèrement modifié le select suite à des recherches sur le web :
J'ai juste rajouté les valeurs dans l'attribut value.
Code:
1 2 3 4 5
| <select name="list_user" size=1 >
<?php while($row=mysql_fetch_array($result)) { ?>
<option value='<?php echo $row[use_id]; ?>:<?php echo $row[use_nom]; ?>:<?php echo $row[use_prenom]; ?>' ><?php echo $row[use_nom]; ?> <?php echo $row['use_prenom']; ?></option>
<?php } ?>
</select> |
Résultat du print_r dans la page mission-verif.php qui ne contient que ce code pour l'instant:
Code:
1 2 3 4 5
| <?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?> |
http://basededonneespro.fr/form_mission03.jpg
Mon seul problème, c'est de récupérer les valeurs use_nom, use_prenom et use_id pour les insérer en base de donnée à partir de la page verif_mission.php qui pour le moment à juste un print_r.
La page mission_verif.php aura pour objectifs la vérification des données saisie avant l'enregistrement en base et en même temps un envoi de mail à la personne qui part en mission.
Je ne souhaite pas faire d'autre requête, puisque la personne est sélectionnée dans une liste, donc elle existe obligatoirement, il n'y a pas de vérif à faire.
Mais saperlipopette, comment récupérer ces variables et l'attribuer correctement ? je n'y arrive pas.
Je précise que je suis autodidacte et que je débute, c'est du basic, mais je bloque sur ce point.
Merci encore pour votre aide !