phpbar.de logo

Mailinglisten-Archive

[php] System zum Überprüfen von Formulardaten? - (was: Anzahl von Leerfeldern)

[php] System zum Überprüfen von Formulardaten? - (was: Anzahl von Leerfeldern)

Peter Bieling network at media-palette.de
Mit Mai 4 12:47:02 CEST 2005


Hallo Lutz und Liste,

Lutz Zetzsche wrote:

> Wird die Seite email.php aufgerufen, prüfst Du zunächst, welche 
> POST-Variablen übergeben worden sind und ob sie gültige und erlaubte 
> (SQL-Einschleusung!) Werte enthalten.
> Du darfst auf keinen Fall Werte, die nicht leer sind, ansonsten 
> ungeprüft und unbehandelt direkt in die Datenbank eintragen. [...]

Mal eine allgemeine Frage zu diesen immer wiederkehrenden 
Routinearbeiten: gibt es bereits ein praktikables System, mit dem man 
die Formulardaten typisieren und daraufhin automatisch validieren kann?

Offenbar tut sich ja überhaupt etwas auf dem Gebiet der 
Formularverarbeitung:
http://www.w3.org/MarkUp/Forms/ . So ganz verstanden habe ich das leider 
noch nicht. ;-(

Bis das also spruchreif ist, könnte man so etwas wie XML Schema nutzen, 
um die erwarteten Formulardaten zu definieren und anhand dieser 
Definitionen abzugleichen. Vielleicht geht es ja auch noch einfacher.

Also, um es noch mal klarer zu machen: Was ich haben möchte ist eine 
Funktion, bzw. Methode, der ich mein Schema übergebe und die mir aus den 
$_POST- oder $_GET-Variablen ein Array $_VALIDATED zurück gibt, 
eventuell noch ein Array $_NOT_VALIDATED, bzw. entsprechende 
Fehlerroutinen selbst in Gang setzt, z.B. bei bösartigen Angriffen.

Mit PEAR::HTML_QuickForm ist ja wohl etwas vorhanden, was diese Aufgabe 
lösen soll:
http://www.php-mag.de/itr/online_artikel/psecom,id,491,nodeid,62.html
bringt eine Einführung.

Mir persönlich geht es allerdings im Wesentlichen um die Validierung von 
Daten und nicht etwa um die Generierung von Formularen. Wenn ich es 
richtig verstehe, kann man aber die Validierung getrennt nutzen.
Es sollte aber auch möglich sein, komplexere Validierungen zu 
integrieren wie z.B. Feld A muss ausgefüllt werden, wenn Feld B nicht 
ausgefüllt wurde usw.
Klartextbeispiel: Wenn Name in Lieferanschrift ausgefüllt wird, müssen 
auch andere Lieferanschriftsfelder ausgefüllt werden.

Kennt jemand noch handlichere Systeme als QuickForm?

Viele Grüße

Peter

php::bar PHP Wiki   -   Listenarchive