除管理员用户外,我的所有登录信息都有效。
当我尝试导航到我的admin.php时,即使我已经以管理员身份登录,我也会“必须登录”。
当我点击管理链接时,我首先去checkAdmin.php,这是下面的代码。
<?php
if($_SESSION['userEmail'] != 'admin@hotmail.com') {
echo "<center><font face='Verdana' size='2' color=red>Must be logged in</font> <br><a href=index.php>Login Here</a></center>";
exit;
}
?>
我做错了吗? 感谢。
我有session_start();在我的admin.php页面的顶部。 我用过print_r($ _ SESSION);得到这一行,所以它具有正确的价值。
Array ( [userEmail] => admin@hotmail.com )
另外,如果我添加session_start();到checkAdmin.php,当我点击进入管理页面时,屏幕就位于checkAdmin。
admin.php在顶部有
session_start();
require "checkAdmin.php";
include("db_info.php");
答案 0 :(得分:3)
确保在检查会话变量之前调用了session_start()
。
答案 1 :(得分:2)
$_SESSION['userEmail']
session_start()
。 print_r($_SESSION);
答案 2 :(得分:1)
您是否尝试添加session_start()
?在查找会话变量之前,您必须这样做。
尝试使用它:
<?php
session_start();
if($_SESSION['userEmail'] != 'admin@hotmail.com') {
echo "<center><font face='Verdana' size='2' color=red>Must be logged in</font> <br><a href=index.php>Login Here</a></center>";
exit;
}
?>
答案 3 :(得分:1)
使用var_dump()而不是print_r。仔细注意报告的字符串长度,因为某些字符不可见,但显然会导致字符串比较失败。
你可能有一个迷路的空白字符