|
Unterschied zwischen GET ($_GET) und POST ($_POST)
Oft wird von GET und POST geredet. Beide
Dinge beschreiben die Übergabe von Daten, jedoch auf unterschiedliche Weise.
Werden Daten per GET an ein Skript übergeben, dann findet man diese Daten in
dem Array $_GET , werden die Daten per POST übergeben, dann findet man die
Daten in dem Array $_POST - um sich diese auszugeben, kann man diese z.B. mit
print_r($_POST); oder print_r($_GET); ausgeben. GET und POST werden dazu benutzt,
um Daten von einer aufgerufenen Seite auf die nächste zu übertragen.
Was ist $_GET:
Bei GET sieht man die Übergabe
der Daten in der Adresszeile des Browsers. Jeder hat z.B. schonmal eine Adresse
wie diese gesehen: index.php?action=12345&wetter=schlecht - hinter der aufzurufenden Datei
(index.php) kommt das Fragezeichen und dahinter die Variablen die per GET übergeben
werden. Verschiedene Variablen werden dann mit & voneinander getrennt. In diesem
Fall soll action=12345 und wetter=schlecht sein - im Skript findet man diese Daten (12345 und schlecht) also in
$_GET["action"]; und $_GET["wetter"];
Was ist $_POST:
Daten per POST zu übergeben tut man normalerweise in Formularen.
Normalerweise definiert man ein Formular und sagt ihm mit method="POST", dass die
Daten per POST gesendet werden sollen. Alternativ kann man auch GET angeben, dann werden
die Variablen beim Absenden des Formulars über die Adresszeile (GET) mit übergeben.
Jedesmal wenn man mit dem
Browser eine Internetseite aufruft, wird ein sogenannter Header gesendet, in welchem sich
einige Informationen wiederfinden. Die Post Daten werden in diesem Header mit verpackt, wodurch
Sie für den Surfer erstmal nicht sichtbar sind - für den Firefox gibt es zum Beispiel
ein Addon namens httpliveheaders, womit man sich diesen Header anzeigen lassen kann -
dadurch kann man auch die Post Daten sehen, die gesendet werden.
Per GET sieht man die Daten die übertragen werden in der
Adresszeile - per POST sieht man nichts in der Adresszeile, dort werden Sie im Header
gesendet.
|