如何设置一个cookie并在重新加载页面时使用它?

时间:2018-01-10 17:41:53

标签: php cookies

使用apache和php,无法使用setcookie()函数设置cookie并使用相同的cookie而无需重新加载页面,如https://secure.php.net/manual/en/function.setcookie.php中所述:

  

设置完cookie后,可以在下一页加载$ _COOKIE数组时访问它们。

有没有办法克服这个问题并在不重新加载的情况下使用cookie?

2 个答案:

答案 0 :(得分:1)

实际上,这不是问题,而是Cookies的工作方式。

  

使用Set-Cookie HTTP标头设置Cookie,该标头在来自Web服务器的HTTP响应中发送。   https://en.wikipedia.org/wiki/HTTP_cookie#Implementation

假设您调用index.php并在其中设置cookie,为什么它不能在同一个PHP脚本中使用?由于服务器一次发送标题和正文,所以没有“嘿,首先发送此cookie标题,然后再做其他事情”。当PHP脚本结束并发送它的标题+正文时,客户端会收到cookie。

答案 1 :(得分:0)

经过一番研究,我找到了克服这个问题的方法。

setcookie('cookie_id', $cookie_value, time() + (86400 * 13));
$_COOKIE['cookie_id'] = $cookie_value;

也许还有其他方法可以解决我的问题。