PHP在header()之后失去了SESSION变量

时间:2013-08-01 09:51:52

标签: php session variables header

在使用header()重定向后,我一直在丢失SESSION变量。 我尝试了在类似问题中找到的所有解决方案,例如每页顶部的session_start()和header()之后的exit(),但它不起作用。每次我在succlog.php页面收到“id not set”。重定向到succlog.php是完美的。 你能帮我么? 这是代码:

登录页面:

session_name("session1");
session_start();
     ..........
$qry = "SELECT * FROM `members` WHERE `usr` = '$username' AND `pass` = '" . md5($password) . "'";
$result = mysql_query($qry);

//Check whether the query was successful or not
if(mysql_num_rows($result) == 1) {

    while($row = mysql_fetch_assoc($result)) {
        $_SESSION['id'] = $row['id'];
        $_SESSION['usr'] = $username;
        session_write_close(); 
        header("location: succlog.php"); //Redirect
        exit();
    }
}

succlog.php:

   session_name("session1");
   session_start(); 
    ...........
   <?php 
  if(isset($_SESSION['id'])){
    echo "id".$_SESSION['id'];
  }
  else{
    echo "id not set";
  }
  ?>

1 个答案:

答案 0 :(得分:0)

问问者:

  

好的我找到了!这是iPage的一个错误。这是解决方案:) http://www.ipage.com/knowledgebase/read_article.bml?kbid=600