在此代碼
if ((array_key_exists("id", $_SESSION) AND $_SESSION['id']) OR (array_key_exists("id", $_COOKIE) AND $_COOKIE['id'])) {
header("Location: loggedPage.php");
}
我不知道他們之間的不同。有人可以向我解釋嗎?
感謝
胡志明市福
在此代碼
if ((array_key_exists("id", $_SESSION) AND $_SESSION['id']) OR (array_key_exists("id", $_COOKIE) AND $_COOKIE['id'])) {
header("Location: loggedPage.php");
}
我不知道他們之間的不同。有人可以向我解釋嗎?
感謝
胡志明市福
array_key_exists(「id」, $_SESSION) :
此行檢查ID鍵是否存在於$ _SESSION(陣列),並返回true或false。
$_SESSION['id']) :
此行返回ID的會話中值或返回NULL
array_key_exists()
檢查數組中是否存在的關鍵,不關心的重點可能會攜帶什麼樣的價值。它可能帶有假,空,0等。
if($_SESSION['ID'])
返回變量的內容,之後它被轉換爲布爾值。
已證明isset()
比array_key_exists()
快。兩者之間唯一的區別是$key => null
將在isset()
和真正返回假上array_key_exists()
首先檢查,以確保關鍵存在。第二個檢查值是否爲truthy(即不是0,null或false) – aynber
你不想知道代碼的作用,或者你想知道會話和cookie之間的區別嗎? – icecub
你知道cookie可以在客戶端操作!?第一條評論是對你的問題的回答,這是對你的代碼的評論。 – JOUM