PHP如何处理cookies?

PHP如何处理cookies?,php,cookies,Php,Cookies,我正在尝试以下方法,但不起作用 做一块饼干。启动一个php脚本。脚本将在10秒后显示cookie的内容。在脚本运行时,删除cookie。为什么脚本显示cookie的数据,就像cookie仍然存在一样 <?php sleep(10000); echo $_COOKIE['data']; ?> 为了制作和删除制作Cookie,我使用了chrome扩展名“编辑此Cookie”cookies作为页面HTTP请求的一部分从浏览器发送到服务器,然后PHP将它们放入$\u C

我正在尝试以下方法,但不起作用

做一块饼干。启动一个php脚本。脚本将在10秒后显示cookie的内容。在脚本运行时,删除cookie。为什么脚本显示cookie的数据,就像cookie仍然存在一样

<?php
    sleep(10000);
    echo $_COOKIE['data'];
?>


为了制作和删除制作Cookie,我使用了chrome扩展名“编辑此Cookie”

cookies作为页面HTTP请求的一部分从浏览器发送到服务器,然后PHP将它们放入
$\u Cookie
数组中。这发生在脚本开始之前


使用
$\u COOKIE
不会访问客户端计算机以实时获取当前COOKIE。在脚本期间,对cookies的任何更改都是不可见的。您将无法检测到这些更改,直到下一次请求页面时,浏览器将再次发送cookies。

我怀疑问题与PHP如何处理cookies无关,而是与您对cookies工作方式的理解有关。(在没有看到您的代码的情况下,这是完全的推测。)

说到这里,cookie仅在从浏览器发送/接收内容时设置/读取,因为cookie数据传输到HTTP头的一部分,而HTTP头仅在页面加载时发生。因此,您需要重新加载页面(而不是简单地等待“x”秒)才能看到所做的任何更改

在一些细节方面:

  • 当您设置cookie时,它将在web服务器的出站HTTP响应中发送到浏览器(并随后相应地存储)

  • 要读取cookie,它必须在之前按上述方式设置,在这种情况下,它将作为后续浏览URI请求的一部分呈现给web服务器

  • 删除cookie遵循与设置相同的规则,因此cookie仅在浏览器的后续请求中不再可用


  • 顺便说一句,您可以使用[在此插入您选择的浏览器]的开发人员工具轻松确认上述内容-只需查看请求/响应标题,您就会看到cookie数据。

    我不是要代码,我只是想了解为什么这不起作用。我尝试了我上面解释的。为什么不阅读文档或100个教程中的一个呢?外面有一些很棒的。