Eddie: (PHP) Wie geht ihr bei der Verarbeitung von Formularen vor?

Beitrag lesen

Hallo allerseits,

meine Website ist eine einzige Formularhoelle, darum habe ich mir natuerlich irgendwann ein Verfahren ueberlegt, wie ich das am besten mache. Nur ob das so ideal ist, bleibt dahin gestellt.
Falls sich da also bei Euch ein Verfahren vollkommen bewaehrt hat, oder ihr mir grundsaetzlich was raten koennt, waere ich Euch sehr dankbar.

Folgendermassen mache ich es zur Zeit:

Klassen und Methoden heissen natuerlich anders, die Funktionsweise des Fehlerhandlings koennt ihr Euch hier ansehen (einfach nichts oder was fehlerhaftes eingeben): http://www.umdiewelt.de/Asien/Mittlerer-Osten/Katar/Reisebericht-46/Gaestebuch.html

Ich verwende PHP-Klassen. Nur meine Hauptdatei (z.B. gbIndex.php) ist keine Klasse, sondern steuert nur den Zugriff auf die Klassen.

Erhaelt die gbIndex.php keine Formulardaten:
if (sizeof($HTTP_POST_VARS) == 0))
   dann erzeuge ich ein Objekt GBEntry mit fehlenden Daten:
      newEntry = new GBEntry();
   Daraus lasse ich mir mittels der Methode buildForm($printErrors){...} ein Formular ohne Fehleranzeige (denn es sind ja eigentlich fehlende Daten vorhanden) erzeugen:
      newEntry->buildForm(false);

Sonst, falls also Formulardaten erhalten, erzeuge ich ein neues Objekt mit diesen Daten:
    newEntry = new GBEntry($name, $text, ...);
Falls die Daten ok und konsistent sind
    if (newEntry->readyForDB())
  kommt das Ganze in die Datenbank und ich gebe eine Erfolgsmeldung aus
      newEntry->safeToDB();
      newEntry->buildConfirmation();
  sonst erzeuge ich ein Formular mit Fehleranzeige und bereits (fehlerhaft) ausgefuellten Feldern:
      newEntry->buildForm(true);

Was haltet ihr davon? Dieses Verfahren bläht meine Klassen ganz schön auf, vor allem wegen dem ganzen Fehlerhandling. Aber die Fehlermeldungen sind dafuer spezifisch und (wie ich hoffe) hilfreich.
Gibt's was einfacheres, um dasselbe zu erreichen?

Danke für eure Hilfe,
Eddie

--
Old men and far travelers may lie with authority.