Page 1 sur 1
Methode POST avec un lien
Posté : 20 sept. 2006, 14:47
par Dom!
Bonjour,
Est ce que vous pouvez m'indiquer comment passer des données par la methode POST avec un lien ... et non un bouton !
merci d'avance
Posté : 20 sept. 2006, 14:57
par bobthequ
les parametres passé dans une url se recupere forcement par un GET
pour utiliser un POST il faut un formulaire.
Posté : 20 sept. 2006, 15:07
par Dom!
Oui je suis d'accord mais est ce que via un formulaire je peux passer une valeur par la méthode POST en cliquant sur un lien et non un bouton ?
Merci
Posté : 20 sept. 2006, 15:18
par charabia
Avec un tit javascript :
Code : Tout sélectionner
<a href="javascript:document.nomduformulaire.submit()">Valider</a>
Posté : 20 sept. 2006, 16:48
par Dom!
Ok !
Donc j'ai procédé comme suit mais il m'affiche toujours le derniere enregistrement de mon tableau !!
<td align="center" valign="middle"><form name="form3" method="POST" action="liste_demandes.php"><input name="iddoc" type="hidden" value="'.$selectdip["iddoc"].'"><a href="javascript:document.form3.submit()">'.$selectdip["iddoc"].'</a></form></td>
Pourquoi ? merci pour votre aide
Posté : 20 sept. 2006, 16:52
par bobthequ
que doit faire ton bout de script ???
Posté : 20 sept. 2006, 16:54
par Dom!
M'ouvrir liste_demandes.php en passant comme valeur iddoc par la methode POST.
Ensuite je récupere cette valeur et je la traite.
Posté : 20 sept. 2006, 16:57
par bobthequ
quand tu affiches la source html de ton code (avant validation) tu as bien une valeur dans value="???" de iddoc ?
Posté : 20 sept. 2006, 16:59
par Ryle
Ca serait pas plus simple de la passer en get et de gerer les deux possibilités pour récupérer la valeur (get et post) dans ton script liste_demandes.php ?
$valeur = isSet($_POST['iddoc']) ? $_POST['iddoc'] : (isSet($_GET['iddoc']) ? $_GET['iddoc'] : $defaut);
Sinon, si le problème vient du fait que tu n'es pas redirigé vers la page liste_demandes.php, essaye de mettre le lien comme ceci :
Code : Tout sélectionner
<a href="javascript:void(0)" onClick="javascript:document.nomduformulaire.submit()">Valider</a>
Posté : 20 sept. 2006, 17:07
par Dom!
non je suis bien redirigé vers ma page ! mon probleme c'est que la valeur de iddoc est toujours la derniere de mon tableau !!
Par exemple j'ai un tableau avec :
21 Dominique
48 Jean
la valeur de iddoc est toujours 48 ... meme si je clic sur 21...
je ne comprend pas pourquoi ?!
Posté : 20 sept. 2006, 17:12
par sadeq
Je pense que le problème vient du fait que tu as plusieurs <td> et donc plusieurs <form>
et que tu utilises le même nom pour tous les formulaires
Il faut donner des noms différents de formulaires et spécifier le bon nom de form dans les submit()
Exemple :
si la production des <td> est automatisée dans une boucle PHP,
il faut utiliser un compteur de form (dans l'exemple c'est $i)
$i = 1; //initialiser un compteur de form
...
<td align="center" valign="middle">
<form name="form'.$i.'" method="POST" action="liste_demandes.php">
<input name="iddoc" type="hidden" value="'.$selectdip["iddoc"].'">
<a href="javascript:document.form'.$i.'.submit()">'.$selectdip["iddoc"].'</a>
</form>
</td>
...
$i++; //incrémenter le compteur
ps: Attention, remplaces "javascript& #058;" par "javascript:"