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...
>>
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php