D.1 Variablen aus Formularen
Zum Webserver
Eine besondere Stärke von PHP ist die einfache Auswertung von Formular-Inhalten. Durch eine solche Auswertung wird die Informations-Übermittlung vom Betrachter zum Webserver ermöglicht.
Einträge
Dem Betrachter wird zunächst ein Formular vorgelegt, in dem er eigene Einträge vornehmen kann bzw. unter vorgefertigten Einträgen auswählen kann. Er füllt das Formular aus, sendet es ab und erhält eine Antwort vom Webserver. Dies soll anhand des folgenden Beispieles gezeigt werden.
Zunächst die Seite mit dem Benutzer-Formular:
Abbildung D.1 Eingabe-Formular für zwei Zahlenwerte
Der HTML-Programmcode:
Listing D.1 Datei ud01.htm
<html> <body> Bitte tragen Sie zwei Zahlen ein und senden Sie das Formular ab.<br> <form action = "ud01.php" method = "post"> Wert 1: <input name = "w1"><p> Wert 2: <input name = "w2"><p> <input type = "submit"> <input type = "reset"> </form> </body> </html>
action
Der allgemeine Aufbau von Formularen wurde bereits im Abschnitt HTML für PHP erläutert. Das Attribut action des Formulares verweist auf die Datei mit dem antwortenden PHP-Programm. Die beiden Input-Felder mit den Namen w1 und w2 dienen zur Eingabe von Daten.
submit, reset
Das Input-Element vom Typ submit erzeugt eine Schaltfläche, dient zum Absenden der eingetragenen Daten an den Server und zur Anforderung der genannten Antwortdatei. Das Input-Element vom Typ reset erzeugt eine Schaltfläche und dient zum Zurücksetzen der eingetragenen Daten auf den Anfangszustand wie es z. B. bei einer Fehleingabe notwendig wird.
Das antwortende PHP-Programm sieht wie folgt aus:
Listing D.2 Datei ud01.php
<html> <body> <?php $erg = $w1 + $w2; echo "Die Summe von $w1 und $w2 ist $erg"; ?> </body> </html>
Innerhalb der Antwort-Datei wird der Variablen $erg der Wert der Summe von $w1 und $w2 zugewiesen. Anschließend wird das Ergebnis der Addition ausgegeben.
Variablen aus dem Formular
Zunächst fällt auf, dass beide Variablen $w1 und $w2 in diesem PHP-Programm noch gar keinen Wert erhalten haben. Diese Werte wurden gemeinsam mit den Namen der beiden Eingabefelder vom aufrufenden Formular aus übermittelt. Aus dem Namen der Eingabefelder werden dabei PHP-Variablen, indem jeweils ein Dollarzeichen davor gesetzt wird. Die Eintragung im Feld w1 wird also zum Wert der Variablen $w1 im Programm.
Umwandlung
Die beiden Eingabefelder des Formulares nehmen Zeichenketten auf, und es werden auch Zeichenketten übermittelt. Im Programm werden sie jedoch als Zahlen interpretiert. Dabei finden die Regeln aus dem Abschnitt »Strukturierte Programmierung mit PHP / Umwandlung von Zeichenketten in Zahlen« Anwendung.
Eingabefehler
In den vorliegenden kleinen Programmen zur Einführung werden Eingabefehler des Benutzers nicht abgefangen. Die Programme würde ansonsten unnötig umfangreich und unverständlich. Später wird man in den Programmen Routinen einbauen, die möglichst alle Eingabefehler abfangen, aber es gilt immer der Grundsatz: Kein Programm ist vollständig gegen Fehler gesichert.
Übung UD01
Speichern Sie beide Dateien im Hauptverzeichnis Ihres Webservers, und testen Sie sie, indem Sie einen Browser aufrufen und die Adresse http:// localhost/ud01.htm eingeben. Sie sollten nicht die Adresse http:// localhost/ud01.php eingeben, denn diese Datei wird vom Formular aus aufgerufen.
Übung UD02
Schreiben Sie eine Benutzer-Schnittstelle, bestehend aus einem Formular und einem antwortenden PHP-Programm.
Die HTML-Datei (ud02.htm) soll ein Formular mit insgesamt fünf Eingabefeldern und einer Absende-Schaltfläche beinhalten. Darin soll der Benutzer seine Adresse mit den folgenden Angaben eintragen: Nachname, Vorname, Strasse, Postleitzahl und Ort. Das Formular könnte z. B. folgendes Aussehen haben:
Abbildung D.2 Eingabe-Formular für Adresse
Achten Sie bei der Namensgebung für die Eingabe-Felder darauf, dass der Name einer PHP-Variablen keine deutschen Umlaute und kein scharfes ß beinhalten darf. Der Variablenname $straße ist also nicht gestattet.
Falls der Benutzer (z. B. Hans Maier, Holzweg 57, 89664 Obertupfingen) das Formular absendet, soll ihm von einem PHP-Programm (Datei ud02.php) eine Antwort vom Webserver mit folgendem Inhalt zugesandt werden:
Abbildung D.3 Antwort des Webservers
Speichern Sie beide Dateien im Hauptverzeichnis Ihres Webservers, und testen Sie sie, indem Sie einen Browser aufrufen und die Adresse http:// localhost/ud02.htm eingeben.
|