ID: 8809
User Update by: [EMAIL PROTECTED]
Status: Open
Old-Bug Type: Feature/Change Request
Bug Type: Scripting Engine problem
Description: Cookieless session with Header redirects

When PHP is compiled with --enable-trans-sid  http redirects with header() does not 
work with cookieless sessions. 

This must be a bug. 

Here is how I fixed it with php code. The header() function should handle this if 
--enable-trans-sid is compiled in:

function ezheader( $string )
    $sid =& $GLOBALS["PHPSESSID"];

    if ( isset( $sid ) )
        $pos = strpos( $string, "?" );

        if ( $pos )
            $string = $string . "&PHPSESSID=$sid";
            $string = $string . "?PHPSESSID=$sid";    
    header( $string );    

This code will automatically append the session id if it exists and that enables 
cookieless sessions with header( "Location: " ) redirects.

Previous Comments:

[2001-01-19 14:44:53] [EMAIL PROTECTED]
I have code like:

if ( !isset( $Foo ) )
        session_register( "Foo" );
 print( $Foo );

Header( "Location: /index.php" );

This does not work with cookieless sessions because the session information is not 
added to the header() if it's a redirect. 

The header() should add the PHPSESSIONID variable to the redirection path if it 
contains "Location: " like it does with other URLS and forms.


Full Bug description available at:

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to