我正在尝试编写登录脚本。设置 session 变量登录后,在主页上运行 isLoggedIn 函数。问题是变量 $loggedIn 总是返回 true。有人可以帮忙吗?
function validateUser($user)
{
if(isset($user)){
session_regenerate_id ();//this is a security measure
$_SESSION['logged'] = 1;
$_SESSION['userid'] = $user;}
}
//Validates Login
function isLoggedIn()
{
if($_SESSION['logged'] = 1)
return true;
return false;
}
$loggedIn = isLoggedIn();
if($loggedIn){ SHOW CONTENT FOR LOGGED IN USERS }
else { show content for users not logged in }
最佳答案
您正在使用赋值运算符 =
而不是条件运算符 ==
。
应该是:
if ($_SESSION['logged'] == 1)
return true;
赋值 =
的结果是右边的表达式,即 1,在这种情况下始终为真。 :)
关于php - 为什么这个变量总是返回真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506617/