Werner: Fehler in Formularen

Beitrag lesen

Hello,

Verstehe ich auch nicht.

Ist auch nicht so einfach´zu verstehen.

Datenaustausch mit dem Client grundsätzlich nur über die Session.
Das bedeutet also, dass alle Ausgaben an die Session stattfinden.

So habe ich das ja auch schon.

Erst, wenn eine Funktion entscheidet, jetzt müsste der Client informiert werden, ruft man die HTML-Ausgabe-Funktion des Dokument-Generators auf (den baust Du Dir ja schließlich gerade).
Der weiß dann, wo welcher Datenblock, welche Fehlermeldungen, welche Buttons hingehören, holt sich deren Eigenschaften aus der Session (ggf. auch ein false wegen "!isset()" ) und veranlasst dann die Ausgabe an die Standardausgabe (Browser) und ein Exit.

So hat man immer eine valide HTML-Ausgabe.
Außerdem gibt man dem Formular so immer ein unverbrauchtes Zertifikat mit, an dem der Server später erkennen kann, ob dieses Formular bereits verarbeitet wurde, oder ggf. auch reentrant angefordert wurde, was meistens nicht sein soll. Um sich die Daten aber nicht kaputtzuschreiben, muss man bei erkannter Reentranz (es kommt zu dem Formular, obwohl es noch nicht verarbeitet war, eine weiterer Request) darauf entsprechend reagieren.

Du meinst mit Zertifikat das, was hier http://www.php-faq.de/q/q-scripte-abstimmung.html als Challenge beschrieben wird?

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

Soweit ist mir das ja schon klar. Meine eigentlichen Fragen waren aber erstens, ob es sinnvoll ist, dem Benutzer eine Möglichkeit zu geben, seine fehlerhaften Eingaben zu verwerfen, indem die Daten aus der Datenbank ausgelesen und ausgegeben werden, und zweitens, wie ich am einfachsten Fehlermeldungen direkt bei den betroffenen Eingabefeldern verwirklichen kann. Gerade bei dem zweiten habe ich programmiertechnisch keine Ahnung, wie das zu realisieren ist. Das erste ist eher eine Frage der Usability.