2017-03-16 152 views
0

我的网站上我有一个论坛使用phpbb。 现在我想能够使用论坛登录名和密码对用户进行身份验证。如何在网页中使用phpbb登录(论坛外)

一些研究之后,我发现这一点:

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; 
$phpEx = substr(strrchr(__FILE__, '.'), 1); 
include($phpbb_root_path . 'common.' . $phpEx); 

// Start session management 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup(); 
?> 

但它不工作。你有什么想法,为什么?

+0

欢迎来到StackOverflow。 “它不起作用”是什么意思?我不明白你在问什么。你想测试用户是否连接并重定向,如果他不识别? (你正在使用哪个版本?) –

+0

嗨@ alexandre-t,问题是,当我包括common.php文件,一切顺利,但是当我添加$ user-> session_begin()时,我有一个错误说,用户变量和session_begin()函数不存在。 – Yvo

回答

0

看来您使用的是版本3.1或3.2。从3.1开始,Phpbb使用Symfony框架和MVC模式。如果你想创建一个新页面,你必须创建一个新的路由和一个新的控制器。

如果你不知道如何创建一个新的扩展页面,你应该有这个tutorial

看看创建一个新的扩展可能是困难的,如果你不明白的MVC模式。所以我鼓励你使用skeleton extension。经过一些简单的配置步骤,它会为您创建路线和控制器。

如果您只想在现有页面中测试登录,则必须使用事件。此时全球会议$user和权限$auth尚不存在。如果您需要使用用户对象(f.e.包含语言文件)或需要检查权限,请改用core.user_setup事件!

+0

谢谢,我要测试一下 – Yvo

+0

我真的不知道如何使用所有这些,但它看起来像是由论坛使用的,我想从此论坛以外的网页登录。 – Yvo

+0

我真的不明白你的意思是:我想从本论坛以外的网页进行连接。你想重新编码登录表单和登录控制器吗? –