15. Formulare in PHP

Im vorherigen Kapitel haben Sie den Aufbau eines Formulars in HTML kennengelernt. Es wurden Ihnen zusätzlich Attribute (placeholder, maxlength, required, value, for, id) vorgestellt, die vom Browser ausgelesen werden, um die Handhabung mit dem Formular zu vereinfachen. Alles geschieht bisher jedoch nur auf der Seite des Clients (Browser).

Damit die Daten des Formulars tatsächlich an den Webserver gesendet werden, müssen weitere Attribute eingefügt werden.

Die Attribute action, method und name

Ergänzen Sie Ihr bisheriges Formular um die Attribute action, method und name (s. untere Abbildung).

Abbildung 15.1: Formular mit PHP-Attributen

Erklärung der Attribute

PHP-Code für die Ausgabe der Formulardaten

Die folgende Abbildung veranschaulicht ein PHP-Programm, welches eine einfache Ausgabe der Formulardaten ermöglicht.

Abbildung 15.2: PHP-Code für die Datenverarbeitung

Daten versenden mit $_POST

Bei dem Ausdruck $_POST handelt es sich um eine sogenannte superglobale Variable. Diese wird in PHP automatisch angelegt, wenn die Methode zur Datenübermittlung (method) auf post gesetzt wird. Genau genommen ist $_POST ein Array.

Wenn der Benutzer den Submit-Button betätigt, werden die Formulardaten automatisch in das Array $_POST geschrieben.

Die Daten liegen in dem Array als Schlüssel-Wert-Paar vor.

Der Schlüssel ist der Name des Attributes name. Hier also z.B.: v_name

Der Wert ist das, was in das Eingabefeld eingegeben wurde. Z.B.: Andrea

Daten auslesen mit var_dump()

PHP bietet Ihnen einen schöne Funktion, die Ihnen den Inhalt von Variablen, Arrays und Objekten ausgibt. Diese nennt sich var_dump() und wird Ihnen in Zukunft helfen, Daten zu analysieren und Fehler zu finden.

Ergänzen Sie das PHP-Programm um die Anweisung var_dump($_POST) (s. untere Abbildung) und senden Sie das Formular erneut ab.

Abbildung 15.3: Ausgabe des Arrays $_POST mittels var_dump()

if(isset($_POST["..."]))

Wenn der Benutzer vom Webserver eine PHP-Datei anfordert, wird zunächst der PHP-Interpreter auf dem Webserver gestartet und der PHP-Code wird ausgeführt. Die Datenverarbeitung soll jedoch erst erfolgen, nachdem das Formular abgeschickt wurde. Darum wird überprüft, ob das Array $_POST einen Schlüssel namens sub enthält und ob hierfür ein Wert gesetzt wurde.