RE: close the browser

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Using a timeout rather than trying to detect when the user closes their
> browser is preferable primarily due to the unreliability of that detection.

I can't use time out. What if the user want to stay online more time ?

> On 24 June 2014 18:18, hadi <almarzuki2011@xxxxxxxxxxx> wrote:
>
> > >I get that, but why do you want to run a script? Based on your
> > >previous emails it looks like you're trying to manually expire a
> > >session. Sessions usually expire due to a timeout since the last
> > >request, and I've never come across a reason to do it any other way.
> > >So again, what is it that you are actually trying to achieve?
> >
> > >If you want to apply a more complicated set of session expiry rules
> > >you
> > can
> > >do so with a custom session handler, but I would question the need
> > >for
> > such a
> > >thing.
> >
> > Well im trying to achieve one thing  here. If a user is logged in and
> > if he try to logged in again from different pc with the same
> > username/password it well flag him out. Because he already logged in.
> > About connection close, when the user close the connection it well
> > clear the flag.
> > So what do I use to accomplish this ?
>
>
> I would start with a custom session handler. Possibly something similar to
> this: http://3ft9.com/mysql-sessions/
>
> Modify the methods that write the data to MySQL so it first extracts the
> username and stores that in a separate field so you can do lookups on that.
>
> Set the lifetime to something relatively short (say 60 seconds), then have a
> webpage that the user must keep open that is making a request to the
> server at roughly half that interval (e.g. every 30 seconds).
>
> Modify the Session::gc method so it does what's necessary to cleanup the
> network config when a session expires.
>
> Add a method so your login system can query the session store for existing
> users with that username, or alternatively modify the Session::write method
> to refuse to store a session if there's already a session for that username.
>
> Using a timeout rather than trying to detect when the user closes their
> browser is preferable primarily due to the unreliability of that detection.
> A number of browsers have rules around the use of the onunload event that
> may prevent you from seeing a particular user disconnect.
>
> Personally I would be looking in to implementing this at the network level
> rather than PHP. The network must be able to detect when a device drops
> off the network, and that would probably be a better place to implement the
> cleanup.
>
> -Stuart
>
> --
> Stuart Dallas
> 3ft9 Ltd
> http://3ft9.com/

<<attachment: smime.p7s>>


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux