Unterschied zwischen GET und POST

Beim Formular-Attribut “method” haben wir die Wahl zwischen “get” und “post”, je nachdem welches wir wählen, müssen wir im PHP Script auf die Variable “$_GET” oder “$_POST” zugreifen. Doch was ist der Unterschied zwischen den beiden?

GET wird in der URL angezeigt

Wenn wir ein Formular mit “get” verschicken, wird in der URL-Zeile des Browser die Variablen + ihrem Wert angezeigt:

Diesen Wert kann der Benutzer manipulieren, allerdings ist $_POST kein Schutz dagegen, aber es sieht in den meisten Fällen “schöner” aus, da die URL-Zeile nicht mit Variablen vollgepumpt ist.

GET ist begrenzt, POST nicht

Gerade wenn man ein Formularfeld hat, indem sehr sehr viele Daten reinkommen können (z.b. ein Blog-Artikel, ein Forumbeitrag, ein Wikipedia-Artikel) muss man POST verwenden, da die get-Methode begrenzt ist. Bzw eigentlich ist nicht “get” begrenzt, sondern die Url-Zeile des Browsers. Je nach Browser hat man eine maximale Länge um 1024 Zeichen und für Artikel ist das in der Regel nicht ausreichend (für Twitter-Nachrichten schon ;) )

Vor- und Nachteile von post und get

Hier nochmal die Vor- und Nachteile zusammengefasst:

  • Bei GET sieht der User, welche Daten übergeben werden (kann man als Vorteil oder als Nachteil sehen)
  • Bei GET ist die Länge begrenzt, bei POST nicht
  • Die Ergebnisseite eines GET-Formulars kann man bookmarken, da alle nötigen Informationen in der URL enthalten sind
  • Die Ergebnisseite eines POST-Formulars kann man weder bookmarken noch im Browser aktualisieren, da die Daten nicht mehr zur Verfügung stehen
  • File-Upload ist nur mit POST möglich

Quelle

hier geht's weiter...



Kommentare

Kommentar schreiben

Kommentar

Hilfe:

<strong>fettgedruckt</strong> => fettgedruckt

<em>kursiv</em> => kursiv

<a href="http://wordpress.lernenhoch2.de">Link</a> => Link

[code]<?php echo 'hello world'; ?>[/code]

*

Feedback Formular