为什么这个变量总是返回true?

mcb*_*eav 2 php session-variables

我正在尝试编写一个登录脚本.登录后,会设置会话变量,并在主页面上运行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 }
Run Code Online (Sandbox Code Playgroud)

Rab*_*ire 10

您正在使用赋值运算符 =而不是条件运算符 ==.

它应该是:

if ($_SESSION['logged'] == 1)
    return true;
Run Code Online (Sandbox Code Playgroud)

赋值的结果=是右侧表达式,即1,在这种情况下始终为真.:)