On Mon, 20 Aug 2007 22:46:20 +0200,
la***********@zipmail.com
<la***********@zipmail.comwrote:
On Aug 16, 4:11 pm, Rik <luiheidsgoe...@hotmail.comwrote:
>On Thu, 16 Aug 2007 22:59:18 +0200, laredotorn...@zipmail.com
<laredotorn...@zipmail.comwrote:
Hi,
When a user logs into our site, we create a session variable to denote
the session is active and another to denote who is logged in. Once
the user closes the browser and re-opens it, the session is destroyed
and the variables are gone.
How can I keep the session alive for 24 hours even if the user closes
and re-opens the browser?
<http://nl3.php.net/manual/en/ref.session.php>:
Set:
- session.gc_maxlifetime 86400
- session.cookie_lifetime 86400
A note from the manual:
"Note: If different scripts have different values of
session.gc_maxlifetime but share the same place for storing the session
data then the script with the minimum value will be cleaning the data.
In
this case, use this directive together with session.save_path."
... which is the case for many shared hosts.
--
Please don't quote signatures.
>
So would I need to add
> - session.gc_maxlifetime 86400
- session.cookie_lifetime 86400
on every page beneath the "session_start()" command?
No, if this is what you're using you should set it in either:
- php.ini
- httpd.conf (if apache, possibly only for a single virtual host, use
'php_value name_of_setting value_of_setting')
- .htaccess (if apache)
- and only if all possibilities above aren't possible use ini_set()
_before_ session_start() in your scripts.
If you're on a shared server you probably haven't got access to php.ini &
httpd.conf, in which case you really need to create your ow
session.save_path to prevent your longer lived sessions timing being
collected by garbage collectors of shorter lived sessions.
Allthough I agree with gosha bine, use sessions for people that are really
active, possible make a 'keep me logged in' construct with just a cookie
(which possibly revives an 'archived' session).
--
Rik Wasmus