Php 最初创建然后删除cookie是可行的,但可以';以后不要再做了

Php 最初创建然后删除cookie是可行的,但可以';以后不要再做了,php,cookies,setcookie,Php,Cookies,Setcookie,我需要创建和删除cookies 问题是我可以创建,然后删除cookie,但是在之前删除cookie之后,我无法创建新的cookie。为什么? 在清除浏览器的缓存后,它会再次工作 创建cookie并重定向到测试页面: <?php $cookie_name = 'name'; $cookie_time = 2000000000; $cookie_path = '/'; $cookie_value = uniqid(); setcookie($cooki

我需要创建和删除cookies

问题是我可以创建,然后删除cookie,但是在之前删除cookie之后,我无法创建新的cookie。为什么?

在清除浏览器的缓存后,它会再次工作

创建cookie并重定向到测试页面:

<?php
    $cookie_name = 'name';
    $cookie_time = 2000000000;
    $cookie_path = '/';
    $cookie_value = uniqid();

    setcookie($cookie_name, $cookie_value, $cookie_time, $cookie_path);

    echo '<script> window.location.assign("test.php"); </script>';
?>
<?php
    $cookie_name = 'name';
    $cookie_path = '/';

    setcookie($cookie_name, '', time() - 3600, $cookie_path);

    echo '<script> window.location.assign("test.php"); </script>';
?>

问题可能是浏览器正在缓存页面请求,而与服务器告诉它做什么无关

有一个简单的技巧可以解决这个问题。向查询字符串添加一个不断变化的变量将使页面请求每次都是唯一的。这也将强制浏览器重新加载页面,即使在缓存时也是如此

例如,将以下内容添加到地址栏/页面请求:

?abc=123
并每次更改数字值。或者,您甚至可以使用
时间戳
,如下所示:

?<timestamp>

这将强制符合标准的浏览器每次提取页面。

是否可能缓存cookie创建页面?每次尝试添加一个唯一的查询字符串。我不确定,但我尝试用PHP头清除缓存,但失败了。我编辑了我的OP以避免缓存,结果相同。只需在文件名后的地址栏中添加
?abc=123
。这应该更可靠。只需不断向
123
添加一个值或使用时间戳即可。即使是
也可以。它修复了我的简单示例。很好,很酷。很高兴能帮忙。我会把这写下来作为一个恰当的回答。它可能也会帮助其他人。
?<timestamp>