Daniel: Formulareingaben überprüfen...

Beitrag lesen

Hallo zusammen

Ich habe ein Formular erstellt, worin der User diverse Daten eintragen kann. Nun möchte ich die Daten überprüfen, bevor diese an eine E-mail-Adresse übermittelt werden. Doch wie stell ich das an? Ich hab da schon einige Varianten gesehen, konnte mir aber nicht viel darunter vorstellen. Der Test ob ein Feld ausgefüllt wurde krieg ich schon hin. Nun möchte ich aber sicherstellen, dass gewisse Felder nur Buchstaben oder nur Zahlen enthalten. Zudem kommen noch Spezialfälle, wie die Überprüfung einer E-mail Adresse oder die Angabe einer Telefonnummer, wo z.B. nur Zahlen, -, /, und Leerschläge erlaubt sein sollen, hinzu. Kann mir da jemand ne gute Erklärung geben wie ich da am besten vorgehe? Vielen Dank bereits im Voraus!

Gruss Chris

Hallo Chris

Aus meiner Sicht gibt es drei grundlegende Varianten:

1. Die Prüfung vor dem Submit auf dem Client selbst mit Javascript.
2. Der Benutzer sendet seine Daten zum Server und man prüft sie mit
   einer Scriptsprache, in Deinem Fall wohl PHP.
3. Die Kombination von beiden.

Die dritte ist wohl die sauberste aber auch aufwendigste.
Ich verwende für die Prüfung von Formularinhalten stets etwas Javascript.
Unabhängig davon, ob ich die Prüfung auf dem Server auch noch mache.
Dies hat den Vorteil, dass man den Benutzer sofort auf einen Fehler aufmerksam
machen kann und ihn auch auf das Feld lotsen kann wo der Fehler liegt.
komplexere Musterabfragen wie Mailadressen usw. kann man relativ einfach mit
RegEx durchführen. Siehe dazu im Manual SelfHTML unter Javascript/Objectreferenz
das Object 'RegEx'. Das erste Verfahren bedingt allerdings das Javascript im
entsprechenden Browser aktiviert ist und/oder ein allfälliger Proxy/Firewall,
der zwischen dem Server und dem Benutzer liegt dies zulässt. Vorallem bei Firmen
ist dies längst nicht überall möglich. Ferner hat man vom Server aus keine
Möglichkeit die Javascripttauglichkeit zu steuern. Einzig ein Javascript-Referrer
und der Hinweis, dass Javascript benötigt wird bleibt da übrig.

Das heisst dann also, das die Variante zwei auch zum Einsatz kommen wird. Nur um
auf der sicheren Seite zu sein. Um den Benutzer dann nicht zur erneuten Eingabe
aller Daten zu zwingen muss man dann das Formular mit den bereits gesetzten Werten
zurücksenden. Ich markiere dann jeweils das fehlerhafte Feld mit einer Fehlerflagge
und gebe im Seitenkopf die gefundenen Fehler an. Für PHP gibt's eine Masse von
Online- Ressourcen zum abkupfern.

Wenn Du mir sagst, welche Variante Du einsetzen willst kann ich konkretere Angaben machen.

Gruss

Dani