我需要更新cookie。我在通过ajax调用的php文件中这样做。这是代码:php cookie不更新
setcookie('items['.$_POST['id'].']');
cookie不更新,其实如果我的SetCookie函数我看到$_COOKIE['items']
是,这是在调用SetCookie函数之前相同的后写print_r($_COOKIE['items'])
。我能怎么做?
我需要更新cookie。我在通过ajax调用的php文件中这样做。这是代码:php cookie不更新
setcookie('items['.$_POST['id'].']');
cookie不更新,其实如果我的SetCookie函数我看到$_COOKIE['items']
是,这是在调用SetCookie函数之前相同的后写print_r($_COOKIE['items'])
。我能怎么做?
您无法在同一个实例/页面中设置和访问cookie。你必须在设置之后做一个重定向或刷新。
此外,你应该做这样的事情,而不是:
setcookie("id","items['.{$_POST['id']}.']");
当您使用setcookie
是不添加cookie到超全球$_COOKIE
。你必须自己做或重新加载页面。另外,由于您将cookie设置为空值,因此不会设置任何内容。
从php.net/manual/function.setcookie.php:
饼干不会成为可见,直到的下一个加载页面,该页面应该是可见的。要测试cookie是否成功设置,请在Cookie 过期之前检查下一个加载页面上的cookie。过期时间通过expire参数设置。通过简单地调用 print_r($ _ COOKIE);来调试存在的Cookie的一个不错的方法是 ;.
所以这个cookie可以通过PHP脚本的请求通过$_COOKIE
访问。
这是设置cookie
setcookie(name, value, expire, path, domain);
当您创建一个cookie,使用函数的setcookie语法,你必须指定三个参数。这些参数是setcookie(名称,值,到期日期):
注意: - 这将重写您的cookie不更新。
要在页面上放弃cookie,页面需要刷新一次。 – Rafee
我希望你在将Cookie插入Cookie之前清理了$ _POST ['id']'?'intval($ _ POST ['id'])'会有很长的路要走。 – Geert
[在setcookie()之后立即访问$ _COOKIE](http://stackoverflow.com/questions/3230133/accessing-cookie-immediately-after-setcookie) – outis