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

Reply via email to