0
我寫了一個函數來記住剛剛登錄的用戶。它在我看來應該有效,但不知道爲什麼它不起作用。問題是,當我查看我的瀏覽器存儲的cookie時,cookie不會生成。爲什麼不記得用戶()函數的工作?
這是我講的功能:
function rememberUser($id) {
$mysqli = new mysqli('bla', 'blabla', 'blablablaa', 'blaaaaa');
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
exit();
}
$remember = md5(uniqid(mt_rand(),true));
$stmt = $mysqli->prepare("UPDATE USERS SET USER_REMEMBER_KEY = ? WHERE USER_ID = ?");
$stmt->bind_param('si', $remember, $id);
$stmt->execute();
setcookie("remember", $remember, time()+60*60*24*30, "/", "www.someSite.com", false, true);
}
我應該提到的是,查詢工作正常和USER_REMEMBER_KEY
存儲精細的DB。所以這個問題真的是cookie,我想。
有沒有人在這裏看到問題?提前致謝。
更新:我使用谷歌Chrome測試版版本19.xx
你*認爲*?你有檢查嗎? – 2012-04-21 21:48:40
當然,我已經檢查過我的數據庫,看看是否生成了密鑰。正如我在問題中提到的,我在瀏覽器中檢查了存儲的Cookie,但它不在那裏。我認爲我的解釋很清楚:) – Loolooii 2012-04-21 21:50:09
你能檢查Set-Cookie響應頭嗎?您應該能夠使用瀏覽器的開發人員工具查看標題。猜測問題:域名錯誤,或者你已經輸出了一些內容(所以它不能發送更多的標題)。 – Nick 2012-04-21 21:51:28