使用apache和php,无法使用setcookie()
函数设置cookie并使用相同的cookie而无需重新加载页面,如https://secure.php.net/manual/en/function.setcookie.php中所述:
设置完cookie后,可以在下一页加载$ _COOKIE数组时访问它们。
有没有办法克服这个问题并在不重新加载的情况下使用cookie?
答案 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;
也许还有其他方法可以解决我的问题。