[英]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.