Ein beliebter Fehler ist, einen Reload einer Webseite nicht im Workflow einzuplanen. Am besten pflegeleicht wird es, wenn man Aktion und Reaktion auf verschiedene URLs und Dateien verteilt. Als Beispiel mal ein Kontaktformular:
- kontakt.php
- kontakt_do.php
- kontakt_done.php
- kontakt_err.php
Hier wird die Aufgabeverteilung wie folgt gestreut:
- Darstellen des Formulars ohne Interaktion mit einem Backend wie Mailer oder Datenbank,
- Empfang der Formulardaten via POST im do Script, Verarbeitung und Prüfung, sowie Absenden oder Speichern des Kontaktwunsches. Danach eine Weiterleitung an diese Ergebnisseiten:
- Im Erfolgsfall wird die Seite done aufgerufen. Wer hier ein reload macht, stößt keine neue Aktion mehr an.
- Im Fehlerfall (auch der ist vorzusehen) kann auf die err Seite gesprungen werden. Auch hier wird ein Reload die fehlgeschlagene Aktion nicht neu ausführen.
So ist es übersichtlich und läuft hier ohne Probleme auch bei hoher Last und unerzogenen Usern.
