Fit4Php – Php Tutorial - Php für Einsteiger und Fortgeschrittene
HTML-Formulare auswerten
HTML-Formulare auswerten

Jedem Websurfer sind HTML-Formulare schon einmal begegnet. Dies ist ein Feature von HTML, welches es dem Benutzer einer Webseite möglich macht, Informationen in die Webseite einzugeben, abzuschicken und damit zum Webserver zu übertragen.

Anwendungen

Es gibt unterschiedlichste Anwendungsfelder für Formulare: Beim Onlineshopping muss spätestens am Ende des Einkaufens die Angabe von Daten erfolgen, an welche Adresse die Artikel geschickt werden sollen und von welchem Konto der Endbetrag abgebucht werden soll. Zur Verfügung stehen dabei HTML-Felder. Im Gästebuch kann man eine Nachricht hinterlassen, indem man seinen Namen, vielleicht noch seine Email-Adresse, seine Homepageadresse usw und dann noch die Nachricht eingibt. Verfügt man über Webmail, so schreibt man auch seine Emails mit Hilfe von Formularen, die zum Webserver geschickt werden. Der Webserver generiert dann aus den Formularen eine Email und versendet sie.

Arten von Formularelementen

Formularelemente gibt es in unterschiedlichen Ausführungen. Einige lassen sich, wo es sinnvoll ist, vorbelegen. Es gibt Elemente zum Eingeben von ein- und mehrzeiligem Text. Größe, Beschreibbarkeit, Umbruch usw. lassen sich definieren. Es gibt Elemente zum versteckten Eingeben eines Paßwortes. Es gibt Elemente zum Eingeben eines Dateinamens. Die Datei wird dann zum Server hochgeladen. So funktioniert zum Beispiel vielerorts das Anhängen einer Datei im Webmail-Frontend. Dann gibt es noch Elemente zur Auswahl wie Listen, Checkboxen, Radiobuttons sowie auch Elemente zum Abschicken und Zurücksetzen des Formulars.

Wir wollen hier nur auf einige Elemente eingehen. Wer alle Elemente gerne sehen möchte, schlage in einer HTML-Referenz nach.

Das einfache einzeilige Eingabefeld wird wie folgt aufgerufen:

<input name="variablenname" type="text" size="10" maxlength="50" value="vorbelegter Wert">

Dabei ist der Wert “name” der Variablentyp unter welchem später die eingegebene Variable vom Webbrowser übermittelt wird. “size” bezeichnet die Größe des Feldes. “Maxlength” gibt an, wieviele Zeichen maximal in das Feld gehören. Ist wie hier die maximale Länge größer als die reale Anzeigegröße, so scrollt der Text beim Eingeben in dem Formularfeld. Allerdings muss immer darauf achtgegeben werden, dass bösartige Surfer die Größen-Werte fälschen können, so dass auch auf PHP-Seite noch eine Abfrage geschehen sollte. Der Wert value ist die Vorgabe für dieses Feld. Will man auf seiner Webseite Änderungsformulare haben, so kann man über den Wert von value schon vorhandene Daten in die Felder einfügen.

Ein mehrzeiliges Feld wird wie folgt generiert:

<textarea name="areaname" cols="60" rows="15" wrap="off">
Hier steht der Text, der in Zeile 1 enthalten ist.
Dies ist Zeile 2 </textarea>

Die Attribute verstehen sich von selbst. Mit dem Attribut wrap läßt sich das Wrapping des Textes einstellen. Die Standardoption ist off. Mit soft wird das Wrapping nur im Browser dargestellt. Steht sie auf hard, wird es auch zum Webserver übertragen.

Fehlt uns noch eine Möglichkeit das ganze auch zu versenden. Dies geschieht wie folgt:

<input type="submit" value="Abschicken">
<input type="reset" value="Löschen">
Zwei unterschiedliche Methoden zu übertragen: Get und Post

Jetzt müssen wir uns beginnen, uns über die Übertragung zum Server Gedanken zu machen. Hierzu müssen alle Formularfelder in ein Formular eingebettet werden. Ohne Einbettung in ein Formular sind die Felder sinnlos, da sie nirgends hin geschickt werden können.

<form action="myscript.php" method="get">
<input name="variablename" type="text" size="10" maxlength="50" value="vorbelegter Wert">
<textarea name="areaname" cols="60" rows="15" wrap="off">
Hier steht der Text, der in Zeile 1 enthalten ist.
Dies ist Zeile 2 </textarea>
<input type="submit" value="Abschicken">
<input type="reset" value="Löschen">
</form>

Wir sehen, dass hier ein Attribut namens “method” angegeben ist. Dieses Attribut kann entweder auf “get” oder auf “post” gesetzt werden. Was ist der Unterschied? Der Unterschied liegt darin, wie die Daten zum Server übertragen werden. Mit der Get-Methode wird ein String generiert, welcher ganz einfach der URL angehängt wird. Somit gibt es eine lange URL, in welcher alle Daten verschlüsselt vorliegen. PHP kann dann die Daten dort wieder auslesen. Allerdings ist diese Methode für große Datenmengen nicht geeignet, da die Länge der URL begrenzt ist.

Auslesen der Variablen der GET und POST-Methode auf der Serverseite

Nachdem die Variablen nun so auf den Server transportiert worden sind, können Sie mit dem Skript myscript.php ausgelesen werden und je nach Bedarf weiterverarbeitet werden.

Mit GET-Methode:

<?php
$einzeiligesFeld = $_GET['variablenname'];
$mehrzeiligesFeld = $_GET['areaname'];
?>

oder mit POST-Methode

<?php
$einzeiligesFeld = $_POST['variablenname'];
$mehrzeiligesFeld = $_POST['areaname'];
?>
Zum Inhaltsverzeichnis