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