Mit PHP ein Formular auswerten – Cooles Tutorial mit Lückentext

Heute erkläre ich, wie man PHP nutzen kann, um ein Formular auszuwerten. Dabei werde ich an einer einfachen Web- Applikation erklären, wie man Formulareingaben mittels PHP auswerten und entsprechende Ausgaben erzeuen kann.

Um zu zeigen, wie man mit PHP Formulare verarbeiten kann, habe ich als Beispiel- Webapplikation einen Lückentext verwendet. Der komplette Lückentext ist dann in einem Formular eingebettet und die Lücken sind Texteingabefelder.

Zur Info:
Lückentexte eignen sich besonders in der Schule dazu, um Wissen z. B. aus einem Vortrag bei den Schülern abzufragen. Dabei werden in einem Text bestimmte Wörter weggelassen, die dann durch den Schüler unter Zuhilfenahme des Kontext ergänzt werden müssen.

Ich werde nun Schritt für Schritt erklären, wie man einen solchen Lückentext in PHP realisieren kann.

1. Lückentext schreiben

Meine Lückentext lautet wie folgt:

CatMoney bietet dem Leser viele Informationen über die Erstellung einer Website. Dabei werden Tutorials für Anfänger als auch für Fortgeschrittene angeboten. Jeder Besucher kann einen Kommentar schreiben, und somit seine eigenen Erfahrungen mitteilen. Im Bereich Ressourcen gibt es weitere Links zu nützlichen Tools und Websites, die in den Artikeln auf CatMoney verwendet werden.

Die rot markierten Wörter, werden später durch Lücken ersetzt und müssen vom Benutzer ausgefüllt werden.

2. Lückentext in Formular einbetten

In diesem Schritt wird der Lückentext aus Schritt 1 in eine Formular eingebettet und die einzelnen Lücken werden als Texteingabefelder definiert. Dazu muss eine neue PHP- Datei angelegt werden mit folgendem Inhalt:

<form id=“form1″ name=“form1″ method=“post“ action=““>
<p>CatMoney bietet dem Leser viele
<input name=“luecke[1]“ type=“text“ id=“luecke[1]“ />
&uuml;ber die Erstellung einer Website.
Dabei werden Tutorials f&uuml;r
<input name=“luecke[2]“ type=“text“ id=“luecke[2]“ />
als auch f&uuml;r Fortgeschrittene angeboten.<br />
Jeder
<input name=“luecke[3]“ type=“text“ id=“luecke[3]“ />
kann einen
<input name=“luecke[4]“ type=“text“ id=“luecke[4]“ />
schreiben, und somit seine eigenen Erfahrungen mitteilen.
Im Bereich
<input name=“luecke[5]“ type=“text“ id=“luecke[5]“ />
gibt es weitere Links zu n&uuml;tzlichen Tools und Websites, die in den Artikeln auf
<input name=“luecke[6]“ type=“text“ id=“luecke[6]“ />
verwendet werden.</p>
<p>
<input type=“submit“ name=“Submit“ value=“L&uuml;ckentext auswerten“ />
</p>
</form>

> Download des Quellcodes für den Lückentext

 

So sieht der Lückentext dann aus

Im Grunde besteht das Formular nur aus Texteingabefeldern (<input type=“text“ …) und einer Schaltfläche (<input type=“submit“…).

Wichtig ist noch die Angabe der Methode, mit der die Formulardaten (method- Attribut) versendet werden. In unserem Beispiel ist das POST (es gibt noch GET).

3. Lückentext- Formular per PHP auswerten

Klickt man jetzt auf den Button „Lückentext auswerten“ passiert noch nichts, denn es fehlt die Logik.

Oberhalb des <form>- Tags wird folgender PHP- Code einbinden:

PHP- Logik um die Antworten des Lückentextes auszuwerten

Prinzipiell sollte der PHP- Code mit Hilfe meiner Einführung in PHP verstanden werden.

Der Zugriff auf die Eingabefelder des Formulars erfolgt mittels der $_POST- Variable – einem Array.

Weitere Besonderheiten:
Zeile 47: htmlentities($antwort) wandelt die eingebene Sonderzeichen, wie Umlaute in den zugehörigen HTML- Code um, d. h. aus „ä“ wird „&auml;“
Zeile 58: Hinter der Anweisung ($fehler ? „error“ : „ok“) verbirgt sich eine If-then-else- Bedingung. Falls $fehler = true, dann „error“ sonst „ok“.

Damit beim Absenden des Formulars die Textfelder (also die Lücken) nicht immer wieder gelöscht werden, ist noch eine Anpassung im Formular notwendig. Dazu schreibt man einfach in jedes value- Attribut einer Lücke, den Wert, der beim Absenden des Formulars übergeben wurde.

4. Das komplette Lückentext- Script in PHP

… kann jetzt hier heruntergeladen werden 🙂

>Download des kompletten Scriptes

Aufgaben für weitere Anpassungen

Um die Verarbeitung von Formularen mit PHP noch besser zu verstehen, empfiehlt es sich mein Script weiter zu verbessern und Anpassungen vorzunehmen, z. B.:

  • Gross- und Kleinschreibung bei Antworten ignorieren (Stichwort: strtolower- Befehl)
  • mehr als 1 Antwort zulassen (Stichwort: mehrdimensionales Array)
  • Hervorhebung des jeweiligen falschen Texteingabefeldes
  • bessere Datenstruktur, um einfach neue Texte hinzuzufügen, zu ändern

und und und … 🙂

Wer eine Anpassung für den Lückentext programmiert hat, kann mir eine E- Mail schreiben oder hier einen Kommentar hinterlassen. Ich würde das dann gern hier auf CatMoney veröffentlichen.

Ressourcen

php-kurs.com
Weitere Details im Umgang mit Formularen und PHP, wo u.a. der Unterscheid zw. GET und POST erklärt wird.