Andreas Korthaus: wann POST wann GET

Beitrag lesen

Hallo Mathias

? Aber es werden doch nicht die POST Variablen in GET Variablen umgewandelt, oder? Wäre mir zumindest neue also bringt es dem Script auch nichts beides zu verarbeiten, oder?

Hm, die Variableninhalte sind die gleichen aber natürlich ist der Zugriff auf Variablen, die per GET übertragen wurden ein anderer als der auf Variablen die per POST übertragen wurden, zumindest in Perl. Regelt das PHP irgendwie selbsttätig?

Früher konnte man in PHP diekekt auf Variablen zugreifen, also

script.php?var=123

dann konnte man im Script direkt $var verwenden, print($var) ergab sofort "123", ohen das man die Variable irgendwie importieren mußte. War eine große Sicherheitslücke wenn das unbedarft eingestzt wurde.
In den Aktuellen PHP-Versionen erfogt der Zugriff über supergobale Arrays, die automatisch dem Script zur Verfügung gestellt werden, die dann überall verwendet werden können.

$_POST enthält alle Daten per POST,
$_GET alle per GET,
$_COOKIES alle per Cookie.

Hieße also

print($_GET['var']);

Dann gibt es noch einen Array wo nicht nach diesen 3 Herkunftsmöglichkeiten unterschieden wird:

$_REQUEST,

es ginge also auch:

print($_REQUEST['var']);

das würde dann auch funktionieren wenn var per POST übermittelt worden wäre, $_GET halt nicht.

Zurück zum Problem, ich bin mir selbst nicht sicher, ich denke dass das Problem eher auf der Client-Seite liegt. Wenn der Browser nach einem Request einen Redirection-Header bekommt - was passiert dann im Client? Ich weiß es ehrlich gesagt nicht. Ich würde aber vermuten, dass entweder ein neuer POST-Request an die neue Recource gesendet wird, das fänd ich am logischsten, und sonst, wenn es denn eine GET-Request gibt würde ich schätzen das die Variablen unter den Tisch fallen, was ich aber nicht glaube. Nur das die Variablen(sorry, Parameter ;-)) dann in einen GET-Request übersetzt werden fänd ich unlogisch. Was passiert bei einem anderen POST-Modus als form-urlencode?

Naja ich weiß es nicht.

Grüße
Andreas

PS: nur _falls_ es Dich interessiert: http://www.php3.de/manual/en/language.variables.predefined.php ;-)