Diese Seiten sind Teil von Bachsau’s Archiv.
Die hier beschriebenen Praktiken entsprechen nicht mehr dem Stand der Technik!
Bitte nutzen Sie für aktuelle Projekte das fortlaufend aktualisierte SELFHTML-Wiki.

SELFHTML

HTML-Formulare und CGI

Informationsseite

nach unten Formulardaten übertragen mit GET oder POST
nach unten Datenstrom bei Übertragung von Formulardaten

 nach unten 

Formulardaten übertragen mit GET oder POST

Das Hypertext Transfer Protocol (HTTP) ist das Übertragungsprotokoll, mit dem Web-Browser und Webserver Daten austauschen. Dafür gibt es HTTP-Anfragemethoden. Zwei HTTP-Anfragemethoden sind im Zusammenhang mit der Übertragung von Formulardaten von Bedeutung:

Wenn Sie ein vorhandenes CGI-Script einsetzen wollen, müssen Sie wissen, nach welcher der beiden Methoden das betreffende Script die Daten erwartet. Normalerweise ist das vom Autor des CGI-Scripts dokumentiert. Einige Scripts sind auch so intelligent, beide Möglichkeiten abzufragen - in diesem Fall ist es egal, welche Anfragemethode Sie im HTML-Formular wählen. Wenn Sie eigene Scripts schreiben, müssen Sie eine Anfragemethode festlegen oder ebenfalls so intelligent programmieren, dass es egal ist, welche Methode im HTML-Formular angegeben wird.

nach obennach unten

Datenstrom bei Übertragung von Formulardaten

Ein typisches HTML-Formular besteht aus benannten Feldern (z.B. für Name, E-Mail-Adresse und Kommentartext). Bei der Übertragung eines ausgefüllten Formulars an den Server-Rechner bzw. ein CGI-Programm müssen die Daten so übertragen werden, dass es dem CGI-Script möglich ist, zu erkennen, aus welchen Feldern das Formular besteht, und welche Daten der Anwender in welches Feld eingetragen hat. Deshalb gibt es eine bestimmte Kodierungsmethode, die Formularfelder und deren Daten voneinander trennt. Diese Kodierungsmethode benutzt folgende Regeln:

Das folgende Beispiel zeigt zunächst den Quelltext eines HTML-Formulars und darunter ein Bild, wie das Formular im Web-Browser mit Anwendereingaben aussieht. Unterhalb des Bildes sehen Sie, wie der Formulardatenstrom entsprechend den Kodierungsregeln aussieht, nachdem der Anwender das Formular abgesendet hat.

Beispiel: HTML-Formular

<form action="/cgi-bin/comments.pl" method="post" accept-charset="ISO-8859-1">
<p>Name:<br>
<input name="AnwenderName" size="40"></p>
<p>E-Mail:<br>
<input name="AnwenderMail" size="40"></p>
<p>Text:<br>
<textarea name="Text" rows="5" cols="50"></textarea></p>
<p><input type="submit" value="Formulardaten absenden"></p>
</form>

Beispiel: Abbildung des HTML-Formulars im Web-Browser mit Anwendereingaben

Formular

Beispiel: Formulardatenstrom aufgrund dieser Formulareingaben

AnwenderName=Stefan+M%FCnz&AnwenderMail=beispiel@example.org&Text=Das+ist+ein+kleiner+Text

Erläuterung:

So kodiert der Web-Browser die Formulardaten beim Absenden des Formulars. Diese Zeichenkette wird mit einer der erlaubten Methoden POST oder GET an das aufgerufene CGI-Script übergeben. Das CGI-Script kann diesen Datenstrom in Kenntnis der Kodierungsregeln selbst auseinanderdividieren, um die Formulardaten beispielsweise feldweise zu verarbeiten. Eine elegantere Methode ist es, dies einem Perl-Modul zu überlassen, das diese Arbeit übernimmt - dem Seite CGI-Modul.

 nach oben
weiter Seite MIME-Typen
zurück Seite CGI-Umgebungsvariablen
 

© 2007 Seite Impressum

Originaladresse dieses Dokuments: http://de.selfhtml.org/servercgi/cgi/formularverarbeitung.htm