PHP Formular auswerten

Matthias

Well-known member
ID: 109860
L
30 April 2006
225
9
Hi,

also ich habe mir gerade eben Gedanken darüber gemacht, wie man am besten ein Formular mit PHP auswertet. In erster Linie geht es mir darum zu überprüfen, ob alle Felder ausgefüllt sind.

Die wohl einfachste Methode ist es ja wohl das ganze mit einer Funktion wie z.B. empty() zu machen.

Eine Methode ist es ja, mittels empty($_POST['feld1']), empty($_POST['feld2'] etc. alle Felder zu überprüfen. Nur geht es eigentlich, dass man das ganze irgendwie in einer Schleife oder sonstwas macht, ohne, dass man alle vorhandenen Formularfelder auflisten muss? Ist das überhaupt sinnvoll?

Gruß Matthias
 
Ist aber nicht ratsam, denn man könnte sich auch ein Formular basteln, und dann nur mit weniger Dtaen abschicken, dann wären ja alle vorhandenen Felder gefüllt.
 
Nur geht es eigentlich, dass man das ganze irgendwie in einer Schleife oder sonstwas macht, ohne, dass man alle vorhandenen Formularfelder auflisten muss?
Theoretisch geht das einfach, indem du mit foreach über dein Array drüberrutscht:
PHP:
foreach($_POST as $key => $value)
  check($_POST[$key]);
Praktisch stellt sich die Frage, ob das wirklich so sinnvoll ist, dass ja jede Eingabe unterschiedlich behandelt werden muss:
  • Feld überhaupt erforderlich ? Falls ja, ausgefüllt ?
  • Textfelder: Falls Mindesteingabelänge vorhanden, eingehalten ?
  • Altersangabe: Eine ganze Zahl > 0 eingegeben ?
  • Geburtsdatum: Ist das ein Datum (mehrere Formate abgleichen) ? Und ist es gültig (z.B. 29.2.2009) ?
  • Auswahlfelder: Wurde der Wert manipuliert (Whitelist) ?
  • andere Wertebereiche (z.B. Prozentangabe: 0% ≤ x ≤ 100%) überprüfen, ob sie eingehalten wurden
  • Felder, die in die Datenbank gehen mussen injection-sicher gemacht werden
  • ...
Es bietet sich also schon an, jedes Feld sich einzeln vorzuknöpfen und nicht nur ne Schleife mit ner billigen Standard-isset-Überprüfung einzusetzen.