我需要弄清楚如何取消設置這個cookie。我到目前爲止所嘗試的一切都失敗了如何在PHP中取消cookie設置?
這是我目前如何取消它,它似乎並沒有工作。
setcookie("user_id", $user_id, time() - 7200);
這是我的設置:
setcookie("user_id", $user_id, time() + 7200);
我有這個功能稱爲set_session_from_cookie()
如果設置cookie來檢查,如果它被設置,它使用cookie開始一個新的會話。
問題是,當我在我的頁面上使用此功能時,我無法註銷。我認爲這是因爲我無法解除會話。
我有這個功能的原因是,如果用戶想在結束會話後被記住,他們可以通過調用cookie重新啓動會話。
function set_session_from_cookie()
{
if (isset($_SESSION['user_id'])) {
echo '';
} else {
$_SESSION['user_id']=$_COOKIE['user_id'];
}
}
註銷:
<?php
require'core.php';
session_destroy();
setcookie("user_id", "", time() - 7200);
header('Location:/social_learning/site_pages/starter-template.php');
設置我的cookie用下面的代碼:
if ($rememberme == "on") {
$user_id = mysql_result($query_run, 0, 'id');
setcookie("user_id", $user_id, time() + 7200);
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
} else {
if ($rememberme == "") {
echo 'ok';
$user_id = mysql_result($query_run, 0, 'id');
echo $user_id;
$_SESSION['user_id'] = $user_id;
redirect('home_page.php');
}
}
我怎樣才能重新啓動,而無需使用我創建的功能使用保存的Cookie的對話?由於該功能似乎導致用戶不再能夠註銷。
是你的cookie應該是整個網站的? –
應該是?我怎麼知道? – arboles
請勿使用相對時間來取消設置Cookie。這使得取消設置取決於用戶的時鐘是否準確。使用'1'的時間,這將抓住每個人,但那些真正破碎的時鐘誰認爲是1970年。 –