Re: Multiple browser instances - is it possible to determine which browser?

From: Date: Mon, 04 Mar 2002 22:52:09 +0000
Subject: Re: Multiple browser instances - is it possible to determine which browser?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-87168@lists.php.net to get a copy of this message
Neil Kimber wrote: > We have an application framework that tidies up application session > variables as you traverse from page to page. It works really nicely - until > a user opens up 2 instances of a browser. Our code cannot distinguish > between different browser instances, so browser instance 2 causes our > application session vars for browser instance 1 to be cleared out. > > We've toyed with many ideas and short of forcing a unique hidden value to be > 'POST'ed to every page from every page we don't have an elegant solution. Is > there any other way that we could do this? > > Neil Good question! I'm not sure there is an elegant solution. Other alternatives are: a) Pass the value as a a GET value or PATH_INFO on the urls. That at least works with links as well. b) Route your urls through a master script that picks up the value and then "includes" the real pages. c) Get your web-server to do an url rewrite from a url with the embedded id to your scripts e.g. a rewrite from http://www.mysite.com/id=123456/rest_of_the_url to http://www.mysite.com/rest_of_the_url, with id set as an environment variable. I guess my favourite of these would be c), which is fairly easy with Apache and mod_rewrite and saves you having to make any changes to your scripts. It also means you don't have to change any urls which are relative to the current page, but absolute urls are another matter. You would need to have set the id in the first place somewhere, either by trapping when it's missing on a page, picking it up and sending a location header with it included, or by getting the rewrite to go off to a special script if it's missing My very favourite solution is not to use sessions. They've always struck me as "swimming against the tide" i.e. trying to impose state on fundamentally state-less protocols. But then I never believed in client-server, which is what sessions seem to be about fudging... Cheers, George

« previous php.general (#87168) next »