![](/img/trans.png)
[英]why does my function login Curl always return true? CodeIgniter
[英]Why does this variable always return true?
我正在尝试编写一个登录脚本。 登录后,会设置会话变量,并在主页面上运行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,在这种情况下始终为真。 :)
这是因为你用单个等号设置$ _SESSION ['logged']。 使用双等于:
function isLoggedIn()
{
if($_SESSION['logged'] == 1)
return true;
return false;
}
function isLoggedIn(){if($ _ SESSION ['logged'] = 1)//为$ _SESSION ['logged']分配值'1'所以在这个if条件下它检查是否有任何值是$ _SESSION ['记录'],对于所有情况都是如此(有效/无效)返回true; 返回false; }
$ loggedIn = isLoggedIn(); / $ loggedIn的值将始终为true
将if($ _ SESSION ['logged'] = 1)更改为if($ _ SESSION ['logged'] == 1)
不是这个 ($ _ SESSION ['logged'] = 1)这是正确的 - > if($ _ SESSION ['logged'] == 1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.