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 =浏览器关闭后) –