Tom: 2 GET-Variabeln durch 2 Formulare übergeben: funktioniert nicht

Beitrag lesen

Hello,

Ich habe 3 Formulare die aufeinanderaufbauen /

also nacheinander auf je einen Request des Clients vom Server als Response im HTML-Dokument geliefert werden?

verschachtelt sind.

Das ist nicht zulässig. HTML-Formulare dürfen nicht geschachtelt werden

Das erste Formular soll die Variable per GET weitergeben -

Du meinst also, einen Requestparameter an den Server per GET übertragen?

das zweite auch.

Wenn das zweite Formular einen GET-Parameter aus dem ersten Formular ebenfalls wieder als GET-Parameter an die URL anhängen soll, so liefere den Parameter einfach als versteckten Input-Value (<input type="hidden" name="erster_param" value="so einfach ist das?">) mit.

Das dritte per POST.

Dagegeb ist nichts einzuwenden.

Nun sollte die URL so aussehen:

http://meineswebsite.de/Verzeichnis/?var1=bla1;var2=bla2
bzw.
    http://meineswebsite.de/Verzeichnis/?var1=bla1&var2=bla2 .

Das ist möglich, wenn diese URi genau so als Action-Attribut in der Response, die das dritte Formular an den Client ausgeliefert hat, dringestanden hat.

Das Problem ist nur, dass die zweite GET-Variable die erste GET-Variable überschreibt:

Jede Absendung eines Requests aus dem Browser per GET-Methode löscht die in der URi enthaltenen Parameter und hängst stattdessen die neuen gülitgen Requestparameter an. Wie man ältere aus vorhergegangenen Formularen eines Vorganges erhalten kann -> siehe oben!

Aber warum willst Du beim dritten Schritt überhaupt noch Parameter per GET übertragen, wenn Du dich doch sowieso schon für die Methode POST entschieden hast? Dann kannst Du doch alle Requestparameter beim dritten Mal per POST üertragen.

Aber es ist - wie schon erwähnt - durchaus möglich, eine URL mit angehängten GET-Parametern als Action-Attribut des Formulars zu verwenden und trotzdem die Methode POST zu benutzen, um _zusätzliche_ Parameter per Post zu übertragen.

Es gilt eine ungeschriebene Regel: übertrage per GET, was in Suchmaschinen landen soll, übertrage per POST, was nur den User und seine privaten Vorgänge betrifft, also _nicht_ in Suchmaschinen gespeichert werden soll.

Darüberhinaus gibt es selbstverständlich noch andere gute Gründe für die Entscheidung zwischen GET und POST.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de