Gerne schreib ich noch was dazu.
In meinen Scripts mit DB Anbindung prüfe ich, bevor überhaupt was ausgegeben wird, ob das DBHandle erstellt werden kann, wenn nicht, wird auf eine Fallback-Seite umgeleitet.
Andernfalls bekäme ein Benutzer erst nach dem Abschicken eine Fehlermeldung, das wäre fies, zuerst ein Eingabeform zu zeigen und erst dann zu prüfen.
Ein Formular, was ich zum Browser schicke, wird in einer eigenen Sub erstellt und bekommt eine Sammlung von Parametern übergeben, die Sammlung ist ein Objekt und das sieht ganz genauso aus, wie das Objekt, was in einer Ajaxresponse gesendet wird, Pseudocode:
if(CGI-Parameter)
erstelle Objekt mit den Eingaben
sende Formular mit dem Objekt
elseif(Ajax-Parameter)
erstelle Objekt mit den Eingaben
sende Objekt
Hier siehst Du schon, es gibt da was zu kürzen, z.B. so
if(überhaupt Parameter)
erstelle Objekt mit den Benutzereingaben
if(soll die ganze Seite geschickt werden)
print headers, form(object), footer;
elsif(soll das ne AjaxResponse sein)
print headers, object;
else
print headers, html;
Viele Grüße,
Horst Haselhuhn