0

我是新的使用 php 的 cookie。我在改变它的价值时遇到了问题。我创建了一个测试,所以我可以模拟我想做的事情,我不能。所以我想问这是否可能。

所以这是我的示例代码:

<?php
setcookie('name', 'test1', (time()+30*60), '/');
echo $_COOKIE['name'];

setcookie('name', 'test2', (time()+30*60), '/');
echo $_COOKIE['name'];

?>

输出是:test2test2

我想要的输出是:test1test2

我能做些什么?

4

1 回答 1

0

每种语言的 cookie 的工作方式都相同,如下所示: 1) cookie 由脚本创建并存储在客户端系统中。2)如果客户端系统中有任何cookie属于请求的url,则通过HTTP请求发送。3)只有在步骤(2)之后脚本才能读取cookie。

在您的情景中:当脚本运行时 setcookie('name', 'test1', (time()+30*60), '/'); //cookie 设置为 name=test1

echo $_COOKIE['name'];//但是脚本无法找到名为name的cookie,因为它不是第一次通过HTTP请求发送的。

setcookie('name', 'test2', (time()+30*60), '/');// cookie被test2覆盖

echo $_COOKIE['name'];//但是脚本无法找到名为name的cookie,因为它不是第一次通过HTTP请求发送的。

现在我们刷新页面 cookie name=test2 正在通过 HTTP 请求发送,脚本将 $_COOKIE['name'] 读取为 test2。

于 2013-11-14T16:17:52.317 回答