Frage

Warum ist es, dass, wenn ich Parameter durch kodierte URL übergeben und GET-Methode in HTML-Form, die URL kodierten Parameter fallen gelassen werden?

z. Setup:

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

. Ergebnis: die Variable hello nicht in process.php erkannt werden

Ist die schlechte Praxis?

Ist dies, wie PHP verarbeitet sie, oder es wird damit zusammen, wie der Browser die Anfrage senden? Gibt es das gleiche Problem in anderen Sprachen?

War es hilfreich?

Lösung

Ja, das ist eine schlechte Praxis, weil es funktioniert einfach nicht.

Wenn Sie in „hidden Formulareingabe“ übergeben wollen, dann müssen Sie ein verstecktes Formularelement verwenden:

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

Wie rezzif Zustände in seinem Kommentar, können Sie mischen GET & POST etwa so:

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

Als allgemeine Regel, die ich vermeiden Mischen der beiden though. Ich finde es bizarr GET params in meiner Form Aktion zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top