Re: Sessions: Trigger a new one, Expire an old one

From: Date: Wed, 16 Oct 2002 03:09:54 +0000
Subject: Re: Sessions: Trigger a new one, Expire an old one
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-120096@lists.php.net to get a copy of this message
Ok, here is my solution: I wanted this to be as self contained as possible: function clean() { /* get name of session & find session id */ $name = ini_get('session.name'); $sessid = ( !$_COOKIE[$name] ?
                        ( !$_GET[$name] ?
                            ( !$_POST[$name] ? false :  $_POST[$name] ) :
                                                        $_GET[$name] ) :
                                                        $_COOKIE[$name] );
/* run query now to see if sesion is expired, if yes */ unset( $_COOKIE[$name] ); unset( $_GET[$name] ); unset( $_POST[$name] ); unset( $_REQUEST[$name] ); } clean(); session_start(); Since _COOKIE/etc needs to be UNSET before session_start is called and re-calling session_start does sqat, the above code (not all of it but general idea) 'finds' the session id (session_id() has no effect until session_start is called) and tests to see if it's expired, if so, it 'kills' all possible locations for session_start() to find an id. *simple*... (or something like that) -js Chris Shiflett wrote:
Yeah, John hinted at the answer there. You just need to make the session ID go away prior to starting the session . Just unset it or set it to the empty string or whatever you want to do. It is probably either $_COOKIE["PHPSESSID"] or $_GET["PHPSESSID"]. Chris John W. Holmes wrote:
"Simple" question. If a users session expires or has timed out, how do I 'force' php to generate a new sessionId?
Session_start() ?? If there isn't a session id present, it'll create one. ---John Holmes...


« previous php.general (#120096) next »