HTML lernen (3): Formulare einbinden
Definition eines Formulars
Definition eines Formulars
Auf dieser Seite
Mit Bild
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.
Mit Bild
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.
Mit Bild
-
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">
Mit Bild
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:
Mit Bild
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.
Mit Bild
Beispiel: Formulardaten per E-Mail
Wenn Sie hier klicken, 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.
Mit Bild
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.