跨文件夹的phpbb会话
我正在一个网站上使用phpBB(2.0.22),该网站位于myWebSite.com/forum 我正在myWebSite.com/otherForders中创建一些其他页面 我想要的是,检查一个人在myWebSite.com/otherForders时是否登录myWebSite.com/forum 不知道这是否可能 我尝试了跨文件夹的phpbb会话,php,session,phpbb,Php,Session,Phpbb,我正在一个网站上使用phpBB(2.0.22),该网站位于myWebSite.com/forum 我正在myWebSite.com/otherForders中创建一些其他页面 我想要的是,检查一个人在myWebSite.com/otherForders时是否登录myWebSite.com/forum 不知道这是否可能 我尝试了session_start();打印(美元会话)在myWebSite.com/otherForders/index.php中,我得到的只是Array()(一个空数组) 有人
session_start();打印(美元会话)代码>在myWebSite.com/otherForders/index.php中,我得到的只是Array()
(一个空数组)
有人有办法吗?
谢谢。会话变量将无法通过这种方式访问。phpbb的会话cookie存储在myWebSite.com/forum
中,当您访问forum
目录ie(otherForders)中的页面时
myWebSite.com/forum的会话将不在那里,新会话将启动,这显然是一个空白数组,直到您分配一些值,并且此会话的会话cookie存储在myWebSite.com/otherForders
您必须告诉php将会话保存在根域上,即myWebSite.com
,这样会话将在所有其他目录中可用
您可以使用ini\u set
执行此操作
在调用会话启动()
之前,必须先设置ini\u set
。我不知道他们是否提供了任何管理接口来更改会话cookie域值。您应该检查phpbb是否提供此功能
ini_集('session.cookie_domain','.myWebSite.com')代码>
你也可以试试
session_set_cookie_params(0, '/', '.myWebSite.com');
session_start();
你应该把你的电路板和你的代码结合起来
这是样品:
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
然后使用
$userdata['username']、$userdata['user\u id']等。
$userdata具有一个数组,其中包含登录用户板的users_表中的值。感谢@Shakti Singh,在这里使用ini_集('session.cookie_domain','.myWebSite.com')代码>部分请?你应该在会话\u start()之前调用它。
@Jeremy:因为你的phpbb会话仍然在域mywebsite.com/forum
上。那也应该在mywebsite.com
谢谢,phpbb结构很复杂,我甚至没有找到他们在哪里使用DW搜索进行会话。无论如何,谢谢。我甚至试着在mywebsite.com/forum/中创建一个test.php,看看会话是如何通过session_start()显示的;打印(美元会话)代码>我也得到了一个空数组。奇怪。谢谢@Alex Emilov,这可能会有点效果,但我得到了[username]=>AnonymousWell,我主要编写phpBB3,我不确定这个集成,我下载了一个新的phpBB2副本,查看了一些页面,似乎是代码。也许我们错过了一些验证。你确定,你登录了吗?我将安装2.0.22并再次发布。我已经安装并测试了它,它似乎是这样工作的。首先,您确定文件的指定路径正确吗?请参阅$phpbb_root_path='./';(您可能有错误报告0,对此我们没有结果)第二个问题是url中需要SID参数。从论坛索引复制SID链接并粘贴到新文件的url中。index.php?sid=a90814a1fb6f8ce49f1bb6edde9f839b=>test.php?sid=a90814a1fb6f8ce49f1bb6edde9f839b嗯,肯定有问题。我在site.com/forum/index.php中登录。然而,当我用你上面写的数据创建一个site.com/forum/test.php时,我得到了[user_id]=>-1ps。感谢你的朋友尝试。是的,尝试了一切。路径是正确的,否则它将给我错误(错误报告为1)。还试图复制sid