Re: [PHP-DB] independent session data for multiple browser windows

2008-02-27 Thread Charles Whitaker


On Feb 20, 2008, at 11:18 AM, Gary Wardell wrote:



They'll be accessing different account records in different windows.
I keep track of the current account id in the session data, as well
as a number of other account-specific items. Once I was made
aware of
the multiple-window requirement, and started looking more closely at
sessions, it seemed (from the PHP documentation) that I could
start a
new session, with a different name and id, and that would take care
of it.  In fact I CAN start sessions with independent names and ids,
but their DATA doesn't seem to be completely independent.



Assuming that they are interacting through forms on the pages in  
the different windows, why not put the UID of the record they are

accessing in a hidden field in the form?


Gary,

Thanks for your reply. I'm beginning to think that that's what I'll  
have to do, although it will be a bit of work to convert. I'm  
surprised, though, that sessions aren't better in regards to data  
integrity. What I'm gathering from looking into this is that it's ok  
to use sessions, but you shouldn't count on reliable data from them.  
I don't remember seeing any caveats to that effect in the  
documentation on sessions, but that seems to be the case.


Anyone know differently? Thanks.

Charles Whitaker
Technical Staff
Open Door Networks



RE: [PHP-DB] independent session data for multiple browser windows

2008-02-20 Thread Gary Wardell

 They'll be accessing different account records in different windows.
 I keep track of the current account id in the session data, as well
 as a number of other account-specific items. Once I was made
 aware of
 the multiple-window requirement, and started looking more closely at
 sessions, it seemed (from the PHP documentation) that I could
 start a
 new session, with a different name and id, and that would take care
 of it.  In fact I CAN start sessions with independent names and ids,
 but their DATA doesn't seem to be completely independent.


Assuming that they are interacting through forms on the pages in the different 
windows, why not put the UID of the record they are
accessing in a hidden field in the form?

Gary

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



Re: [PHP-DB] independent session data for multiple browser windows

2008-02-20 Thread Charles Whitaker


On Feb 16, 2008, at 1:31 AM, Tobias Franzén wrote:


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.


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.


Tobias,

Thanks for the reply. With one window in Safari open, and accessing  
the database, they just want to create a new window (New Window in  
Safari's File menu) and access the database from that window as well.


On the other hand, why would you require multiple sessions if they  
are to work against the same database?

...
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.


They'll be accessing different account records in different windows.  
I keep track of the current account id in the session data, as well  
as a number of other account-specific items. Once I was made aware of  
the multiple-window requirement, and started looking more closely at  
sessions, it seemed (from the PHP documentation) that I could start a  
new session, with a different name and id, and that would take care  
of it.  In fact I CAN start sessions with independent names and ids,  
but their DATA doesn't seem to be completely independent.


Charles Whitaker
Technical Staff
Open Door Networks



Re: [PHP-DB] independent session data for multiple browser windows

2008-02-16 Thread Tobias Franzén

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



[PHP-DB] independent session data for multiple browser windows

2008-02-15 Thread Charles Whitaker

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



RE: [PHP-DB] independent session data for multiple browser windows

2008-02-15 Thread Bastien Koert

That just sounds like such recipe for disaster. What about running multiple 
divs with each data set in that 'window'? Then you could pass each datasets 
relevant ids along to keep thing separate...
 
Another option could to create multiple [i]frames and do the same thing?
 
Bastien To: php-db@lists.php.net From: [EMAIL PROTECTED] Date: Fri, 15 Feb 
2008 15:00:36 -0800 Subject: [PHP-DB] independent session data for multiple 
browser windows  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 
_