先看看系统本来的注册源码
- 点击注册后请求的是upload/member.PHP 这个文件
- 接着对请求的register进行验证
- 然后就会去加载
./source/module/member/member_\'.$mod.\'.php
- mod就是register
- 接着就会进入到
upload/source/module/member/member_register.php
- 可以看到实例化了一个register_ctl类
- 然后调用了on_register方法
- 到了
upload/source/class/class_member.php
这个文件就可以看到注册,登录,退出等等接口 - 因为本案例需要实现的是不可在论坛系统上注册
- 也就是说原系统的用户进入论坛后自动注册,并且登录
- 为了保证数据不错乱把注册接口直接给干掉,然后重写一个登录接口接口
实现原系统进入论坛自动注册和登录
- 实现步骤
- 不管在文档还是查资料都可以知道用户注册用的是
upload/uc_client/client.php 这个里边的uc_user_register
这个方法 uc_user_register
这个方法会把用户信息存到pre_ucenter_members
这个表里- 然后还需要一次同步数据到
pre_common_member
这个表里 - 知道了以上写这个就很简单了
- 以下是实现代码,暂且还没有连接原系统的数据库,做了一个假数据来测试
function on_login ()
{
$data = [\'username\' => \'kaka\', \'u_oripassword\' => 123456];
$username = $data[\'username\'];
# 根据token查询用户信息
$members = DB::fetch_all(\"SELEct * from pre_common_member where username = \'$username\' limit 1\");
$member = empty($members[0]) ? \'\' : $members[0];
if($members){
setloginstatus($member,315360000);
showmessage(\'login_succeed\', \'forum.PHP\',array(\'username\' => $username));
}else{
$uid = uc_user_register($data[\'username\'], $data[\'u_oripassword\'], $email = \'\');
if ($uid > 0) {
# 然后根据用户信息在 pre_ucenter_members 表根据用户名进行查询
$uc_members = DB::fetch_all(\"SELEct * from pre_ucenter_members where username = \'$username\' limit 1\");
if($uc_members){
# 注册登录 同步用户
$uc_members = empty($uc_members[0]) ? \'\' : $uc_members[0];
if (!empty($uc_members)) {
$com_mem_data = array(\'email\' => $uc_members[\'email\'], \'username\' => $uc_members[\'username\'], \'password\' => $uc_members[\'password\'], \'groupid\' => $define_group_id, \'regdate\' => $uc_members[\'regdate\'], \'timeoffset\' => 9999);
DB::insert(\'common_member\', $com_mem_data);
setloginstatus($member,315360000);
showmessage(\'login_succeed\',array(\'username\' => $username));
}
showmessage(\'网络错误\',\'http://localhost/forum/upload/?mobile=2\');
}
}
}
}
测试
可以看到现在是一个退出状态
点击登录
然后就实现了用户从原系统对接到论坛自动注册和登录
© 版权声明
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
THE END
请登录后查看评论内容