从主网站外部访问IPB类

时间:2013-05-01 02:23:36

标签: php forum ipb

你好我一直在使用IPB3.4,我试图在我的主网站和论坛之间建立某种相关性,特别是用户。

我知道你可以使用IPBMembers类来简单地创建一个新用户但是我不确定如何在IPB论坛基本目录之外初始化该类。

如果有人对此主题有任何经验,我将不胜感激。

由于

2 个答案:

答案 0 :(得分:5)

我从上面的脚本中遇到的问题是在init()方法后它会将我重定向到论坛或导致标题已经发送错误所以你需要包含以下常量才能在IPB论坛之外正常工作目录: define( 'IPS_ENFORCE_ACCESS', TRUE );

$forumPath = '../forums'; //FORUM FOLDER
define( 'IPS_ENFORCE_ACCESS', TRUE ); // Important so it does not redirect to forums
define( 'IPB_THIS_SCRIPT', 'public' );

require_once( $forumPath.'/initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$ipbRegistry    = ipsRegistry::instance();
$ipbRegistry->init();


$member = IPSMember::load($memberName, 'all', 'username');

答案 1 :(得分:1)

从根文件夹尝试此操作以初始化IPB

define('IPB_THIS_SCRIPT', 'public');
require_once( 'initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
$ipbRegistry = ipsRegistry::instance();
$ipbRegistry->init();

然后您可以像这样使用IPSMember

$member = IPSMember::load($member_name, 'all', 'username');