为了账号安全,请及时绑定邮箱和手机立即绑定

在setcookie()之后立即访问$cookie

在setcookie()之后立即访问$cookie

PHP
繁华开满天机 2019-07-01 10:20:59
在setcookie()之后立即访问$cookie我试图访问cookie的值(使用$_COOKIE)之后,立即调用setcookie()函数在PHP中。当我这么做的时候,$_COOKIE['uname']还没准备好。为什么?不过,请注意,$_COOKIE['uname']在脚本的下一次执行时(例如在页面刷新后)按预期设置。setcookie('uname', $uname, time() + 60 * 30);echo "Cookie value: " . $_COOKIE['uname'];
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

$_COOKIE由于Web的无状态性,在页面加载时设置。如果希望立即访问,可以设置$_COOKIE['uname']自己或使用中间变量。

例如:

if (isset($_COOKIE['uname'])) {
    // get data from cookie for local use
    $uname = $_COOKIE['uname'];}else {
    // set cookie, local $uname already set
    setcookie('uname', $uname, time() + 1800);  }


查看完整回答
反对 回复 2019-07-01
?
慕神8447489

TA贡献1780条经验 获得超1个赞

在将响应发送回客户端之前,Cookie是不会设置的,并且在PHP中直到之后客户端的下一个请求才可用。

但是,当您在脚本中设置cookie时,您可以:

setcookie('uname', $uname, time()+60*30);$_COOKIE['uname'] = $uname;


查看完整回答
反对 回复 2019-07-01
  • 3 回答
  • 0 关注
  • 1089 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信