Im generellen möchte ich aber die Session beibehalten, da dies ja nur ein Test war und das wahre Dokument unmengen mehr an Feldern hat und es somit nicht gerade schön wäre alle Variablen über die Url mitzuteilen!
Ist vielleicht nicht deutlich geworden: Das Problem ist nicht die Sessiongeschichte, das Problem ist, daß das Formular kein brauchbares Ziel hat.
Formulare übertragen ihre Daten per HTTP. Du hast aber kein HTTP-Ziel angegeben, sondern Javascript (zwangsläufig, wegen dem neuen Fenster), weshalb das Formular nichts übermitteln kann. Die Daten _müssen_ per HTTP übermittelt werden, damit der Kram vom Browser (wo das Formular und Javascript sitzen) auf den Server (wo PHP sitzt) kommt. Anders geht es nicht.
Daher auch mein Ansatz die Formulardaten manuell (per Javasript) an eine HTTP-URL anzuhängen.
Genau betrachtet kommst Du mit einer Session bei diesem Problem nirgendwo hin, weil sich die Sessiondaten auf dem Server befinden, die Formulardaten aber im Browser - womit wir wieder beim eben dargelegten Transportproblem "Browser -> Server: HTTP" wären.
Eine wilde Alternative, die mir gerade einfällt: Wie bisher ein neues Fenster öffnen, dort ein (verstecktes) Formular aufbauen, diesem Formular die Daten aus dem Hauptformular verpassen und es dann abschicken.
Das sollte alles per Javascript möglich sein und somit ohne Wissen des Benutzers. Und der obligatorische Hinweis: Leute, die Javascript ausgeschaltet haben (wofür es sehr gute Gründe gibt), haben nichts von dieser akrobatischen Leistung.
Über die "session_register("ort");" wollte ich die Session nicht nochmal initialisieren, sondern die Variable in der Session deklarieren.
Das ist bei session_start() nicht nötig, alles in $_SESSION[] (bzw. $HTTP_SESSION_VARS[] vor PHP 4.1) wird automatisch gespeichert.
Gruß,
soenk.e