我在网站上使用phpBB(2.0.22),位于myWebSite.com/forum
我在myWebSite.com/otherForders
中创建了一些其他页面我想要的是检查一个人在myWebSite.com/otherForders中登录myWebSite.com/forum时是否
想知道这是否可能。
我在myWebSite.com/otherForders/index.php中尝试了session_start(); print_r($_SESSION);
,我得到的只是Array ( )
(空数组)。
有解决方案的人吗? 感谢。
答案 0 :(得分:1)
以这种方式无法访问会话变量。您的phpbb的会话Cookie存储在myWebSite.com/forum
,当您访问forum
目录中的页面时,(otherForders)
myWebSite.com/forum
的会话将无法在此处使用,新的会话将会在您为此会话分配一些值并且会话cookie存储在myWebSite.com/otherForders
之前,它会显然是一个空白数组。
你必须告诉php在根域保存会话myWebSite.com
,以便会话在所有其他目录中可用。
您可以使用ini_set
执行此操作。
您必须在调用ini_set
之前放置session_start()
。如果他们提供任何管理界面来更改会话cookie域值,我不知道phpbb
。您应该检查phpbb是否提供此功能。
ini_set('session.cookie_domain','.myWebSite.com');
您也可以尝试
session_set_cookie_params(0, '/', '.myWebSite.com');
session_start();
答案 1 :(得分:1)
您应该将您的电路板与您的代码集成
这是样本::
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_id']&等等 $ userdata具有来自users_table的值的数组,用于登录用户的电路板。