PHP – Teil 11: Formulare

Um mit dem Besucher unserer Website interagieren zu können müssen wir auch in der Lage sein, Daten von ihm zu empfangen – man denke nur an eine Registrierung, einen Dateiupload oder ähnliches. Dafür bietet HTML die Möglichkeit über Formulare Daten einzugeben. Doch wie können wir die Daten in PHP dann verarbeiten?

Das Formular

Um Daten vom Browser des Besuchers empfangen zu können benötigen wir zuerst ein Formular. Hier gibt es bereits einige Besonderheiten, auf die wir achten sollten. Zuerst schauen wir uns das Formular Tag selbst an.

Hier sehen wir bereits zwei Besonderheiten: die Attribute action und method. Action ist die URL, an die der Browser nach dem Absenden des Formulars weiterleitet und die Daten sendet. Das heißt in der hier angegebenen Datei kommen die Daten dann auch an. Die method ist die Art des Requests, der gesendet wird und bestimmt später auch, wie wir die Daten in PHP überhaupt verwenden können – mögliche Werte sind hier GET und POST.

Weiter geht es mit Inputfeldern:

Hier ist (in Hinsicht auf PHP) eigentlich nur der Name interessant, denn mit diesem greifen wir dann später auf den Wert zu, den der Benutzer hier eingegeben hat.

 

Datenzugriff in PHP

Die Daten, die an den Webserver gesendet werden, werden vom PHP Interpreter automatisch in zwei der Superglobal-Arrays gespeichert und stehen uns dort dann auch für den Zugriff bereit. Der Name des Inputfelds stellt hier den Key im Array dar. Auf unseren Usernamen von oben könnten wir also zum Beispiel so zugreifen:

 

Formulare und Arrays

Eine kleine Besonderheit gibt es noch bei der Namensgebung von Formularfeldern. Wir haben die Möglichkeit, dafür zu sorgen, dass die Daten innerhalb der $_POST und $_GET Arrays in weitere Unterarrays gespeichert werden, indem wir im Inputnamen eckige Klammern benutzen. Ein paar Beispiele dazu:

In diesem Beispiel definiere ich vier Inputfelder. Einmal ein Textfeld, auf das wir in PHP folgendermaßen zugreifen können:

Zusätzlich werden drei Checkboxen definiert. Das Besondere hier ist, dass für jede Checkbox, die aktiviert wird, ein weiterer Wert in das Array belag eingetragen wird. Dieses Array können wir dann zum Beispiel mit einer foreach Schleife durchgehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*