Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Grundlagen  Features  Formulare  Formularelemente  Basisformular  Validierung I  Validierung II  Längen-Test  RegExp-Test  Intro-Option  Custom Validators  Custom Validators II  Custom Validators III  Übersichtlichkeit  Defaults  Aliasnamen  Subelemente  JavaScript  XML  Layoutmanager  Pages  Wizards  Fazit  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Übersichtlichkeit
Bislang haben wurden in allen Beispielen die
Formulare so generiert, wie es zur Zeit der alten OOH Forms
üblich war. Der Verzicht auf eine Ableitung von
der Formularklasse führt zu unübersichtlichen Dokumenten.
Zur Verbesserung der Übersichtlichkeit eines
Skripts bietet sich folgende Struktur an.
Später werden wir sehen, daß es mittels einer
XML->Form Factory Klasse noch kürzer und bequemer geht.
| Einfaches Kontaktformular |
Top |
|
<?php require_once('kontaktformular.php');
$f = new kontaktformular(); list($error_msg, $error_flags, $submitted) = $f->validate();
if ($error_msg || !$submitted) { $f->Start(); // Formular ausgeben ?> <table> <tr> <td><?php print $f->getLabel('element1'); ?></td> <td> <?php print $f->getElement('element1'); if (isset($error_flags['element1'])) printf('<br>%s', $error_flags['element1']); ?> </td> </tr> ... </table> ?> $f->Finish(); } // end if ($error_msg || !$submitted) ...
|
Die instanziierte Klasse "kontaktformular" ist wie folgt
definiert und in einer gesondeten Datei abgelegt.
| Ableitung 'kontaktformular' |
Top |
|
<?php require_once('HTML_OOH_Form/form.php'); /** * Kontaktformular * * @access public * @module Kontakt * @package OOH Form Schulung * @version $Id: $ */ class kontaktform extends form {
/** * Fügt dem Formular seine Elemente hinzu und liefert die Validierungsergebnisse * * @return array [string Fehlermeldung, array Fehlerflags, boolean Folgeaufruf] * @access public */ function init() { $this->addElement( ... ); ... if (count($GLOBALS['HTTP_' . $this->getMethod(). '_VARS']) > 0) { // Formular wurde bereits gesendet $this->autoloadValues(); list($error_msg, $error_flags) = $this->validate(); $submitted = true; } else { // Erstaufruf, keine Fehlermeldungen ausgeben $error_msg = ''; $error_flags = array(); $submitted = false; } return array($error_msg, $error_flags, $submitted); } // end func init } // end class kontaktform ?>
|
< ^ >
|