您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz_X1.5增加手机号码登陆的实现方法
雷友水2025-06-29Discuz教程已有人查阅
导读应朋友的要求,需要为他所管理的Discuz_X1.5设置一个手机登陆功能,特做此探索首先,要在Discuz_X1.5的管理员后台开启手机这一项,并设置为必填项不可修改
应朋友的要求,需要为他所管理的Discuz_X1.5设置一个手机登陆功能,特做此探索首先,要在Discuz_X1.5的管理员后台开启手机这一项,并设置为必填项不可修改,不显示什么的,开启正则过滤
对pre_common_member(我这里设置的前缀是pre)表新建一个字段,mobile,char型,大小20,以防别人输入+86什么的打开目录source\module\member下的member_register.php文件,搜索$userdata = array( 这一行,在之前插入这一段话
打开uc_client\model\user.php找到
打开template\default\member\login.htm 和 login_ .htm 找到
按此种方法修改,有两个很明显的弊端,
1、一旦用户注册,就不能够修改手机,即使在后台开放修改,也只能够使用之前的手机才能登陆成功;
2、如果有两个相投的手机注册,那么也会有问题,当然这种可能性比较小。
对pre_common_member(我这里设置的前缀是pre)表新建一个字段,mobile,char型,大小20,以防别人输入+86什么的打开目录source\module\member下的member_register.php文件,搜索$userdata = array( 这一行,在之前插入这一段话
if(isset($_POST['mobile'])){
$mobile=$_POST['mobile'];
}
然后再把
$userdata = array(
'uid' => $uid,
'username' => $username,
'password' => $password,
'email' => $email,
'adminid' => 0,
'groupid' => $groupinfo['groupid'],
'regdate' => TIMESTAMP,
'credits' => $init_arr[0],
'timeoffset' => 9999
);
改成
$userdata = array(
'uid' => $uid,
'username' => $username,
'password' => $password,
'email' => $email,
'adminid' => 0,
'groupid' => $groupinfo['groupid'],
'regdate' => TIMESTAMP,
'credits' => $init_arr[0],
'timeoffset' => 9999,
'mobile'=> $mobile
);
就是在$userdata这个数组的之后一项后加一个 ,
'mobile'=> $mobile
这样子就能够保证手机号写入member库里了。然后,就要开启手机登陆模式。打开source\function\function_member.php,将
$return = array();
if($loginfield == 'uid') {
$isuid = 1;
} elseif($loginfield == 'email') {
$isuid = 2;
} elseif($loginfield == 'auto') {
$isuid = 3;
} else {
$isuid = 0;
}
修改为
$return = array();
if($loginfield == 'uid') {
$isuid = 1;
} elseif($loginfield == 'email') {
$isuid = 2;
} elseif($loginfield == 'auto') {
$isuid = 3;
} elseif($loginfield == 'mobile') {
$isuid = 4;
}else {
$isuid = 0;
}
打开uc_client\control\user.php 找到
if($isuid == 1) {
$user = $_ENV['user']->get_user_by_uid($username);
} elseif($isuid == 2) {
$user = $_ENV['user']->get_user_by_email($username);
} else {
$user = $_ENV['user']->get_user_by_username($username);
}
改为
if($isuid == 1) {
$user = $_ENV['user']->get_user_by_uid($username);
} elseif($isuid == 2) {
$user = $_ENV['user']->get_user_by_email($username);
} elseif($isuid == 4) {
$user = $_ENV['user']->get_user_by_mobile($username);
}else {
$user = $_ENV['user']->get_user_by_username($username);
}
即增加了一种mobile的登陆方式判断。打开uc_client\model\user.php找到
function get_user_by_uid($uid)
在其上一行加入如下函数
function get_user_by_mobile($mobile) {
$arr = $this->db->fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE mobile='$mobile'");
$uid = $arr["uid"];
$arr2 = $this->db->fetch_first("SELECT * FROM ".UC_DBTABLEPRE."members WHERE uid='$uid'");
return $arr2;
}
之后,在几个模板里增添手机登陆项,采用的模板因人而异,笔者采用的是default模板,修改方式是打开template\default\member\login.htm 和 login_ .htm 找到
<option value="email">{lang email}</option>
在其下面增加一行
<option value="mobile">手机</option>
总结:本来是准备直接在 ".UC_DBTABLEPRE."members 表 即系统的pre_ucenter_members表里面增加一个mobile字段的,但是考虑到可能会对以后要安装的插件的兼容性等问题,还是决定只在pre_common_member(Discuz_X1.5的用户表)里添加mobile字段。故之后一段高手看起来改的有点脱裤子放屁的感觉~~呵呵按此种方法修改,有两个很明显的弊端,
1、一旦用户注册,就不能够修改手机,即使在后台开放修改,也只能够使用之前的手机才能登陆成功;
2、如果有两个相投的手机注册,那么也会有问题,当然这种可能性比较小。
本文标签:
很赞哦! ()
上一篇:discuz目录作用说明
相关教程
图文教程
直接导入用户信息到discuz ucenter的方法
上一篇帖子: 直接导入帖子到Discuz 论坛数据库. 结束时说要写一篇导入用户的帖子, 一直没时间, 但是咱不能做太监,不是? 所以今天赶快补上. 在做discuz整合或者迁移是
discuz自定义生成单页面的方法
在pc端,若要生成一个单页面,有一个比较方便的方法是生成新的专题页,然后diy其中的内容。不过这种做法有两个缺点1 url太过冗赘2 只有一个插入url代码功能,没有文本编辑功能
阿里云OSS搭建discuz步骤教程
discuz 使用阿里云OSS说明:我绑定了二级域名,本演示采用二级域名oss来介绍,我实际使用的是二级域名pic。新手第一次分享使用经验,望各位大神手下留情...
discuz显示php错误的实现方法
让discuz显示php错误的方法:可以利用error_reporting函数来实现。error_reporting函数可以设定php报错级别,如【error_reporting(report_level)】。
相关源码
-
(PC+WAP)绣花刺绣传统手工工艺pbootcms网站源码下载这款基于PbootCMS的网站模板为刺绣和传统手工艺行业设计,采用优雅的布局和精致的细节处理,能够呈现手工艺品的独特韵味和文化内涵。模板结构合理,功能完善,是手工艺从业者展示作品的理想选择。查看源码 -
(自适应)绿色农业大型机械设备展示网站模板下载基于PbootCMS内核深度定制开发的农业机械行业专用模板。针对农机设备展示、产品参数说明等需求优化设计,突出农业机械行业特性查看源码 -
(自适应)响应式文章博客互联网新闻pbootcms模板下载本模板基于PbootCMS开发,专为科技新闻、互联网资讯和文章博客类网站设计。采用响应式布局技术,确保在电脑、平板和手机上都能获得最佳浏览体验。适用于科技媒体、行业博客查看源码 -
(自适应响应式)家电维修清晰服务网站pbootcms模板免费下载本模板基于PbootCMS内核开发,为维修服务类企业打造,特别适合家电维修、设备维护等行业使用。通过简洁直观的界面设计,帮助企业快速搭建专业级服务平台,实现线上业务高效管理。查看源码 -
工商注册财务代理记账类自适应pbootcms网站工商注册、财务代理记账企业打造的数字化门户模板,基于PbootCMS内核深度开发。采用前沿响应式架构,无缝适配手机端触控交互与PC端展示需求查看源码 -
(PC+WAP)历史复古古典古籍文章资讯类pbootcms模板下载本模板基于PbootCMS系统开发,为古籍研究、历史文献类网站设计,特别适合展示古典书籍、历史档案等文化内容。采用复古风格设计,同时具备现代化响应式布局,确保在PC和移动设备上都能呈现优雅的阅读体验。查看源码
| 分享笔记 (共有 篇笔记) |
