Question

Pourquoi, lorsque je passe des paramètres via une URL codée et une méthode GET sous forme HTML, les paramètres codés par une URL sont supprimés?

par exemple. Configuration:

<form action="process.php?hello=world" method="GET">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>

Résultat: la variable hello ne sera pas reconnue dans process.php .

Est-ce une mauvaise pratique?

Est-ce ainsi que PHP le traite ou est-ce lié à la manière dont le navigateur envoie la demande? Le même problème existe-t-il dans d'autres langues?

Était-ce utile?

La solution

Oui, c'est une mauvaise pratique car cela ne fonctionne tout simplement pas.

Si vous souhaitez passer " saisie de formulaire masquée " alors vous devez utiliser un élément de formulaire caché:

<input type="hidden" name="hello" value="world" />

Comme le dit rezzif dans son commentaire, vous pouvez mélanger GET & amp; POSTE comme ceci:

<form action="/something?foo=bar" method="POST">
<input type="text" name="baz" />
</form>

En règle générale, j’évite toutefois de mélanger les deux. Je trouve cela bizarre d’avoir des paramètres GET dans mon action de formulaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top