de.selfhtml.org/html/formulare/index.htm Mindmap: [Web-Formular.svg] [Web-Formular.mm]
Erklärtes Beispiel
<form action="antwort.php">
<input name="Vorname" type="text" value="Ein Versuch">
<input type="submit" value="Absenden">
</form>
Klickt man auf "Absenden" wird folgende Anforderung abgesand: "antwort.php?Vorname=Ein+Versuch"
Dadurch wird auf dem Server das PHP-Script getantwort.php aufgerufen. Dieses erzeugt als Anwort:

<h2>Antwortseite zur Get-Anfrage</h2>
<p><?php
foreach($_GET as $k => $v)
print('<b>Feldname: </b>' . $k . ', <b>Inhalt: </b>' . $v . "<br/>\n");
?></p>
Form-Attribute
Formulare werden als Web-Front-End von Server Applikationen verwendet. D.h. das Human Interface kann mit einem simplen Browser realisiert werden. Grundprinzip: Eine Web-Site enthält eine Eingabe-Maske, eine Ansammlung von Eingabefeldern. Die eingegebene Informantion wird an den Server übermittelt und verarbeitet, dazu verwendet man das Prinzip der Name-Wert-Paare, ein Eingabe Feld o.ä. hat einen Namen und diesem Namen wird ein Wert zugeordnet.
action
Hier wird die URL angegeben, die das Formular verarbeiten soll. Beispiele:
action="http://de.selfhtml.org/cgi-bin/comments.pl" cgi-bin ist das Verzeichnis in dem sich die Programme, Skripte des "Common Gateway Interface" befinden um die Formular-Antworten zu verarbeiten.
action="antwort.php" Hier wird die Verarbeitung durch den PHP-Interpreter vorgenommen. Das antwort.php-Skript wird mit den Eingaben aus dem Formular verarbeitet.
method (optional, wenn es fehlt wird get-Methode angenommen)
Gibt an, welche Übertragungsmethode verwendet wird. In dem Beispiel oben wird die get-Methode verwendet.
method ="get" Die Parameter (Name-Wort-Paare) werden an den Ziel-URL angehängt. Ein verarbeitendes Programm bzw. Skript würde die Werte als Parameter erhalten. Get ist simpel schnell aber unsicher und nicht für lange Formulare geeignet.
method="post" erlaubt Verschlüsselung der Parameter, ein C-Programm in der cgi-bin würde die Parameter via stdin Schnittstelle erhalten.
<form action="antwort.php" method="post">
<input name="Vorname" type="text" value="Ein Versuch">
<input type="submit" value="Absenden">
</form>

<h2>Post-Antwort, wenn vorhanden</h2>
<p><?php
foreach($_POST as $k => $v)
print('<b>Feldname: </b>' . $k . ', <b>Inhalt: </b>' . $v . "<br/>\n");
?></p>
target (optional)
Erlaubt die Angabe des Zielfensters für die Serverantwort. Siehe a-Tag und Frames usw..
enctype (optional, wenn es fehlt wird "application/x-www-form-urlencoded" angenommen)
Die Daten werden vor dem Absenden von Browser codiert um ein Verstümmeln beim Übertragen zu verhindern, z.B. werden Leerzeichen durch Pluszeichen '+' ersetzt.
Input
USW...
Wozu werden Web-Formulare verwendet? Sie dienen als Human Interface zur Eingabe von Daten bzw. Steuerung von Applikationen.
Erklären Sie den Unterschied zwischen "get" und "post". Bei get werden die Daten in der URL angehängt, sind somit sichtbar und die Menge ist begrenzt, das aufgerufene Programm erhält die Daten in als Parameter. Bei post werden die Daten dem Programm so zur Verfügung gestellt als kämen sie von dem Standart Eingabe Kanal.
Was bedeutet CGI? Nennen Sie 4 Möglichkeiten zur Realisierung. Common Gateway Interface, C-Programm, Perl-Skript, PHP, Shell-Skript, Java-Server-Pages, ASP usw..
Welche Formular-Methode wird verwendet, wenn man das "method"-Attribut weglässt? Die get-Methode.
![]() Hinweis: Beim Klicken auf "Bestellen" wird folgendes zum Server übertragen: http://mezmedia.de/webpub/04-11-14_formulare/antwort.php?getraenk=cafe&extramilch=true&extrazucker=true&submitButtonName=Bestellen |
![]() |