php中setcookie和$\u COOKIE的区别

php中setcookie和$\u COOKIE的区别,php,cookies,Php,Cookies,通过setcookie()设置cookie与通过$\u cookie设置cookie有什么区别吗 有时,当通过setcookie设置cookie时,我不会通过$\u cookie['cookie\u name']获取该cookie的值。但是紧跟在setcookie之后的js console.log会显示cookie已设置,但如果我试图通过$\u cookie获取cookie的值,则不会获取更新的值 我很困惑 在PHP中,我们可以使用函数setcookie()设置cookie。函数的语法是 set

通过
setcookie()
设置cookie与通过
$\u cookie
设置cookie有什么区别吗

有时,当通过
setcookie
设置cookie时,我不会通过$\u cookie['cookie\u name']获取该cookie的值。但是紧跟在
setcookie
之后的js console.log会显示cookie已设置,但如果我试图通过$\u cookie获取cookie的值,则不会获取更新的值


我很困惑

在PHP中,我们可以使用函数setcookie()设置cookie。函数的语法是

setcookie(name,value,expire,path,domain,secure)
例如,
setcookie('name',$name,0',/')

将在根目录“/”中创建一个名为name的cookie,其值为变量$name。为了访问cookie,我们可以使用
$\u cookie['cookiename']

在setcookie函数中,您只能设置cookie名称。 如果您想获得该cookie值,则可以通过
$\u cookie['name']


确保在创建cookie时,您还需要在setcookie函数中设置域名。

您不能用以下代码实际“设置”cookie:

$\u COOKIE['COOKIE']=$my\u var

所有这一切只是向
$\u COOKIE
数组添加一个新值。响应中不会将
Set Cookie
HTTP头发送回客户端(浏览器),并且不会在客户端上创建Cookie

使用
setcookie()
函数设置cookie


当前接受的答案正确地指出,
$\u COOKIE
在PHP进程开始时设置/初始化,之后不会更新。您可以自己更新它,但不要期望该值会保留在下一个请求上。

使用setcookie,您只能在php中设置cookie:

setcookie("myCookie", $value, time() + 3600);
但是,如果您想要获取或使用该cookie,您可以使用$\u cookie,例如,如果您想要获取一些cookie值,请使用:
echo$_COOKIE['COOKIE_name']

我知道setcookie语法,正如我所说,通过setcookie设置cookie后的console.log会给出正确的结果,但我无法通过$\u cookie[cookie\u name]获得更新的cookie值。这就是问题的原因。你把饼干放在哪里?在根目录中?
setcookie(“candidate_id”,$new_candidate_id,time()+3600)使用此设置cookie。使用
echo“console.log(document.cookie)”
到控制台输出,然后
如果(isset($\u COOKIE['candidate\u id']){echo“from COOKIE”$\u COOKIE['candidate\u id'];}
虽然console.log输出正确的值,但是如果COOKIE之前已经设置,echo$\u COOKIE['candidate']会给出一个旧值。这里,您没有设置COOKIE的路径。尝试使用setcookie(“candidate_id”,$new_candidate_id,time()+3600,“/”);