Mailinglisten-Archive |
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