envoyer donnees d'un formulaire dans url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : envoyer donnees d'un formulaire dans url

Re: envoyer donnees d'un formulaire dans url

par b3f3 » 30 oct. 2009, 00:05

Pour pouvoir renvoyer des élements déjà présents dans ton url avec ton formulaire, il faut les ajouter en champs cachés, exemple:
<form method="GET" action="">
<?php
foreach($_GET as $key=>$value){
    echo '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
}
?>
<!-- le reste du formulaire -->
</form>
Merci, j'ai réussi à mettre cela en oeuvre mais je souhaite maintenant savoir comment ajouter 2 champs cachés.
J'ai
<form method="get" action="index.php?page=praticiens&action=show&id=<?php  echo $_GET['id']; ?>">
Comment puis-je renvoyer l'élément page et l'élément action ?
Merci

Re: envoyer donnees d'un formulaire dans url

par fab » 29 oct. 2009, 09:58

La "method" de ton formulaire c'est GET donc tous les champs du formulaire vont se retrouver dans l'url. Si tu veux changer ça utilise la method POST, par contre pour récupérer les valeurs faudra que tu utilises le tableau $_POST et non plus le tableau $_GET

Re: envoyer donnees d'un formulaire dans url

par jojolapine » 29 oct. 2009, 09:47

Pour pouvoir renvoyer des élements déjà présents dans ton url avec ton formulaire, il faut les ajouter en champs cachés, exemple:
<form method="GET" action="">
<?php
foreach($_GET as $key=>$value){
    echo '<input type="hidden" name="'.$key.'" value="'.$value.'" />';
}
?>
<!-- le reste du formulaire -->
</form>

envoyer donnees d'un formulaire dans url

par b3f3 » 29 oct. 2009, 08:14

Bonjour,
Je suis conscient que mon problème est très basique mais malgré des heures de recherches, je ne trouve pas la solution.
Voici mon code :
<form method="get" action="index.php?page=pagex&id=<?php echo $_GET['id']; ?>">
<label for="id">Numéro :</label><input type="text" id="id" name="id"/>
<input type="submit" name="submit" value="Valider" />
</form>
Si par exemple je saisi 10007 dans mon formulaire, l'url obtenue est :
index.php?id=10007&submit=Valider
au lieu de :
index.php?page=pagex&id=10007
Qu'est ce que je n'ai pas compris ?
Merci.