Welcome Guest, Not a member yet? Register   Sign In
Extending Session timeout

I'm trying to extend the session timeout ala this thread. Here's my code snippet from the login routine ('remember' is a check box on the login page):

// Remember for one week.
if ($this->CI->input->post('remember') =="checked")
    $this->CI->config->set_item('sess_expiration', 60*60*24*7);

The problem I'm having is that every time thereafter that CI_Session is called, the following code gets called (line 170, Session.php):

// Is the session current?
if (($session['last_activity'] + $this->sess_expiration) < $this->now)
    return FALSE;

Since '$this->sess_expiration' is set back to the value in the config file every time that CI_Session is instantiated, I'm not sure how the code in the other thread was supposed to work. Has anyone been able to extend the timeout based on a condition like the above? What's the best way to do it without re-writing large chunks of the Session class?


I'd probably not use sessions at all in this instance. I'd set a cookie with an encrypted string that identifies the user. If that cookie is encountered, I'd setup a session for them.

Yes, a little "hacky" but at least you're not hacking up session core code.

Theme © iAndrew 2016 - Forum software by © MyBB