2012-04-21 15 views
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

+0

你*認爲*?你有檢查嗎? – 2012-04-21 21:48:40

+0

當然,我已經檢查過我的數據庫,看看是否生成了密鑰。正如我在問題中提到的,我在瀏覽器中檢查了存儲的Cookie,但它不在那裏。我認爲我的解釋很清楚:) – Loolooii 2012-04-21 21:50:09

+1

你能檢查Set-Cookie響應頭嗎?您應該能夠使用瀏覽器的開發人員工具查看標題。猜測問題:域名錯誤,或者你已經輸出了一些內容(所以它不能發送更多的標題)。 – Nick 2012-04-21 21:51:28

回答

1

你運行這個本地? Chrome本地不支持Cookie。

+0

不,我沒有在本地運行。 – Loolooii 2012-04-21 22:29:10

相關問題