tags:

views:

118

answers:

2

I need auto-logoff system in my application.

if user not using the application more than thirty minutes.they should log in again.

this is what i need. lastAccessTime should be lesser than 30 minutes. if lastAccessTime exceeds than 30 minutes user should login again with their credentials.

(currently i auto log off using Lastaccesstime field in My user table (database) and compare lastaccesstime with current time for every page loads, I do not think this is right way.)

is their any way to achieve? Thanks in advance.

+6  A: 

You should specify the SESSION LIFETIME and just use the $_SESSION to see if a user is logged in:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes
Konerak
Wouldn't that also log off an active user after 30mins?
Anthony Forloney
No, each time an active user visits the page, the cookie gets reset.
Konerak
No, each request resets the cookie, and thus restarts the timer.
Amadan
+2  A: 

If you're using cookies to keep users logged in, simply set an adequate TTL for it.

For a 30 minute expiration time, on login set the cookie this way:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30);

Alternatively, you could use session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument
msakr