From:             [EMAIL PROTECTED]
Operating system: windows 2000 professional
PHP version:      4.0.6
PHP Bug Type:     Session related
Bug description:  Session variables are lost when redirecting to a url using header() 
function.

I have 2 scripts: a script to login a user and set a session variable. 
After checking session_is_registered() I redirect to a url using header(). 
The target script checks for the session variable and is not able to find
it.

If I use href to go to the target page, the session variable is found.

I have reviewed the bugs database, and the solutions reported for similar
cases do not work for me.  The following are portion of the code used:

I tested the code on a Linux server and it works perfectly.
Thank you.
Kannan

Environment:  Windows 2000, IE 5.5, Linux 4.0.6

Login.php>>
  $db = db_connect();
  $result = mysql_query($query, $db);
  if (mysql_num_rows($result) >0 )
  {
    // if they are in the database register the user id
    $row = mysql_fetch_array($result);
    $suser = $user;
    session_register("suser");
  }
}

if (session_is_registered("suser"))
  {
    if ($redirect<>"")
      header("location: $redirect"); 
    // redirect is instantiated with 'members_only.php'
    else {
         echo "You are logged in as: $suser <br>";
         echo "suser: $suser<br>";
         echo "<a href=\"members_only.php\">Members Only</a><br>";
         echo "<a href=\"logout.php\">Log out</a><br>";  //  ======= redirect to
URL ====
                        }
  } 
.....

members_only.php>>
<?
  session_start();
  // check session variable
  echo "Members_only<br>";
  echo "$suser<br>";
  if (session_is_registered("suser"))
  {
    echo "Members Only Page<br>";
    echo "<p>You are logged in as $suser.</p>";
    echo "<p>Members only content goes here</p>";
    echo "<a href=\"login.php\">Back to main page</a>";
    echo "<a href=\"logout.php\">Logout</a>";
  }
  else
  {   $redirect = "members_only.php";
      header("location: login.php?redirect=$redirect");
  }

?>

php.ini>>
[Session]
session.save_handler = files
session.save_path = C:\temp
session.use_cookies = 1
session.name = FOO
session.auto_start = 1
session.cookie_lifetime = 60
session.cookie_path = c:\temp
session.cookie_domain = 
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = private
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

-- 
Edit bug report at: http://bugs.php.net/?id=14636&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
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