【Discuz】原系统进入论坛自动注册并进行登录

编程之家收集整理的这篇文章主要介绍了【Discuz】原系统进入论坛自动注册并进行登录编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文主要内容

咔咔之前没有使用过discuz,本文只是我自己的解决方案,要是有更好的实现方式可以一起交流交流

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

  • 点击注册后请求的是upload/member.PHP 这个文件
  • 接着对请求的register进行验证
  • 然后就会去加载./source/module/member/member_'.$mod.'.PHP
  • mod就是register

在这里插入图片描述

  • 接着就会进入到upload/source/module/member/member_register.PHP
  • 可以看到实例化了一个register_ctl类
  • 然后调用了on_register方法

在这里插入图片描述

实现原系统进入论坛自动注册登录

  • 实现步骤
  • 不管在文档还是查资料都可以知道用户注册用的是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】原系统进入论坛自动注册并进行登录所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的Discuz相关文章

最近在使用discuz这个老大哥然后写点自己在discuz的使用经验本篇文章主要实现去除注册时的邮箱验证实现效果 :去除注册时的邮箱限制实现步骤前端页面处理1.在自己的项目目录找到discusuploadtemplatedefaulttouchmember里边的register这个文件2.删除151行代码3.查看效果4.测试结果:是可以直接注册成功的,这...
本篇文章主要实现去除论坛底部的几个版本实现步骤其实这个一点都不难这个估计是程序员的都会卡在这里吧!我们打开模板文件发现里边有个mobile 这个时候我估计大多数人都跟我一样 直奔mobile去了打开upload/template/default/touch/common/footer.htm文件我个人是全部删除了,根据你们的也许需求哈实现效果博主微信欢迎交流...
本文实现功能:将主题标题和主题内容同时显示出来如想直接看项目实现结果可直接看解决问题的那个标题下的内容项目需求这是原始移动端的页面布局这是需要实现的效果发现问题在原始的uploadtemplatedefaulttouchforumviewthread.htm这个文件中我们可以看到标题跟内容是分开显示的,最终用的还是$_G[forum_thread][subject]这...
本文主要内容:解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化如果你是新手discuz开发人员可以从头查看文章如果你是一个站长直接看文章底部总结即可更多文章尽在专栏:Discuz专栏问题还原这这页面为主题页面上面红框为主题的浏览量使用的是$_G[forum_thread][views]下面全部回复为回帖数量使用的是$_G[forum_threa...
本文实现功能:1.从原有系统进入论坛自动登录和注册2.实现弹框在本页面,不进行跳转3.js在页面加载时直接发起注册请求这个功能之前使用的uc_user_register这个函数来处理的,但是今天在开发用户空间时就会出现问题。项目需求在我们原有的系统上添加一个论坛,但是用户信息需要共享。实现方法:在进入论坛时带上原有系统的用户信息,然后论坛那边拿到信息直接注册即可。从原有系统进入...
本文实现功能: 开发移动端关注页面 开发移动端粉丝页面 实现从自己空间看见的关注列表都显示已关注 实现自己看其他人关注列表时 自己关注的用户显示已关注 自己未关注的用户显示关注 解决如何在PHP文件里边显示移动端页面 前期准备:解决PHP文件里边显示移动端页面在discuz中移动端是没有粉丝,关注页面的,那么就需要我们来开发。以下就是开发流程。discuz中pc端是有收听和听众的功能。如下图home.php?mod=follow&am...
本文实现功能:1.关注和取消关注用户2. 判断与用户之间的关注关系实现效果点击关注后显示已关注,取消关注后显示关注ta实现方案用户空间的入口是home.php文件,所以我们需要先从home.php这个文件入手打开文件home.php文件的29行可以看到使用in_array进行了一次判断,主要注重space和spacecp这俩个模块我们先认识俩个单词:space(空间) 和 spacecp(翻译过来是太空计划)然后我们需要打开discuz原来的默认模板(这个.
本文实现功能:控制弹框的显示与否功能使用场景在之前的一篇文章写道,discuz实现自动注册登录。但是我们又不想让那个提示信息出来。在网上大概的搜索了一下,有的说后台可以设置,但是咔咔到后边瞅了一眼,它那个设置只是针对于固定的一些场景。那么我们自己可以来写一个适合我们项目的显示方式弹框实现剖析使用discuz一段时间的都知道,前台的弹框其实就是后台showmessage这个方法决定的。我们用代码追踪到这个方法在upload/source/function/function_.
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注