HTML-Dateien selbst erstellen


Formulare auswerten und weiterverarbeiten

 Ausgefüllte Formulare als Email zuschicken lassen
 Ausgefüllte Formulare mit CGI-Scripts verarbeiten


Ausgefüllte Formulare als Email zuschicken lassen

Wenn Sie nicht allzugroße Mengen an ausgefüllten Formularen erwarten, ist dies der einfachste Weg, um an die Formulardaten zu kommen. Wenn Ihnen keine Möglichkeit zur Verfügung steht, CGI zu nutzen (z.B. weil Ihr Provider das nicht vorsieht), bleibt Ihnen gar keine andere Wahl, als sich ausgefüllte Formulare per Email zuschicken zu lassen.

Zusammenhängendes Beispiel

Angenommen, Sie stellen folgendes Bestellformular im WWW zur Verfügung:


  <form action="mailto:literatur.zirkel@neuland.de" method="post">
  <h3>Reimer Eilers:</h3>
  <input type=checkbox name="RE_Scoobie_Doobie_Do" value="X"> Scoobie Doobie Do (nur 8,- DM)
  <h3>Manfred Goldbeck:</h3>
  <input type=checkbox name="MG_Brummels_Abenteuer" value="X"> Brummels Abenteuer (nur 7,- DM)<br>
  <input type=checkbox name="MG_Inlandsgeschichten" value="X"> Inlandsgeschichten (nur 7,- DM)<br>
  <input type=checkbox name="MG_Maexchens_Erzaehlungen" value="X"> M&auml;xchens Erz&auml;hlungen (nur 4,- DM)
  <h3>Charlotte Richter-Peill:</h3>
  <input type=checkbox name="RP_Zwischenfall" value="X"> Zwischenfall (nur 7,- DM)
  <p>
  Ihr Name: <input name="Besteller_Name" size=20>
  <p>
  <input type=submit value="Bestellung abschicken">
  </form>
Weiter angenommen, ein Anwender füllt dieses Formular aus wie im folgenden Bild:

Wenn Sie sich dieses Formular als Email zuschicken lassen, hat die Email folgendes Aussehen (Beispiel):


  Sender: ...
  Received: ...
  Message-ID: ...
  Date: ...
  From: ...
  X-Mailer: ...
  MIME-Version: ...
  To: ...
  Subject: ...
  Content-type: ...
  Content-length: ...
  
  MG_Brummels_Abenteuer=X&MG_Maexchens_Erzaehlungen=X&RP_Zwischenfall=X
  &Besteller_Name=Birgit+Simson
Im eigentlichen Text der Email (im Beispiel nur die letzten beiden Zeilen) stehen die übermittelten Daten. Die Daten der einzelnen Elemente des Formulars sind durch ein kaufmännisches & voneinander getrennt. Die Namen (wie im Beispiel etwa MG_Brummels_Abenteuer) sind diejenigen Feldnamen, die Sie bei der Definition der Formularfelder mit der Angabe name= vergeben haben. Die Angaben hinter den Istgleichzeichen sind die Werte bzw. Daten. Bei Check- und Radiobuttons werden nur die vom Anwender aktivierten Buttons in der Email übertragen und enthalten die Werte, die Sie beim Formular mit der Angabe value= definiert haben (im obigen Beispiel ist das einfach ein großes X). Bei Eingabe- und Textfeldern erhalten Sie die Daten, die der Anwender eingegeben hat (im obigen Beispiel etwa "Birgit+Simson"). Leerzeichen werden dabei in Pluszeichen umgewandelt. Sonderzeichen, z.B. deutsche Umlaute, werden in Hexadezimalschreibweise umgewandelt.

Mit Hilfe eines selbst geschriebenen Filter-Programms können Sie diese Zeilen z.B. in eine kommabegrenzte Datei schreiben, die Sie dann in eine Datenbank einlesen können.


 HTML-Dateien selbst erstellen
 Formulare auswerten und weiterverarbeiten


Ausgefüllte Formulare mit CGI-Scripts verarbeiten

Um ausgefüllte Formulare mit CGI-Scripts verarbeiten zu können, benötigen Sie eine CGI-Schnittstelle auf dem Server-Rechner, wo Sie Ihre WWW-Seiten anbieten. Auf Unix-Rechnern (die im WWW die Regel sind) gibt es dafür ein eigenes Verzeichnis, normalerweise mit dem Namen cgi-bin. In diesem Verzeichnis können Sie CGI-Scripts ablegen.

CGI und das Client-Server-Modell

Common Gateway Interface (CGI) ist ein Unix-Standard für Client-Server-Kommunikation. Ein Server ist ein Rechner, der Daten (oder Software) zur Verfügung stellt. Ein Client ist ein Rechner, der die Daten des Server-Rechners abruft bzw. Software des Servers aufruft. Im WWW stellt ein WWW-Server z.B. HTML-Dateien zur Verfügung, die der Anwender auf seinem Heim-Rechner (Client) mit Hilfe eines WWW-Browsers aufrufen und am Bildschirm anzeigen lassen kann. Außerdem kann der Server-Rechner Daten verarbeiten, die er vom Client erhält, ohne daß dem Client bekannt ist, wo und wie genau die Daten gespeichert werden. So ist es im WWW z.B. denkbar, daß ein Anwender (Client) ein Formular auf einer WWW-Seite ausfüllt und abschickt. Die dadurch an den Server-Rechner übertragenen Daten werden dann auf dem Server-Rechner beispielsweise in eine Datenbank eingespeist. Oder der Anwender (Client) formuliert in einem Formular eine Suche in einer Datenbank. Die an den Server-Rechner übertragenen Formulardaten werden in eine interne Datenbankabfrage umgesetzt. Die Datenbank erzeugt daraus einen Abfrage-Report mit Suchergebnissen. Aus diesem Abfrage-Report generiert der Server automatisch eine HTML-Datei, die er an den Anwender (Client) überträgt. Die folgende Abbildung verdeutlicht diesen typischen Kommunikationsverlauf:

CGI-Scripts

CGI-Scripts haben also folgende typische Aufgaben: CGI-Scripts müssen ausführbare Programme sein. Es gibt keine Vorschriften dafür, in welcher Programmier- oder Scriptsprache CGI-Scripts geschrieben sind. Häufig verwendet werden: Die Scripts müssen entweder direkt ausführbare Programme (d.h. compiliert und gelinkt) sein, oder es muß ein Interpreter vorhanden sein, der den Quellcode der Scripts ausführt. Wer CGI-Scripts programmiert, muß gute bis sehr gute Kenntnisse in den Bereichen String-Verarbeitung, Datei-Operationen, SQL und dem WWW-Protokoll HTTP (Hypertext Transfer Protokoll) besitzen.

Information über CGI

Im WWW finden Sie Informationen über CGI und Sammlungen frei verfügbarer CGI-Programme in verschiedenen Programmiersprachen.

 The Common Gateway Interface (CGI)
 CGI Tutorial
 HTML-based Interfaces
 CGI Form Handling in Perl
 A CGI Programmer's Reference
 Die CGI Spezifikation


 HTML-Dateien selbst erstellen
 Formulare auswerten und weiterverarbeiten