我无法在Safari中重现这一点,但在Chrome和Firefox中,首次登录用户(退出浏览器或从新位置访问)会创建两个Cookie,一个用于&# 34; www.example.com" 和一个用于" example.com" 。结果是,一旦我登录并在主页上,当我点击第二个登录页面时,我会自动注销。当我再次登录时,第二次,"www.example.com"
只有一个cookie,一切正常;我没有随机退出。这就是我创建会话的方式:
session_regenerate_id(true); // destroying the old session id and creating a new one
$_SESSION['id'] = $login;
setcookie("id", $login, strtotime( '+30 days' ), "/", "", "", TRUE);
我在每页的顶部都有session_start();
。 $ login变量是用户名/密码检查通过后从数据库中提取的用户ID,它正在回显并正确显示在cookie中。
我不理解它,因为它只是第一次发生,到目前为止仅在Firefox和Chrome中发生。它不会在任何浏览器本地发生,只会在这两个浏览器的实时服务器上发生。
答案 0 :(得分:0)
为子域 .example.com
设置Cookiesetcookie(" id",$ login,strtotime(' +30天')," /"," .example.com&# 34 ;, "",TRUE)