用戶登錄並驗證密碼後,我需要將他的用戶名存儲在cookie中。我試圖簡單地添加setcookie()
時,在看起來像if ($password_match == $user_login_password) {...
的部分中成功驗證密碼,但由於某種原因,它似乎無法正常工作。當用戶使用正確的密碼/用戶名成功登錄時,我無法設置Cookie。是否有某些原因導致您無法在函數中設置cookie?PHP setcookie問題
public function write($p) {
if ($_POST['user_login_username'])
$user_login_username = mysql_real_escape_string($_POST['user_login_username']);
if ($_POST['user_login_password'])
$password = mysql_real_escape_string($_POST['user_login_password']);
$password .= 'some_Salt';
$user_login_password = hash('sha256', $password);
} elseif ($user_login_username && $user_login_password) {
$q = "SELECT * FROM users WHERE username = '$user_login_username'";
$r = mysql_query($q);
if ($r !== false && mysql_num_rows($r) > 0) {
while ($a = mysql_fetch_assoc($r)) {
$password_match = stripslashes($a['password']);
}
if ($password_match == $user_login_password) {
echo $this ->display_login('Correct!');
setcookie('user','some_username');
} else {
echo $this ->display_login('Wrong Password!');
}
} else {
echo $this ->display_login('That username does not exist.');
}
return;
} else {
return false;
}
}
你究竟如何確定它不工作? – deceze 2012-03-30 04:40:19
嘗試將cookie的路徑設置爲'/'? – animuson 2012-03-30 04:41:11
這看起來很危險。如果用戶發現管理員的用戶名是什麼?用戶只是更改cookie,而bam,他以管理員身份登錄。 – kijin 2012-03-30 04:43:01