我想知道我做错了什么或者我错了吗?
我正在使用jquery load()加载子域的一部分。就在我开始加载方法之前,我正在使用php将密码保存到$ _SESSION。我用jquery load()加载的子域的一部分需要这个密码信息。
这是否算作同一个会话,因为我无法在加载的子域部分中检索$ _SESSION信息?
或者这不起作用,因为我实际上正在加载DIFFERENT网站的一部分,所以会话是另一个?
任何想法?
答案 0 :(得分:0)
$_SESSION
与名为PHPSESSID
的Cookie相关联,默认情况下,该Cookie仅适用于您使用它的完全域名。 a.example.com
无法访问来自b.example.com
的Cookie,因此会话也无法跨越。
但是,有一种方法可以将PHPSESSID
Cookie设置为在整个域中可用:session_set_cookie_params()允许您将相关设置应用于该PHPSESSID
Cookie。通过将域设置为.example.com
(前面的点必须在那里!),您可以将Cookie提供给example.com
和所有子域。
session_set_cookie_params(0, '/', '.example.com');