Dennis: $_GET[''] oder $_POST['']

Beitrag lesen

Hi Efchen,

Nur mit POST zu arbeiten mag auch nicht gut sein, da es so nicht möglich ist z.B. direkt in einen Bereich des Scriptes zu verlinken ( ...?show=anything ).

Dazu mache ich dann ein <input type="hidden" name="show" value="anything"> und alles geht wunderbar.

Es ist dann nicht unbedingt alles wunderbar! Nämlich dann, wenn ein Script mehrere Aufgaben erfüllen soll. In so einem Fall halte ich es für praktisch, wenn man über die URL direkt in einen Bereich kommen kann.

Stelle dir vor, du hast eine Homepage:

  • index.php ruft die Startseite auf
  • index.php?page=links ruft die linkseite auf
  • index.php?page=gbook ruft die Gästebuchseite auf

Die Daten, die jemand ins gästebuch einträgt, kannst du natürlich nicht mit GET verschicken, also musst du sie mit POST verschicken an index.php?page=gbook, dann werden sie von deinem Script weiterverarbeitet - nur so als Beispiel.

Du könntest jetzt hier natürlich statt page=gbook in der URL ein hidden Feld anlegen, dein Script müsste dann eben auf $_POST abfragen (mit $_REQUEST sollte man einfach sein lassen). Wäre technisch alles ok, aber dann hätte keiner mehr die Möglichkeit, _direkt_ zu deinem Gästebuch per Eingabe der URL zu kommen!! Er müsste immer erst irgendwo klicken, wodruch dann POST Daten versendet werden, welche das GB anzeigen, klar soweit?

Anderes Beispiel: Wir arbeiten mit Cookies. [...]
-> Bei $_REQUEST ein Problem.

Ja, sehe ich ein. Wobei ich Cookies bisher nie in dem Zusammenhang von get und post gesehen habe (habe bisher Cookies nur mit JavaScript und Perl gemacht).

Man kann auch mit PHP Cookies nutzen. Allerdings werden diese Art von Cookies AFAIK beim Schließen des Browser Fensters gelöscht.

Jezt alles klar?

Ja. Einleuchtend. Danke.
Dieser Fall ist mir halt noch nie aufgetreten, ich benutze immer nur entweder get oder post und Cookies wurden immer völlig losgelöst von Formularen behandelt, deswegen war mir nicht bewusst, dass die alle zusammen im $_REQUEST landen.

Aber gerade die gleichzeitige Verwendung von POST und GET lässt dich einige Sachen recht einfach machen. So kannst du z.B. einfach mehrere Aktionen (welche du bis jezt wahrscheinlich auf mehrere Dateien verteilt hast) in _eine_ Datei packen - es wäre somit kein Problem ein _komplettes_ Gästebuch in _eine_ Datei zu packen, die alles macht. (Ein auslagern von Funkionen wäre aber trotzdem sinnvoll).

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
Zufällige Hinweise:
------------------------
Den Selfcode kann man sich brigends hier decoden lassen:
http://www.peter.in-berlin.de/projekte/selfcode/