phpbar.de logo

Mailinglisten-Archive

[php] Kombination von GET / POST erlaubt?

[php] Kombination von GET / POST erlaubt?

Johannes Schlueter schlueter at phpbar.de
Die Aug 5 20:21:47 CEST 2003


On Tuesday 05 August 2003 19:12, Bastian Haustein wrote:
> Ich bin recht überzeugt davon, dass kein Server den URI-String als solchen
> nicht auswerten kann, wenn GET-Variablen bei einem POST-Aufruf mit
> übergeben werden. Der einzige fehler ist, dass die methode, die im header
> angegeben wird nicht darauf hindeutet, dass die URI ausgewertet werden
> MUSS. Im ärgsten zweifel wird man dass aber per hand noch nachholen können.

Der CLient dürfte wohl kein Problem haben. Ich kann mir kaum vorstellen, dass 
es einen Browser-Programmierer gibt, der ein ? in einer POST-URL encodet oder 
gar abtrennt. (interessant wäre: Was macht ein Client bei Get, wenn ich in 
der URL schon ein ? habe)
Der Server muss aber damit klarkommen. Wenn ich auf 
http://www.example.com/test.php?foo=bar gehe muss der ja am ? aufsplitten, 
das vor dem ? als Dateinamen nehmen, den Rest in die QUERY_STRING 
environment-Variable legen. Da kann ich mir schon vorstellen, dass es 
irgendeinen kleinen, unbedeutenden server gibt, der nur sieht POST und sich 
dann denkt "Sehr schön" und das ganze als Dateinamen nimmt.
Abgesehen davon sehe ich keinen rechten Sinn drin, die Daten über die URL zu 
übergeben, anstatt sie via POST zu übertragen -wenn man eh schon Post nutzt.

> So weit mir bekannt ist, kümmert sich allerdings der PHP-Parser bei der
> erzeugung des _GET-Arrays und der Superglobalen GET-Variablen gar nicht um
> den HTTP-Header, sondern nur um die URI, was bedeutet, dass man beides
> immer ohne Probleme kombinieren kann.

Der PHP-Parser schaut ob es in der QUERY_STRING-Environment-variablen was gibt 
und legt das nach $_GET und schaut an STDIN ob es da was gibt und legt das 
nach $_POST, mehr ist für den nicht wichtig....

johannes

php::bar PHP Wiki   -   Listenarchive