我是php的新手。我遇到会话问题。我的意思是,在我登录并点击网站上的任何链接后,它立即被注销。不知道为什么。
在Chrome控制台中:我输入为:document.cookie,它显示了我"",然后我明白cookie会以某种方式立即被删除或其他一些问题。
以下2个网站存在此问题。
我们有以下网站:
www.mysite.site1.com/folder1
www.mysite.site2.com/folder2
以下是MySite.com/folder1的代码
function MySession() {
$params = session_get_cookie_params();
session_set_cookie_params($params['lifetime'], '/v/folder1');
session_start();
}
function clear()
{
$_SESSION=array();
session_destroy();
}
以下是我的MySite.com/folder2代码
function MySession() {
$params = session_get_cookie_params();
session_set_cookie_params($params['lifetime'], '/v/folder2');
session_start();
}
function clear()
{
$_SESSION=array();
session_destroy();
}
答案 0 :(得分:0)
在session_set_cookie_params()中为cookie设置域只会影响用于会话cookie的域。
因此,要在网站的所有子域中提供所有Cookie,您需要在根域中设置Cookie。
设置Cookie有效的路径时,请务必记住尾随'/'。
正确:
monitor
不正确的:
session_set_cookie_params (0, '/yourpath/');
答案 1 :(得分:0)
new Framework7({
....
angular : true
....
})
是您的基本网址。
从mysite.site1.com
切换
至
www.mysite.site1.com/folder1
你肯定会被退出。
答案 2 :(得分:0)
好吧,我能够找到我的疑问的答案:
因为在我的情况下我有2个文件夹,即www.mysite.com/folder1& amp;& www.mysite.com/folder2,然后我们必须保留session_name('folder1') for 'folder1'
和session_name('folder2') for 'folder2'
,否则两个文件夹共享相同的会话ID,因此用户自动登录folder2(假设他已经登录了folder1)
function Session() {
session_name('FOLDER_SID');
session_start();
}
有关session_name的更多信息,请访问:http://stackoverflow.com/a/7551430/4956785