Re: independent session data for multiple browser windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Charles Whitaker wrote:
Greetings,

I have a nearly-completed accounts/billing database using PHP and MySQL, and was just informed that users will want to access the database via multiple windows in one browser on the same machine, so I'm looking for a way to have each browser window have its own set of session data.

I was initially using cookies, so I switched to propagating the session name via the URL, and had each window using a unique session name, but the DATA from each named session was written to the same file on disk (/private/var/tmp/whatever).

I noticed that the session data file name included the session id, so I tried propagating the session id in the URL, and setting the session id right before session_start() -- that resulted in two data files on disk, but one session would occasionally write to the other session's data file. At this point, this is the code I'm trying:

if (!array_key_exists('SESSION_ID', $_REQUEST)) {
    $_REQUEST['SESSION_ID'] = 'SESS'.uniqid('');
}
session_name($_REQUEST['SESSION_ID']);
session_id($_REQUEST['SESSION_ID']);
session_start();
output_add_rewrite_var('SESSION_ID',$_REQUEST['SESSION_ID']);

In php.ini, I now have:
session.use_cookies = 0
session.use_only_cookies = 0
session.auto_start = 0

Also, I'm on Mac OS X Tiger, and everyone's using Safari. PHP 5.0.24a, MySQL 4.1.22

Any suggestions on how to have unique session data for multiple windows in the same browser on the same machine? Seems like it must be doable, but I haven't figured it out yet. Thanks to whomever can help.

Charles Whitaker
Technical Staff
Open Door Networks



As far as I know, the only way for this to work reliably is if your users can manually choose to open a new "session" in a new window/tab. Is this the way you want it to work? Because you can't reliably stop them from having the same session in multiple windows if they would so choose.

On the other hand, why would you require multiple sessions if they are to work against the same database? Will they be using different user accounts to access it simultaneously, or some administration user with authorization proxy to use regular accounts?

What kind of information stored in the session would require them to use different sessions for different tabs? If you give us a hint, we might be better able to help.

/Tobias

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux