Deutsche Zope User Group
Gast 3 Benutzer online
DZUG-News

Formulare �ber mehrere Seiten

Frage:

Wie kann ich Formulareingaben �ber mehrere Seiten transportieren?

Antwort:

Es gibt zwei L�sungen f�r dieses Problem:

Erste L�sung: Versteckte Eingabefelder

Wenn man auf einem Formular beispielsweise Name und Adresse abfragt, auf der n�chsten Seite dann Informationen wie Email und Telefon kann man die Daten durch versteckte Eingabefelder mit weitertransportieren.

Bei DTML:

Bei ZPT:

Diese Eingabefelder baut man f�r jedes Datenfeld, das im aktuellen Form nicht vom Benutzer abgefragt wird, ein. Auf diese Art werden die Daten in einer Formular-Kette einfach weitertransportiert.

Nachteile dieser Methode:

Bei dieser Vorgehensweise werden alle daten immer �ber den Brwoser des Users transportiert. Dieser kann diese Daten mit geeigneter Vorgehensweise also manipulieren. Ausserdem ist eine Kontrolle der Eingabe so nicht direkt realisierbar.

Zweite L�sung: Sessions

Erheblich eleganter ist die L�sung, die Eingabedaten von Formular zu Formular in Session-Daten zu speichern. Dazu legt man ein browser_id_manager -Objekt und ein session_data_manager-Objekt an. Jedes Formular ruft mit dem "submit"-Button dann ein Python-Scvript auf, das die Formulardaten ausliesst und in das REQUEST.SESSION-Objekt schreibt. Anschliessend redirected das Script den Browser auf das n�chste Formular.

Vorteil dieser L�sung:

Der Benutzer bekommt die Formulardaten nicht mehr in die Hand, ausserdem kann man in dem jeweiligen Python-Script auch eine Plausibilit�tskontrolle der Benutzereingaben einbauen und ggf. den Browser zum selben Formular zur�ckdirigieren.


Rubriken: Verschiedenes    FAQ angelegt von: pdreuw, Letzte �nderung: 08.08.2003 16:23 Uhr