作为一个非常简单的登录脚本的一部分,我使用用户名创建一个会话变量(或者至少这是我认为它被称为),并用它来检查用户是否登录。使用以下代码在登录脚本中设置变量:
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>
表示变量为空。我在这做错了什么?
答案 0 :(得分:2)
您需要致电
session_start();
在每一页上。
答案 1 :(得分:1)
在main.php
文件中...
session_start();
if(!isset($_SESSION['ed_user'])){
header("location:index.php");
}
您需要致电session_start()
来访问会话变量。