我在这里有此代码,尽管我知道返回false,但它仍继续进行到下一行代码。希望有人可以帮助我。
如果用户尝试不登录而转到该特定的php文件,并且该用户在会话中的ID不为32,我想将其拒之门外。
if(!isset($_SESSION['username']) && $_SESSION['id'] != 32) {
session_destroy();
echo "<script> alert('Access Denied \nThrowing you out...'); window.location='loginform.php'; </script>";
}
我还使用其他用户回显了会话ID,并且回显了45,所以我不知道为什么继续。
我回显了!isset($ _ SESSION ['username']),并在登录时显示1,所以它为TRUE,但不应该为FALSE,因为已经设置了会话用户名吗?
答案 0 :(得分:1)
您好,您可以检查会话中是否存在ID,并且ID是否等于32。希望下面的代码适合您。
if(!isset($_SESSION['id']) && $_SESSION['id'] != 32) {
session_destroy();
echo "<script> alert('Access Denied \nThrowing you out...');window.location='loginform.php'; </script>";
}
答案 1 :(得分:0)
尝试这样
if(!isset($_SESSION['username']) || $_SESSION['id'] != 32)
{
session_destroy();
echo "<script> alert('Access Denied \nThrowing you out...');
window.location='loginform.php'; </script>";
}
答案 2 :(得分:0)
请尝试这个
if(!isset($_SESSION['username']) && $_SESSION['id'] != 32) {
session_destroy();
echo "<script> alert('Access Denied \nThrowing you out...');
header("location:loginform.php");
exit();
}
答案 3 :(得分:0)
您可以检查会话ID是否等于32,并且ID是否存在:
if(!isset($_SESSION['id']) && $_SESSION['id'] != 32) {
session_destroy();
echo "<script> alert('Access Denied \nThrowing you out...');
window.location.href = 'loginform.php'; </script>";
}