php 如何清除当前域的所有cookie?

php 如何清除当前域的所有cookie?或者是删除指定域的所有cookie

阅读 17.5k
3 个回答

只能一个一个的删除,不能一次全部删除。

<?php
function DeleteAllCookies()
{
    foreach ($_COOKIE as $key => $value) {
        setcookie($key, null);
    }
}

这还不好弄,把$_COOKIE拿出来遍历一下不就行啦。

测试:

<?php

function DeleteAllCookies() {
    foreach ($_COOKIE as $key => $value) {
        setcookie($key, null);
    }
}

if (@$_GET['delcookie'] == 1) {
    DeleteAllCookies();
}

if (@$_GET['setcookie'] == 1) {
    setcookie('test1', '123', time()+3600*24*30);
    setcookie('test2', '456', time()+3600*24*30);
    setcookie('test3', '789', time()+3600*24*30);
}

?>

<html>
<body>
    <?php if(@$_GET['delcookie'] == 1 || @$_GET['setcookie'] == 1) echo '<script> window.location.href="?" </script>'; ?>

    <a href="?setcookie=1">设置多个Cookie</a>
    <a href="?delcookie=1">删除Cookie</a>
    <div>
    <h2>当前Cookie</h2>
    <?php print_r($_COOKIE); ?>
    </div>
</body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题