php cookie doesn't update

懵懂的女人 提交于 2019-12-02 03:27:15

You cannot set and access a cookie in the same instance/page. You have to do a redirect or refresh after setting it.

In addition, you should do something like this instead :

setcookie("id","items['.{$_POST['id']}.']");

You have to set the value for the key to access with $_COOKIE:

setcookie('items['.$_POST['id'].']', 'some_value');

Link to manual

From php.net/manual/function.setcookie.php:

Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.

So the cookie will be accessible via $_COOKIE at the request of the PHP script.

When you use setcookie is doesn't add the cookie to the superglobal $_COOKIE. You will have to do that yourself or reload the page. Also, since you are setting the cookie with an empty value, nothing would be set.

This is syntax for setting a cookie

setcookie(name, value, expire, path, domain);

When you create a cookie, using the function setcookie, you must specify three arguments. These arguments are setcookie(name, value, expiration):

  1. name: The name of your cookie. You will use this name to later retrieve your cookie, so don't forget it!
  2. value: The value that is stored in your cookie. Common values are username(string) and last visit(date).
  3. expiration: The date when the cookie will expire and be deleted. If you do not set this expiration date, then it will be treated as a session cookie and be removed when the browser is restarted.

Note:- This will rewrite your cookie not update.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!