POST ohne action behält $_GET
Timo
- php
Hi,
Wenn ich ein Formular absende, dass keine "action"-Angabe hat werden
vorhandene Get-Anweisungen auch mit übergeben.
Somit zeigt danach $_GET und auch $_POST die jeweiligen Parameter die
übergeben wurden.
Ist dieses Verhalten Zufall oder gewollt? Es hat sowohl Vor-als auch Nachteile sich darauf zu verlassen und das zu nutzen, daher die Frage. Denn normalerweise müsste ich vorhandene GetVariablen beim Einsatz eines Formulars dort mit einbauen, wenn ich diese auch noch brauche, lasse ich aber "action" weg kann ich mir das ersparen.
Getestet nur im IE.
Timo
Wenn ich ein Formular absende, dass keine "action"-Angabe hat werden
vorhandene Get-Anweisungen auch mit übergeben.
Meinst du nicht vielleicht eher das Attribut method?
Ist dieses Verhalten Zufall oder gewollt?
HTML 4, Abschnitt 17.3, "The FORM element":
method = get|post [CI]
This attribute specifies which HTTP method will be used to submit the form data set. Possible (case-insensitive) values are "get" (the default) and […]
action enthält lediglich die Ziel-URL, und die kann, wie in allen anderen Fällen auch, eine relative und damit auch leer (=URL des Formulars) sein.
Meinst du nicht vielleicht eher das Attribut method?
»»
Hi, glaubst Du ohne method="post" würde $_POST existieren?
An alle anderen, danke für die Antworten vor allem deine cybaer, denn
sonst hätte ich wegen Cheatahs Antwort gedacht, es wäre nicht gut
das so zu machen. Nun weiss ich also, dass ich mich darauf verlassen
kann, dass die Get-Parameter in jedem Browser automatisch übergeben werden ohne erneut wegen Method-Umstellung diese extra in den Post-Parameter mit einzubringen.
<form action="" method="post">
Timo
Hi,
Wenn ich ein Formular absende, dass keine "action"-Angabe hat
... dann ist der HTML-Code ungültig. Somit ist jede Betrachtung hinfällig.
werden vorhandene Get-Anweisungen
Parameter. Es gibt dort weder Anweisungen noch Variablen.
Ist dieses Verhalten Zufall oder gewollt?
Es ist Zufall, falls ein Browser das Formular trotz fehlendem action-Attribut abschickt. Es ist gewollt, dass URL-Parameter bei einem POST-Formular bestehen bleiben. Es ist fraglich, ob die jeweiligen Werte auch tatsächlich in gewünschter Form versendet werden und schlussendlich vorliegen.
Es hat sowohl Vor-als auch Nachteile sich darauf zu verlassen und das zu nutzen, daher die Frage.
Ich empfehle, neben validem HTML-Code auch sämtliche Parameter explizit anzugeben, auf die Du Dich verlassen möchtest.
Denn normalerweise müsste ich vorhandene GetVariablen
Parameter.
Cheatah
Hi,
Wenn ich ein Formular absende, dass keine "action"-Angabe hat
... dann ist der HTML-Code ungültig. Somit ist jede Betrachtung hinfällig.
Kein ACTION-Attribut: ungültig
Keine ACTION-Angabe (also leerer Attributwert): gültig
Gruß, Cybaer
Hi,
Kein ACTION-Attribut: ungültig
Keine ACTION-Angabe (also leerer Attributwert): gültig
richtig, ein leerer Attributwert ist deswegen eine action-Angabe und trifft nicht die Beschreibung "ohne action".
Cheatah
Hi,
Ist dieses Verhalten Zufall oder gewollt?
Gewollt, da so definiert: "leerer URL" == "aktueller URL" (und das schließt den QUERY STRING mit ein).
Gruß, Cybaer