Php impossible récupérer valeur select [Résolu/Fermé]

Signaler
Messages postés
12
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
10 juillet 2013
-
Messages postés
12
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
10 juillet 2013
-
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

Messages postés
335
Date d'inscription
dimanche 28 décembre 2008
Statut
Membre
Dernière intervention
23 mars 2010
47
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
12
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
10 juillet 2013

echo '<option value="'.$ligne["fonction"].'">'.$ligne["poste"].'</option>';


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

tout s'arrange !
Merci
Messages postés
335
Date d'inscription
dimanche 28 décembre 2008
Statut
Membre
Dernière intervention
23 mars 2010
47
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
;-)
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
885
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
Messages postés
335
Date d'inscription
dimanche 28 décembre 2008
Statut
Membre
Dernière intervention
23 mars 2010
47
ok
toutefois essaye de l'enlever et fait un
echo $_POST['fonction'];
pour voir si elle est arrivée
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
885
fait afficher code source pour voir si tu as bien value="qq chose" dans le code genéré pour ta liste déroulante