我沒有在10年內完成cookies。我有一個簡單的php登錄腳本,它根據MySQL數據庫中的值檢查用戶名和密碼。如果成功了,我創建了我設置的cookie ...嘗試,無論如何。PHP setcookie()問題
我可以得到setcookie()返回true,但沒有設置cookie。我大部分時間都意識到這是B/C頭文件已被髮送。編輯:headers_sent()返回false,所以這不是問題。
會話代碼(不要與一個PHP會話()相混淆):
function create_session(&$user_id, &$ip, &$proxy_ip)
{
global $mysqli_auc;
$hash = md5($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
$query = "INSERT INTO user_sessions(user_id,ip,proxy_ip,session_hash)
VALUES('$user_id','$ip','$proxy_ip','$hash')";
$result = $mysqli_auc->query($query);
$already_sent = "false";
if (headers_sent()) {
$already_sent = "true";
}
// print "This definitely sends headers";
if (!setcookie("my_hash",$hash,time()+2000)) {
print "Unable to set cookie.<br>";
} else {
print "Set cookie. " . $_COOKIE['my_hash'] . "<br>"; // blank
print "Should be " . $hash . "<br>"; // this holds an md5 hash string
print "Headers sent " . $already_sent "<br>"; // false
}
}
Cookie不會立即出現在當前調用'$ _COOKIE'中,而是在下一次HTTP往返之後。 – mario 2015-04-04 15:42:49
謝謝。不過,值得一提的是,我正在檢查我的瀏覽器,他們不在那裏。肯定是一個錯誤,因爲它現在在那裏。謝謝。不確定它是否有資格作爲答案,但如果您將它作爲一個整體提供,我會接受它! – 2015-04-04 16:07:02