我的主域名:www.domain.com
有一个Cookie,其设置为:domain.com
。
用户点击访问www.domain.com/login
的链接后,他们会尝试登录(通过POST请求),此表单会将Cookie设置为www.domain.com
(添加www)。这会导致很多人出现问题,因为当他们提交登录表单时,页面会刷新。
对某些人来说,它永远这样做(永远不能提交表格)。对于其他人来说,它只有一次 - 而且第二次,它运作正常。它也因浏览器而异......
我的解决方法是什么,我认为我需要在session.cookie_domain in php.ini
中输入一些内容 - 但正确的做法是什么?
谢谢大家。
---的更新 --- 用于在登录页面上设置cookie的代码:
$expireTime = 60 * 60 * .5; // 30 minute expire time
session_set_cookie_params($expireTime,"/");
session_start();
答案 0 :(得分:1)
您需要显式设置域,不用 www,但使用前面的点,作为该函数的第三个参数。
session_set_cookie_params($ expireTime,“/”,“。yourdomain.com”);
无论www是否存在于实际URL中,这都将允许cookie工作。请注意,这也适用于您可能使用的任何其他子域,这通常是一件好事,只需将其放在那里。