【问题标题】:php $_COOKIE only gets session cookie?php $_COOKIE 只获取会话 cookie?
【发布时间】:2013-03-15 19:11:21
【问题描述】:

print_r($_COOKIE) 返回一个仅包含会话 cookie 及其值的数组,即

Array ( [PHPSESSID] => 0cfbom6llfl3ho93n7bljnns14 )

但是,我确实设置了其他 cookie。我检查了浏览器,它们确实存在。我做了这样的设置:

setcookie("cookie_name",$myvar,
time() + (20 * 365 * 24 * 60 * 60),
"/", "mydomain.com",
true, true
);

浏览器显示cookie名称为cookie_name,值为$myvar,显然cookie的设置没有问题。

在浏览器上并排查看两个 cookie 唯一的区别是会话 cookie 的域是 mydomain.comcookie_name 的域是 .mydomain.com。那是问题吗?如果是这样,我该如何解决?

编辑:点不是问题。

【问题讨论】:

    标签: php session cookies


    【解决方案1】:

    看看这个页面,Vist http://www.php.net/manual/en/reserved.variables.cookies.php

    第一个注释指出为什么它不起作用,只有当浏览器发回请求时(例如正常的页面访问)

    您可以使用 Chrome 检查器检查浏览器请求的 http 头。

    我很抱歉我的英语不好

    【讨论】:

    • 请详细说明。我在任何时候都无法获得我设置的 $_COOKIE 值。不仅在我设置之后,而且在我刷新页面之后,也不是在我关闭然后重新打开我的浏览器之后。我得到的只是会话cookie。 Chorme 检查器仅显示正在请求的会话 cookie,但我可以在 chrome://cookies 上看到 cookie。
    【解决方案2】:

    问题是我将seucre 设置为true,而我的虚拟主机没有提供HTTPS,因此即使在服务器端也无法访问cookie。傻我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 2020-01-29
      • 2011-05-17
      • 2011-04-20
      • 2017-03-14
      • 1970-01-01
      • 2014-07-18
      相关资源
      最近更新 更多