null

暂无访客记录

详情
评论
问答
赞助

先看看系统本来的注册源码

  • 点击注册后请求的是upload/member.PHP 这个文件
  • 接着对请求的register进行验证
  • 然后就会去加载./source/module/member/member_\'.$mod.\'.php
  • mod就是register
  • 接着就会进入到upload/source/module/member/member_register.php
  • 可以看到实例化了一个register_ctl类
  • 然后调用了on_register方法
Discuz 原系统进入论坛,实现自动注册并进行登录-狐狸库
  • 到了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\');
                }
            }
        }
    }

测试

可以看到现在是一个退出状态

Discuz 原系统进入论坛,实现自动注册并进行登录-狐狸库

点击登录

Discuz 原系统进入论坛,实现自动注册并进行登录-狐狸库

然后就实现了用户从原系统对接到论坛自动注册和登录

Discuz 原系统进入论坛,实现自动注册并进行登录-狐狸库
温馨提示:本文最后更新于2022/10/20 00:48:46。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0 分享

您可以通过搜索或浏览分类列表来找到您期望下载的资源。随后点击资源介绍页右侧的下载链接按钮,依据提示信息进行操作即可。

大部分资源可积分免费下载,为了维持网站的运行小部分资源须付费才能下载。

本站提供的下载资源均为网络搜集,仅供个人学习和交流使用。对于版权问题,请用户自行判断并承担相应责任。

随着时间的推移,维持网站的运行需要支出高昂的服务器和带宽费用。为了能继续坚持免费做下去,如果觉得文章对您有用,希望您能动动发财的小手免费赞助狐狸,给狐狸加油打气!激励狐狸库继续创作下去!谢谢!

在互联网的浩瀚海洋中,我们的网站就像一座明亮的灯塔,为无数用户照亮前行的道路。它承载着知识的传递、梦想的交流,以及大家共同的回忆与期待。然而,运营和维护这样一个网站需要投入大量的心血与资金。

现在,您只需通过支付宝扫码领红包,就能轻松成为我们的赞助人。这不仅是一次简单的支持,更是您与网站共同成长的见证。操作简单,打开支付宝,扫描专属二维码,您的每一份心意都将化作网站发展的动力。

您的赞助,能让网站不断升级,提供更优质的服务,给大家带来更好的体验。让我们携手共进,让这座灯塔绽放更耀眼的光芒,照亮更多人的网络世界 。

下面是免费赞助的方法和流程

  1. 下面图一是本站的支付宝每日领红包二维码,使用支付宝扫描二维码后会自动显示红包金额,有任意小额金额红包。
  2. 点击“去使用”,再扫描第三张图的二维码进行付款即可。
  3. 上面扫到多少红包就输入多少金额,红包会自动抵扣金额,所以不需要额外费用。
  4. 如需赞助自定义金额请到【赞助狐狸】页面进行赞助。
  5. 这个扫码红包是每天都可以领的哦,支持同账号重复,每天花一分钟时间即可免费支持本站!
扫码红包 红包图 扫码支付
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容