Php impossible récupérer valeur select

Résolu
thenull Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
thenull Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
sur une page php , j'ai un formulaire sur lequel j'ai mis une liste déroulante "fonction" alimentée par une table "fonctbureau" avec le champ "poste". Jusque là tout fonctionne
Mon problème est que ce formulaire est destiné à alimenter une autre table "membres" et j'y arrive pas (sauf pour les input text ordinaire).
voici un extrait de mon code pour le formulaire avec le select

<form action="envoi_m.php" method="post" name="forminscr" id="forminscr" >
<input type="text" name="nom" size="40" maxlength="50"  />

<?php
require_once('../../Connections/mabase.php');

mysql_select_db("base"); // Sélection de la base
echo '<select name="fonction" >';
$resfonction=mysql_query("SELECT poste FROM fonctbureau") ;
echo '<option value="" selected></option>'; //ligne d'option vide
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne["fonction"].'">'.$ligne["poste"].'</option>';

}
echo '</select>';
?>
<input type="submit" name="bouton" value="Envoyer" />
</form>

et celui de la page qui permet l'enregistrement des données (je signale que pour les input text ça fonctionne bien, par contre):


<?php
//je récupère les valeurs du formulaire
$nom = $_POST['nom'];// là ça fonctionne impec
$fonction = $_POST['fonction'];//là ça me récupère rien du tout
// je les envoie dans la table membres
require_once('../../Connections/mabase.php');
mysql_select_db("base");

mysql_query("INSERT INTO membres VALUES('', '" . $nom . "', '" . $fonction . "'"')");

mysql_close();
?>


où est-ce que je me trompe ?

5 réponses

william7007 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   46
 
SLT
dsl de ne l'avoir pas vu de ci tot
au fait sur cette ligne
echo '<option value="'.$ligne["fonction"].'">'.$ligne["poste"].'</option>';

d'où te sort le champ fonction dans $ligne["fonction"], car si j'en tiens au resultat de la requete
$resfonction=mysql_query("SELECT poste FROM fonctbureau") ;

tu fais une projection sur une seule colonne à savoir poste, il n'y a pas de champs fonction
je ne sais pas mais d'ares moi ta requete devrais etre un truc du genre
$resfonction=mysql_query("SELECT poste, fonction FROM fonctbureau") ;

à condition bien sure que fonction existe dans la table fonctionbureau
essaie de reverifier voir ta requete

cdlt.
;-)
1
thenull Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
echo '<option value="'.$ligne["fonction"].'">'.$ligne["poste"].'</option>';


effectivement !!!
si je mets
echo '<option>'.$ligne["poste"].'</option>';

tout s'arrange !
Merci
0
william7007 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   46
 
Slt
retire le selected da l'option vide echo '<option value="" selected></option>'; //ligne d'option vide
car il selectionne celle là par deffaut et mm si tu choisit une autre il reselectionne encore celle là.
juste met ça
echo '<option value=""></option>'; //ligne d'option vide
et ça va marcher

il risque aussi d'avoir un petit probleme pour cette requete
mysql_query("INSERT INTO membres VALUES('', '" . $nom . "', '" . $fonction . "'"')");

moi je miserais pour celle ci
mysql_query("INSERT INTO membres VALUES('', '" . $nom . "', '" . $fonction . "')");



cdlt
;-)
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
non william

car il selectionne celle là par deffaut et mm si tu choisit une autre il reselectionne encore celle là.


selected sert seulement à l'affichage de la liste a mettre l'élément apparent, pas au moment de l'envoi du formulaire
0
william7007 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   46
 
ok
toutefois essaye de l'enlever et fait un
echo $_POST['fonction'];
pour voir si elle est arrivée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
fait afficher code source pour voir si tu as bien value="qq chose" dans le code genéré pour ta liste déroulante
0