HTML lernen (3): Formulare einbinden

Definition eines Formulars

∅ 3.2 / 5 Bewertungen

Definition eines Formulars

Das <form> -Tag

Ein Formular wird im Body der HTML-Datei mit den Tags <form> und </form> definiert. Innerhalb einer HTML-Datei können auch mehrere Formulare definiert werden, die jedoch nicht ineinander verschachtelt sein dürfen. Andere HTML-Tags wie <table>, <img src="xyz.gif">, <a href="test.html"> lassen sich innerhalb des <form>-Tags problemlos einsetzen.

Das Attribut action

Mit dem Attribut action wird die Verarbeitung der Daten festgelegt. In der Regel übernimmt diese Verarbeitung ein CGI-Script. Die folgenden Anweisungen zeigen Ihnen, wie Sie interne und externe CGI-Programme aufrufen können.

  • Liegt das CGI-Programm auf demselben Server wie das Formular, muß der Verweis auf das Verzeichnis cgi-bin zeigen, in dem das CGI-Programm liegt.

    <form action:"/cgi-bin/counter.pl">
  • Auch das Einbinden externer CGI-Programme ist möglich. Voraussetzungen sind die Kenntnis der URL und die freie Verfügbarkeit des CGI-Programms. Ein entsprechender Verweis könnte folgendermaßen aussehen:

    <form action:"http://www.wecount/cgi-bin/counter.pl">
  • Sollen die Daten per E-Mail verschickt werden, lautet die Anweisung wie folgt:

    <form action="mailto:fritz@t-online.de">

Wie schon oben erwähnt, besteht zwar die Möglichkeiten, die Daten eines Formulars an eine E-Mail-Adresse zu schicken. Allerdings gibt es mehrere Gründe dafür, diese Art der Verarbeitung von Formulardaten nicht zu verwenden. Hier seien nur zwei von ihnen erwähnt:

  • Die Formulardaten werden beim Verschicken kodiert. Leerzeichen und Sonderzeichen werden durch eine Folge anderer Zeichen ersetzt. Als Ergebnis erhalten Sie per E-Mail einen eher kryptischen Buchstaben-Salat. Mit dem Attribut enctype=plain lässt sich die Kodierung zwar verhindern, aber nicht alle Browser unterstützen diese Anweisung.

  • Nur Netscape Navigator interpretiert die mailto-Anweisung im <form>-Tag, der Internet-Explorer nicht. Das hat zur Folge, dass Sie von Anwendern, die den Internet-Explorer einsetzen, keine Formulardaten erhalten werden. Da er sich zunehmender Beliebtheit erfreut, wäre ein großer Benutzerkreis ausgeschlossen.

Beispiel: Formulardaten per E-Mail

Wenn Sie hier klicken,Anzeigen werden die Daten des Formulars per E-Mail verschickt (action="mailto:fritz@t-online.de"). Im unteren Teil des Beispiels sehen Sie, wie Sie die Daten per E-Mail erhalten würden.

Das Attribut method

Das Attribut method gibt an, wie die Daten zum Server übertragen werden. Möglich sind die Einstellungen post und get. In den meisten Fällen wird die Einstellung post gewählt. Wenn Sie nicht wissen, mit welcher Methode das CGI-Script die Daten erwartet, hilft auch hier der Systemadministrator oder der Programmierer des CGI-Scripts.

  • method="POST"

    Wird als Einstellung post gewählt, sendet der Browser die Daten in zwei Schritten. Im ersten wird der Kontakt zum Server hergestellt, im zweiten Schritt werden die eigentlichen Formulardaten übertragen. Nach erfolgreicher Übertragung könnte als URL im Browser beispielsweise folgender Eintrag stehen:

    http://www.myserver.de/cgi-bin/model.pl

  • method="GET"

    Wird als Einstellung get gewählt, findet die Übertragung in einem Schritt statt. Die Daten werden getrennt durch ein Fragezeichen an die im Attribut action angegebene URL gehängt. Da die Übertragung in einem Schritt stattfindet, könnte in der URL-Zeile des Browsers beispielsweise folgende Adresse stehen:

    http://www.myserver.de/cgi-bin/model.pl?vorname=claudia&name=schiffer

    Die get-Methode eignet sich für Formulare mit wenigen Feldern, wenn also nur einige Werte übertragen werden müssen.