Page 1 sur 1

variable form hidden

Posté : 08 avr. 2011, 12:24
par abx66
Bonjour,
Mon problème va sans doute vous sembler ridicule, mais je rame dessus depuis des jours :
Voilà, j'ai une table que j'appelle pour en extraire les champs, qui s'affichent correctement.
Quand je fais une boucle :
echo $data['login'];
echo .$data['mail'];
Tout marche bien.
Par contre je voudrais faire un bouton de formulaire avec un champ caché, pour faire passer la variable login dans un autre fichier. Je fais donc :
echo '<form vname="form" action="valid/arta.php" method="post" enctype="multipart/form-data" name="form">
<input type="hidden" name="user" value="'.$data['login'].'">
<input type="submit" id="submit" name="submit" value="arta">';

Et là plus de boucle, ça me renvoie systématiquement la valeur de mon dernier enregistrement :-(
Où me trompe-je ?
Merci de votre aide !

Re: variable form hidden

Posté : 08 avr. 2011, 12:30
par misterflo
Salut,
peux-tu nous montrer un peu plus de ton code php stp ?

Re: variable form hidden

Posté : 08 avr. 2011, 13:40
par abx66
Voici :
$sql = 'SELECT login,mail,artistes_a,artistes_b,artistes_c,artistes_d,sportifs_a,sportifs_b,sportifs_c,sportifs_d,politiques_a,politiques_b,politiques_c,politiques_d,inventeurs_a,inventeurs_b,inventeurs_c,inventeurs_d FROM defiflash ORDER BY mail';

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<table border="2" bordercolor="#C90016" align="center" cellspacing="5" cellpadding="5"><tr><td><b>Nom</b></td><td><b>mail</b></td><td><b>art_a</b></td><td><b>art_b</b></td><td><b>art_c</b></td><td><b>art_d</b></td><td><b>spor_a</b></td><td><b>spor_b</b></td><td><b>spor_c</b></td><td><b>spor_d</b></td><td><b>pol_a</b></td><td><b>pol_b</b></td><td><b>pol_c</b></td><td><b>pol_d</b></td><td><b>inv_a</b></td><td><b>inv_b</b></td><td><b>inv_c</b></td><td><b>inv_d</b></td></tr>';
while($data = mysql_fetch_assoc($req))
    {
    echo '<tr><td>'.$data['login'].' </td><td><a href=mailto:'.$data['mail'].'>'.$data['mail'].' </a></td><td>
<form vname="form" action="valid/arta.php" method="post" enctype="multipart/form-data" name="form">
<input type="hidden" name="user" value="'.$data['login'].'">
<input type="submit" id="submit" name="submit" value="arta">
</td><td>'.$data['artistes_b'].'</td><td>'.$data['artistes_c'].'</td><td>'.$data['artistes_d'].'</td><td>'.$data['sportifs_a'].'</td><td>'.$data['sportifs_b'].'</td><td>'.$data['sportifs_c'].'</td><td>'.$data['sportifs_d'].'</td><td>'.$data['politiques_a'].'</td><td>'.$data['politiques_b'].'</td><td>'.$data['politiques_c'].'</td><td>'.$data['politiques_d'].'</td><td>'.$data['inventeurs_a'].'</td><td>'.$data['inventeurs_b'].'</td><td>'.$data['inventeurs_c'].'</td><td>'.$data['inventeurs_d'].'</td></tr>';
    }
echo "</table>";

mysql_close();
}
Merci de votre aide :-)

Re: variable form hidden

Posté : 08 avr. 2011, 14:31
par misterflo
Je crois que je vois pas bien où est le problème (pourtant je suis bien réveiller :D), pour ma part avec ce code il s'affiche un tableau avec toutes les lignes présentes dans mon fichier.

NB: pense à utiliser la balise PHP du forum pour afficher ton code php, c'est plus clair pour les lecteurs ! :wink:

Re: variable form hidden

Posté : 08 avr. 2011, 15:01
par xTG
Déjà tu ne fermes pas ta balise <form> ce qui fait que tu fais des <form> dans des <form>...
Regardes donc le code HTML généré par le navigateur, il est probable que tes lignes doivent être là mais non visible à cause de soucis de balise de ce genre.

Re: variable form hidden

Posté : 11 avr. 2011, 15:02
par abx66
Déjà tu ne fermes pas ta balise <form> ce qui fait que tu fais des <form> dans des <form>...
Regardes donc le code HTML généré par le navigateur, il est probable que tes lignes doivent être là mais non visible à cause de soucis de balise de ce genre.
Bonjour et merci de ta réponse.
J'ai bien rajouté la balise pour fermer le <form> ( #-o ) mais le problème reste entier : quelque soit le bouton sur lequel je clique, seul le premier enregistrement est modifié.
Quand j'affiche le code html de la page, l'ensemble du tableau est affiché, pourtant.
Je ne comprends pô...

Re: variable form hidden

Posté : 11 avr. 2011, 15:29
par xTG
Peux-t-on voit le code réactualisé ?
Car si tu l'as correctement fermée il n'y a pas de raison qu'en postant le formulaire numéro X il te poste le formulaire numéro 1...

Re: variable form hidden

Posté : 11 avr. 2011, 16:21
par telnes
hello

j'ai pas lu le code ( hou hou) mais je passerais par des liens avec des paramètres URL (http://mapage.php?id=[idUSer] par exemple ) que l'on récupère avec $_GET['id']

enjoy

++

Re: variable form hidden

Posté : 12 avr. 2011, 13:53
par abx66
Peux-t-on voit le code réactualisé ?
Car si tu l'as correctement fermée il n'y a pas de raison qu'en postant le formulaire numéro X il te poste le formulaire numéro 1...
Voilà :
$sql = 'SELECT login,mail,artistes_a,artistes_b,artistes_c,artistes_d,sportifs_a,sportifs_b,sportifs_c,sportifs_d,politiques_a,politiques_b,politiques_c,politiques_d,inventeurs_a,inventeurs_b,inventeurs_c,inventeurs_d FROM defiflash ORDER BY mail';

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<table border="2" bordercolor="#C90016" align="center" cellspacing="5" cellpadding="5"><tr><td><b>Nom</b></td><td><b>mail</b></td><td><b>art_a</b></td><td><b>art_b</b></td><td><b>art_c</b></td><td><b>art_d</b></td><td><b>spor_a</b></td><td><b>spor_b</b></td><td><b>spor_c</b></td><td><b>spor_d</b></td><td><b>pol_a</b></td><td><b>pol_b</b></td><td><b>pol_c</b></td><td><b>pol_d</b></td><td><b>inv_a</b></td><td><b>inv_b</b></td><td><b>inv_c</b></td><td><b>inv_d</b></td></tr>';
while($data = mysql_fetch_assoc($req))
    {
    echo '<tr><td>'.$data['login'].' </td><td><a href=mailto:'.$data['mail'].'>'.$data['mail'].' </a></td><td>
<form vname="form" action="valid/arta.php" method="post" enctype="multipart/form-data" name="form">
<input type="hidden" name="login" value="'.$data['login'].'">
<input type="submit" id="submit" name="submit" value="arta"></form>
</td><td>'.$data['artistes_b'].'</td><td>'.$data['artistes_c'].'</td><td>'.$data['artistes_d'].'</td><td>'.$data['sportifs_a'].'</td><td>'.$data['sportifs_b'].'</td><td>'.$data['sportifs_c'].'</td><td>'.$data['sportifs_d'].'</td><td>'.$data['politiques_a'].'</td><td>'.$data['politiques_b'].'</td><td>'.$data['politiques_c'].'</td><td>'.$data['politiques_d'].'</td><td>'.$data['inventeurs_a'].'</td><td>'.$data['inventeurs_b'].'</td><td>'.$data['inventeurs_c'].'</td><td>'.$data['inventeurs_d'].'</td></tr>';
    }
echo "</table>";

mysql_close();
Je ne vois pas non plus où le bât blesse :?

Re: variable form hidden

Posté : 12 avr. 2011, 13:59
par macgawel
Je vais peut-être dire une connerie (j'aurais fait comme telnes, avec un GET), mais c'est normal que tous les formulaires aient le même vname ?

Re: variable form hidden

Posté : 14 avr. 2011, 10:33
par abx66
Je vais peut-être dire une connerie (j'aurais fait comme telnes, avec un GET), mais c'est normal que tous les formulaires aient le même vname ?
L'idée m'a parue bonne, j'ai testé avec <form vname="'.$data['login'].'" action="valid/arta.php" method="post" enctype="multipart/form-data" name="form">
Mais non :-( (en changeant le name="form" non plus, d'ailleurs)
Merci quand même !

Re: variable form hidden

Posté : 14 avr. 2011, 18:05
par moogli
yop,

je pense que le système est mal conçu ? que souhaite tu faire exactement ?

si non nome le bouton submit avec un nom explicite contenant l'id correspondant au pseudo ou passe un champ hidden en même temps pour faire la correspondance entre les deux.

je n'ai pas trouvé d'attribut vname, qu'est ce ? (d'ailleur il me semble que name n'est pas accepté en xhtml ;) )


@+