dedlfix: Formulardaten in mehrseitigen Formularen übertragen

Beitrag lesen

Tach!

Bei der "einfachen" Session-Lösung fände ich es (aus meiner eigenen Nutzersicht) ein wenig komisch, wenn die Applikation nur mit einem Tab funktioniert, daher meine Nachfrage.

Also ich definiere jetzt nochmal neu, um Missverständnisse zu vermeiden. Wenn man die Daten in SESSION-Variablen zwischenspeichert dann IST ES MÖGLICH, dass der User mehrere  Tabs verwendet, um Dein Formular auszufüllen, da in jedem Tab zunächst mal dieselbe Session-ID verwendet wird.

Hast du vielleicht ein NICHT vergessen? Dann würde deine Aussage meiner Meinung nach stimmen und auch zum Rest deiner Ausführungen passen.

[code lang=php]define('TS',   time());
define('mTS',  TS.substr(microtime(),2,6));

microtime() hat doch nun schon soooo lange einen boolschen Parameter bekommen, der bei true die Zeit als Float und nicht diesen zerhackten String zurückgibt. Warum verwendet den denn keiner?

if(isset($_POST["CID"]){
  if($_POST["CID"] != $_SESSION["CID"]){
    //jetzt raste aus
  }
}

Die CID kannst du aber in der Form nur für die Überprüfung der Workflowreihenfolge verwenden, also dass wirklich Schritt für Schritt durchgelaufen wird. Für das Separieren mehrerer paralleler Workflows ist solch ein Singleton-Wert nicht geeignet. Dafür brauchts die Workflow-ID als Key mit den restlichen Daten als Array oder Baumstruktur dahinter.

Wenn die ungleich sind, verliert das ganze gleich mal seine Gültigkeit. Ist das unfreundlich?
Wie ist es denn am besten?

Kommt auf die Aufgabenstellung an. Wenn wirklich die Tippeltappeltour stattfinden muss, dann kann man das so durchziehen. Wenn lediglich ein Parameter aus Formular 1 für Formular 2 wichtig ist, reicht es doch zunächst, nur diesen als Pflicht zu überprüfen, solange man sich vorwärts und rückwärts durch die Schritte bewegen kann, um die anderen Pflichtparameter (aus der Sicht des Gesamtergebnisses) später auszufüllen.

Aber wir weichen vom Thema ab. Es ging darum, mehrere Workflows zu parallelisieren und nicht die serielle Abarbeitung von einem sicherzustellen.

dedlfix.