0
我有一個簡單的頁面,用戶將登錄,頁面檢查cookie是否存在以顯示名稱或登錄按鈕,但cookie未被取消設置。這是我的代碼,問題在哪裏?我嘗試了不同的頁面,但迄今爲止沒有任何工作請求Cookie未被刪除
<?php
$nombre_us = $_COOKIE['nombre_cookie'];
function logout() {
if (isset($_COOKIE['nombre_cookie'])) {
unset($_COOKIE['nombre_cookie']);
setcookie('nombre_cookie', null, -1, '/');
return true;
} else {
return false;
}
}
?>
<div class="sample">
<?php
if (!$nombre_us) {
echo '<a class="smp_btn" href="login.php?pageURL=' . $url . '">Login</a>';
}
else {
echo '<span class="smp_text">' . $nombre_us . '</span>';
echo '<a class="smp_text" href="' . $url . '" onclick="logout()">Logout</a>';
}
?>
</div>
謝謝!
所以現在我嘗試用JavaScript代替PHP,但仍然沒有。這裏是這裏是示例代碼
<div class="sample">
<?php
$nombre_us = $_COOKIE['nombre_cookie'];
if (!$members_name) {
echo '<a class="smp_btn" href="sample_login.php?pageURL=' . $url . '">Login</a>';
}
else {
echo '<span class="smp_text">' . $members_name . '</span>';
?>
<a class="smp_text" href="<?php echo $url; ?>" onclick="delete_cookie('nombre_cookie')">Logout</a>
<?php
}
?>
</div>
<script>
function delete_cookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
</script>
</div>
我試過用'time() - 3600'而不是'-1',但仍然不起作用 – Tavo
它不能爲負。 (0 =瀏覽器關閉後) –