如果我用相同的cookie名称两次调用
如何更新现有的cookie?
setcookie()
,那么会创建两个cookie。如何更新现有的cookie?
setcookie()
,那么会创建两个cookie。例如:setcookie('cookie_name', 'cookie_value', time()+3600, '/');
建议的过期时间为第三个参数:
你无法更新一个cookie本身,但是可以覆盖它。 否则,您需要查找的是:http://php.net/manual/en/function.setcookie.php
它有效。请务必阅读该页面上的“常见陷阱”部分。
您也可以使用超级全局变量$_COOKIE['cookie_name']
来读取cookie。
set_cookie('fuuuuu', rand(0, 3434543), $exp_date);
,刷新后我会得到另一个具有相同名称但不同值的 cookie :| - Cookiesetcookie
调用之前没有echo
。setcookie
通过头部与浏览器进行通信,如果您之前已经调用了echo
,则头部+正文已经被发送,服务器就不能再通过头部向浏览器发送setcookie
了。这就是为什么您可能会发现它无法正常工作的原因。DEFAULT: PHP Warning: Cannot modify header information - headers already sent by (output started at /path/to/your/script.php:YY) in /path/to/your/script.php on line XX
相同路径和名称的实例将互相覆盖,以最新的实例为准。相同路径但不同名称的实例将添加额外的映射。
然而,避免这种边缘情况可能是明智的。重新构建您的应用程序,使其无需覆盖已发送的cookie。
调用COOKIE并删除用户名值 SETCOOKIE(“username”,'',0,“/”);