Mailinglisten-Archive |
Hallo Lars, LB schrieb: > hallo > > ich hab ein formular welches über einige seiten geht, die gesammelten > informationen werden in einer session-variable (array) abgelegt. das > ganze läuft ab innerhalb der hauptseite, also nicht in einem popup. ich > verwende die session id, die ich beim besuch der seite zu beginn > automatisch vergebe. die soll dann im endeffekt etwa ne 1/2h gültig sein. > > das problem, welches ich vorher leider nicht bedacht habe ist, dass wenn > ich nun dasselbe formular zb. mit dem firefox in einem neuen tab öffne, > wird keine neue session-id vergeben, da ein neuer tab keine neue instanz > von firefox bedeutet (denke ich). > > da die schon eingegebenen formulardaten solange automatisch wieder in > die entspr. formulare eingetragen werden, wie die session existiert, > werden diese daten auch beim öffnen eines neuen tabs (hier: in firefox) > wieder ins formular geladen, bzw. eben andere werte auch entsprechend > übernommen. > > aber genau das soll nicht so sein. wenn ich einen neuen tab öffne, > sollten die daten des ersten geöffneten formulars bestehen bleiben und > das neue formular komplett als neue "instanz" ausgefüllt werden können. > > jetzt frage ich mich, wie ich das am besten machen soll. vielleicht hat > ja hier jemand einen guten lösungsansatz? ich weiß nicht genau, wie Du dieses mehrseitige Formular bei Dir realisiert hast. Davon hängt ein Bißchen die Lösung Deines Problems ab. Ein Lösungsansatz aus meiner Sicht wäre aber, neben der Session-ID eine eindeutige Fenster-ID zu verwenden. Diese generierst Du per Javascript und weißt sie mit Javascript dem Fenster als Namen zu, wenn dem Fenster von Deinem Formular noch kein Name zugewiesen wurde. Du schleppst dann die Fenster-ID über das Formular mit, ohne sie in der Session abzulegen. Dann kannst Du bei jedem Seitenaufruf prüfen, ob Du es mit einem neuen Fenster zu tun hast. So als grobe Skizze. Es ist sicherlich etwas komplizierter, als ich es hier beschrieben habe, der Ansatz sollte aber zum Ziel führen. Er funktioniert allerdings nur, wenn im Browser Javascript aktiviert ist. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive