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,“/”);