Webdesign mit CSS, HTML und Javascript
Stil mit {stil}
![]() Praxistests aktueller Kameras, Bildbearbeitung und Bildgestaltung foto.5lux.de Online-Magazin für Fotografie und Bildbearbeitung |
Jan 08
Wie funktionieren Formulare?
Um Daten mit einem Formular zu sammeln und zu verarbeiten, brauchen wir ein HTML-Dokument, in dem ein Formular mit Eingabefeldern die Eingaben des Benutzers aufnimmt.
Auf dem Server muss eine Anwendung – zumeist eine PHP-Anwendung oder ein CGI-Programm – bereitgestellt werden, um die Daten zu verarbeiten.
Wie kommen die Daten zum Server?
Der Benutzer füllt Felder des Formulars aus und benutzt anschließend die Schaltfläche „Absenden“ (submit), damit der Browser die Daten zur Weiterbearbeitung an ein Programm auf dem Server überträgt.
Beim Absenden des Formulars formuliert der Browser aus den Eingaben einen HTTP-Request – das ist letztendlich nicht anderes als eine Zeichenkette, die bestimmten Regeln folgt.
Bei Daten in kleinen Mengen wird der HTTP-Request i.d.R. als GET-Request übertragen, während ein POST-Request für für das Heraufladen von Dateien und großen Mengen von Text eingesetzt wird.
Ein GET-Request kodiert die Nachricht in einem »Query-String«, der an die URL der angefragten Resource angehangen wird. Ein POST-Request sendet die Nachricht im Body des Requests.
Bei der Übertragung der Formulardaten an die Anwendung auf dem Server muss die Anwendung erkennen, aus welchen Feldern das Formular besteht und welche Daten der Anwender in welches Feld eingetragen hat. Die Informationen bilden Name/Wert-Paare, die durch ihre Kodierung voneinander getrennt werden:
form.php | die aufgerufene URL |
? | trennt die URL von den Daten |
= | trennt den Namen vom Wert |
& | trennt die Namen=Wert-Paare |
Der Browser übermittelt nur die Daten aus Steuer- und Eingabefelder mit name- und value-Attributen, denn diese Attribute bilden die Name-/Wertpaare. Die einzige Ausnahme ist das TEXTAREA-Element, das kein value-Attribut benötigt, weil der Wert automatisch durch den eingegebenen Text erzeugt wird.
Darüber hinaus werden die Daten kodiert:
- Leerzeichen in eingegebenen Daten (z.B. bei mehreren Wörtern) werden durch + oder %20 ersetzt.
- Alle Zeichen mit den ASCII-Werten 128 bis 255 (hexadezimal 80 bis FF) werden als Hexwerte geschrieben, eingeleitet durch % und dahinter der Hexadezimalwert des Zeichens (z.B. wird ö im Zeichensatz ISO-8859-1 durch %F6 ersetzt).
- Alle Zeichen, die in diesen Regeln als Steuerzeichen vorkommen (also &, +, = und %) werden ebenfalls hexadezimal kodiert.
