envoyer donnees d'un formulaire dans url

b3f3
Invité n'ayant pas de compte PHPfrance

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.

ViPHP
ViPHP | 3607 Messages

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>

ViPHP
fab
ViPHP | 2657 Messages

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
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

b3f3
Invité n'ayant pas de compte PHPfrance

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