会话变量自行清除(PHP)

时间:2014-10-30 14:05:39

标签: php session login

作为一个非常简单的登录脚本的一部分,我使用用户名创建一个会话变量(或者至少这是我认为它被称为),并用它来检查用户是否登录。使用以下代码在登录脚本中设置变量:

if($count==1) {
    session_start();
    $_SESSION['ed_user'] = $ed_user;
    header("location:main.php");
} else {
    echo "Incorrect user or password, please try again.";
}

我知道这个if语句的第一部分是运行的,因为我没有收到错误消息。在页面上,它指向(main.php)第一行代码应检查是否设置了$_SESSION['ed_user'],如果不是这样,则返回index.php。这是通过代码完成的:

if(!$_SESSION['ed_user']){
    header("location:index.php");
}

但是,登录后似乎总是将我返回到index.php。我尝试使用以下行检查变量是否存在:

<p><?php echo"Current user: ".$_SESSION['ed_user'];?></p>

表示变量为空。我在这做错了什么?

2 个答案:

答案 0 :(得分:2)

您需要致电

session_start();

在每一页上。

答案 1 :(得分:1)

main.php文件中...

session_start();
if(!isset($_SESSION['ed_user'])){
    header("location:index.php");
}

您需要致电session_start()来访问会话变量。