Der Aufbau von einem HTML Formular

Der Bereich eines Online Formulars auf einer Webseite wird immer durch die FORM-Tags definiert. Zwischen dem öffnenden <form ..> und dem schließendem </form> Tag werden HTML Formular-Elemente integriert, wie zum Beispiel Textfelder, Listen, Buttons, usw..

Formular-Attribut: ACTION - Formularziel, Ziel-URL

An dieser Stelle definiert man das Ziel des HTML Formulars. Wird es abgesendet, werden die Formulardaten an diese URL gesendet. Feld das Attribut, wird die gleiche Seite erneut aufgerufen, das kann in einzelfällen erwünscht sein.

Die angebotenen Skripte verweisen an dieser Stelle immer auf sich selbst, also eine PHP Datei, die anschließend die Formulardaten verarbeitet.

<form action="onlineformular.php">
. . . html formularinhalt . . .
</form>

Formular-Attribut: METHOD - Übertragungsvariante

Man Unterscheidet bei Webseiten in der Datenübertragung in der Regel die zwei Methoden GET und POST.

  • GET
    Hängt die Formular-Eingaben an die URL, in der Form: onlineformular?feld=eingegebene%20daten&nocheinfeld=noch%20mehr%20daten
    Nutzen Sie diese Form nur, wenn wenige Daten übermittelt werden oder die GET Methode generell notwendig ist.
    Ein typisches Problem bei dieser Variante tritt bei umfangreichen Daten auf, durch Beschränkungen des Webservers bzw. des Browsers kann eine maximal Länge überschritten werden. Die einfachste Auswirkung wären hier abgeschnittene Daten, die schlimmste könnte zu einem Abbruch und Fehler führen.

    <form method="get">
    . . . html formularinhalt . . .
    </form>
  • POST (empfohlen)
    Hierbei werden die Daten separat an die Ziel-URL aus dem Action-Attribut übermittelt und anschließend erst die neue Webseite im Datenstrom empfangen.
    In der Regel ist diese Art der Datenübergabe immer die bessere Wahl, da hier keine besonders Lange URL entstehen kann.
    Nutzen Sie diese Form, wenn umfangreiche Daten übermittelt werden. Für Datei-Uploads ist sie zwingend erforderlich.

    <form method="post">
    . . . html formularinhalt . . .
    </form>

Formular-Attribut: ENCTYPE - Übertragungs-Kodierung

Mit diesem Feld definieren Sie die Art der zu übermittelten Daten, fehlt es wird reiner Text übermittelt (also text/plain). Will man Datein mit einem Online Formular übermitteln, muss das Encrypte-Attribut unbedingt angegeben werden. Es muss zwingend der Wert multipart/form-data angegeben werden.
Fehlt diese Angabe, werden Dokumente nicht zu entfernten Servern übertragen!

<form enctype="multipart/form-data">
. . . html formularinhalt . . .
</form>

Zusammenfassung

Alle erwähnten Attribute können zusammen in einem FORM-Tag angegeben werden.

Beispiel für HTML Formulare mit Text-Inhalten:

<form action="onlineformular.php" method="post">
. . . html formularinhalt . . .
</form>

Beispiel für HTML Formulare mit Text-Inhalten und zusätzlich Datei-Upload:

<form action="onlineformular.php" method="post" enctype="multipart/form-data">
. . . html formularinhalt . . .
</form>
Scar4U.de bietet mit dem PHP Skript ScarFormManager (Scar's Online Formular Manager & Generator) eine umfangreiche Formular Verwaltung für Ihre Online Formulare.