又是新的一年了,2013,在这里祝大家元旦快乐!!
正题,phpbb3是一个很不错的php论坛,界面也很不错,性能也好
但我想让它和我的网站整合在一起,用户数据完全就用论坛的数据,怎么弄呢
去谷歌搜了几天,发现都只有2010年和2007年的帖子,来自phpbb的官网
这个网址是:https://www.phpbb.com/kb/article/phpbb3-cross-site-sessions-integration/
其实说的也很明确了,只是本人初用phpbb,不太熟悉环境
这里只实现了登陆,却没有完成登陆,因为url缺少一个session id
即url上的sid=......
例如:http://localhost/phpBB3/index.php?sid=4de4ef4b260097b0ce6f0852908bd26d
当然也可以自己去动态生成一个sid,网上也有方法,但我没有测试过,等有时间再补上
后来又去找了下,找到一个比较靠谱的
http://www.freewebcomponent.com/sample/phpBB/Login/phpBB_Integration_in_our_own_website.html
但后来又发现竟然不需要密码直接登陆。。。囧了
由于代码比较简洁,就直接在他的基础上加入了密码验证
首先假设我们的根目录是 localhost/phpBB3/
文件名1:auth_ok.php 路径: localhost/phpBB3/includes/auth/
这个文件用于重载系统的一个函数:
文件内容如下:
<?php
function login_ok(&$username, &$password)
{
global $db, $config;
$sql = 'SELECT user_id, username, user_password, user_passchg, user_pass_convert, user_email, user_type, user_login_attempts
FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
return array(
'status' => LOGIN_SUCCESS,