php - 我设置cookies成功了,再次刷新页面后,设置的cookies没有了
大家讲道理
大家讲道理 2017-04-10 14:46:15
[PHP讨论组]

代码如下:

header("Content-type: text/html; charset=utf-8");
if (isset($_COOKIE['test'])) 
{
    echo '获取到的cookies是:'.$_COOKIE['test'];
}
elseif (setcookie('test', 'okh', time() + 3600, '/', '.us.com'))
{
    echo '设置cookies:test';
}
else 
{
    echo '什么都没有';
}

用us.com访问,上面这段代码在chrome下一直设置成功,但是却一直都没记录
找了半天原因,一朋友从手册上告诉我:

The domain that the cookie is available to. Setting the domain to
'www.example.com' will make the cookie available in the www subdomain
and higher subdomains. Cookies available to a lower domain, such as
'example.com' will be available to higher subdomains, such as
'www.example.com'. Older browsers still implementing the deprecated »
RFC 2109 may require a leading . to match all subdomains.

于是我做了这么一个调整:

  1. 用www.us.com进行访问
  2. 修改之前的代码为

    setcookie('test', 'okh', time() + 3600, '/', 'www.us.com')

这下正常设置,也正常记录了。

但是存在2个问题:

  1. 请问如何设置不带WWW的域名的cookies呢?比如:us.com
  2. 设置www.us.com虽然能在www.us.com下使用,但是却不能在us.com下使用,如何设置cookies使其通用呢?

PS:我知道去掉domian这个参数就可以成功设置了,不过我的需求是设置不同域下的cookies,不仅仅是一个域名下,所以我还是希望保留这个参数的,最好是能设置诸如:.us.com

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
PHP中文网

本地的不正常的,很正常

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号