Moin!
Ich öffne eine PHP-Seite in einem Popup auf, welches aus dem Hauptfenster aktiviert wird. Anscheinend haben die PHP-Scripte in diesem neuen Popup die selbe Session-ID wie das Hauptfenster im Hintergrund.
Wie kann ich den Start einer neuen Session-ID in diesem Popup erzwingen???
Das dürfte schwierig bis garnicht funktionieren.
Der Grund dazu liegt in der Art, wie PHP gewöhnlich Sessions realisiert.
Normalerweise versucht PHP, ein Cookie zu setzen. Dieses Cookie gilt browserweit, d.h. alle künftigen Requests sende es mit. Folglich wird auch immer dieselbe Session-ID mitgesendet. Es ist unmöglich, das zu trennen.
Du hast nur zwei Chancen:
1. Du benutzt keine Cookies. Das kann man in der PHP.INI abstellen, und vielleicht auch während des PHP-Scriptes. Allerdings mußt du dann dafür sorgen, daß du bei _allen_ Links, die die begonnene Session fortführen sollen, manuell die Session-ID anhängst, und auch den Automatismus, den PHP ansonsten benutzt, abschaltest. Alternativ kann es reichen, wenn du als URL zum Popup einfach die volle HTTP-URL angibst - PHP hängt an solche URLs keine Parameter an.
2. Du benutzt unterschiedliche SessionID-Namen. Dann könnte es auch mit Cookies funktionieren, du mußt eröffnest dann allerdings wirklich _zwei_ Session-Stränge, die nichts miteinander zu tun haben. Das ist möglicherweise nicht, was du willst.
Angesichts dieser Probleme muß ich die Frage stellen: Was willst du überhaupt machen. Sicherlich ist dein Lösungsansatz, _zwei_ Sessions zu verwenden, nicht optimal.
- Sven Rautenberg