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