Php impossible récupérer valeur select
Résolu
thenull
Messages postés
13
Statut
Membre
-
thenull Messages postés 13 Statut Membre -
thenull Messages postés 13 Statut Membre -
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
et celui de la page qui permet l'enregistrement des données (je signale que pour les input text ça fonctionne bien, par contre):
où est-ce que je me trompe ?
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 ?
Configuration: Windows XP Firefox 3.0.13
5 réponses
-
SLT
dsl de ne l'avoir pas vu de ci tot
au fait sur cette ligneecho '<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.
;-) -
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 requetemysql_query("INSERT INTO membres VALUES('', '" . $nom . "', '" . $fonction . "'"')");
moi je miserais pour celle cimysql_query("INSERT INTO membres VALUES('', '" . $nom . "', '" . $fonction . "')");
cdlt
;-) -
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 -
ok
toutefois essaye de l'enlever et fait un
echo $_POST['fonction'];
pour voir si elle est arrivée
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
fait afficher code source pour voir si tu as bien value="qq chose" dans le code genéré pour ta liste déroulante