[php ?] $_POST et fonction utilisateur...

Résolu/Fermé
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008 - 22 juil. 2007 à 21:23
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008 - 22 juil. 2007 à 23:17
Bonjour,
grace à votre aide, j'ai enfin reussi a faire une fonction sympas pour moi... Mon problème c'est que du coup, je n'arrive plus a recuperer les valeurs des champs...
Explication en contexte :

La fonction suivante a pour but d'afficher un menu deroulant avec les valeurs $champs issue de la table $table, trié par $order. Le champs aura pour nom $label, affichera $afficher, prendra la valeur $value. Ici le $where ne sert a rien.
function f_recherche($table, $champs, $order, $label, $afficher, $value, $where)
{
echo ('
<tr>
<td width="10"></td>
<td>'.$label.' (choisir dans la liste):</td>
<td>');
$result = f_requete($table, $champs, $order, $where);

echo ('<select name="'.$label.'" size=1><option value=""></option>');//1er ligne doit etre blanche
while($row = mysql_fetch_array($result)) {
//form select pour liste deroulante
echo ('<option value="'.eval('echo '.$value.';').'">');
eval('echo '.$afficher.';');
echo '</option>';

}
echo ('
</select>
</td>
</tr>');
}
?>

Cette fonction est appelé dans livres.php par ce principe ci :
<form method="post">
<table class="recherche" align="center">
<tr>
<td width="10"></td>
<td colspan="4" class="recherchetitre" align="center">Recherche & Trie</td>
<td></td>
</tr>
<?php f_recherche ("Livres","Livre_num, Livre_titre","Livre_titre","Titre",'$row[\'Livre_titre\']','$row[\'Livre_num\']');?>
... (toutes les balises sont correctement fermées dans la suite).

Vous remarquerez que form n'a pas d "action" mais ca ne changerais pas mon pb.
Mon souci, c'est qu'en validant se formulaire, je n'optiens rien dans la variable $_POST['Titre'].
Si je ne passe pas par la fonction, et que j'ecris tout directement dans livres.php ça fonctionnerais.

Du coup je m'interroge sur la "passabilité" (je connais pas de terme exact...) des valeurs des champs.

Merci de vos remarques et pistes...
si je ne suis pas claire je recommencerais, mais vous le regretterez ! :D
A voir également:

2 réponses

simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008
22 juil. 2007 à 23:09
Des infos supplementaires, j'ai compris ce qui ne marche pas, mais ne sais pas le resoudre...
Voila ce que m'affiche le code source de ma page si je la lance avec mon explorer :

<select name="Titre1" size=1><option value=""></option>1<option value="">Test</option>2<option value="">test2</option>3<option value="">test3</option>
</select>

Ce qui est presque juste en soit... sauf que les 1, 2, 3... devrait se trouver entre les " " de value = " " !!!!

Merci de votre soutient !
0
simbadzemarin Messages postés 31 Date d'inscription samedi 30 juin 2007 Statut Membre Dernière intervention 17 mars 2008
22 juil. 2007 à 23:17
Solution trouvé, mais pas comprise...

la boucle while doit devenir :
while($row = mysql_fetch_array($result)) {
echo ('<option value="');
eval('echo '.$value.';');
echo ('">');
eval('echo '.$afficher.';');
echo '</option>';
}

Et tout rentre dans l'ordre...

Par contre, pourquoi eval provoque ça ????

Ce qui laisse tout de même une question a mon post auto resolu !!! :D
0