JS + PHP - 删除特定的cookie

时间:2017-02-20 04:09:18

标签: javascript php cookies

我在Chrome中删除特定Cookie时遇到问题,调试器根本没有提取任何内容,尽管这与另一个SO线程中的代码相同

reset.php

<?php
session_start();
?>

<html>
<head>
<script type="text/javascript">
    // Option 1 - set cookie to null
    //$.cookie('welcome_<?php echo $_SESSION['myusername']; ?>', null);

    // Option 2 - delete specific cookie
    delete_cookie('welcome_<?php echo $_SESSION['myusername']; ?>');

    // relocate back to index.php
    window.location = 'index.php';
</script>
</head>

<body>
</body>

</html>

我试图通过delete_cookie直接删除Cookie,并将Cookie设置为null,两者都没有结果。

我对JavaScript不擅长,如果有人能指出我正确的方向,我将不胜感激。必须简单。

由于

3 个答案:

答案 0 :(得分:2)

我使用了一种名为JSCookie的东西。您可以轻松地在JavaScript中执行Cookies.remove('Cookie_name');
1. JSCookie Repository
2. JSCookie Download

答案 1 :(得分:1)

您可以使用javascript删除您的Cookie,方法是将到期日期设置为小于当前时间的时间,如下所示 -

 document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';

你可以使用php删除cookie到 -

 unset($_COOKIE['cookiename']);
 // or you may also remove cookie by setting cookie less than current time 
 setcookie('cookiename', null, time()-3600);

答案 2 :(得分:1)

这可能对您有所帮助:设置,获取和删除cookie的3个功能

 function setCookie(key, value) {           

            document.cookie = key + '=' + value;
        }

 function getCookie(key) {
            var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
            return keyValue ? keyValue[2] : null;
        }

function delete_cookie(name) {
          document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }

删除Cookie的一种简洁方法是清除$_COOKIE值和浏览器Cookie文件:

if (isset($_COOKIE['key'])) {
    unset($_COOKIE['key']);
    setcookie('key', '', time() - 3600, '/'); // empty value and old timestamp
}

将值设置为&#34;&#34;到昨天(或过去的任何日期)的到期日

setcookie("hello", "", time()-3600);

然后,cookie将在下次加载页面时到期。