Hi,

I use php 4.2.3 with session.auto_start = 1 in php.ini


What I use with URL session :

      $_SESSION= array();
      unset($_GET[session_name()]);
      session_destroy();
      Header("Location: next_script.php");

with cookie session :

   $cook_param= session_get_cookie_params();
   $life_time= $cook_param['lifetime'];
   $path= $cook_param['path'];
   setcookie(session_name(),"",$life_time,$path);
   $_SESSION= array(); 
   session_destroy();

mb



Jonathan Sharp wrote:
> 
> 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

Reply via email to