【发布时间】:2021-06-17 21:32:24
【问题描述】:
一旦按下“a”,我就会尝试删除 cookie。所以我想到了像这样使用ajax:
<?php
$logged = false;
if (isset($_COOKIE["psw"]) && isset($_COOKIE["usn"])){
$logged = true;
?>
<script>
console.log("status: Logged");
var ahr = document.getElementById('ahr');
ahr.setAttribute('href', '');
ahr.innerHTML="Log-out";
ahr.onclick = function remokecookies() {
$.ajax({
type: "POST",
url: 'bottlesbeach.eu/ajax.php',
data:{action:'removecks'},
success:function(html) {
alert(html);
}
});
}
</script>
<?
然后在ajax.php上:
<?php
if($_POST['action'] == 'removecks') {
setcookie("usn", "", time() - 86400 * 30);
setcookie("psw", "", time() - 86400 * 30);
}
?>
但是当我点击“a”(即“注销”,请参阅 bottlebeach.eu)时,页面会重新加载,但 cookie 不会被删除(我通过点击 cookies> bootlesbeach.eu> cookies 检查 cookie)。
我的问题是:为什么“usn”和“psw”cookie 没有被删除?
我的库:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<!--sweet alert lib-->
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
【问题讨论】:
-
基本上,您不会提出请求。你还没有加入
jquery? -
我已经用我包含的库更新了问题
-
我查过了,页面上没有 jQuery...
-
您还需要将网址更改为相对网址
url: '/ajax.php' -
现在警报出现了,但 cookie 并没有被删除
标签: php ajax cookies session-cookies httpcookie