第一步:修改登录模板找到登陆的模板文件,默认文件为:
- /template/default/member/login.htm 登录模板
复制代码引用Discuz模板目录结构对照表:
http://www.dede58.com.cn/dz7top-dztemplate.html
找到如下代码:
- <option value="email">{lang email}</option>
在后面加上一句:
- <option value="mobile">手机</option>
复制代码
修改后保存:
第二步:修改登录流程
打开sourcefunctionfunction_member.php
搜索代码:
- userlogin($username, $password, $questionid,
找到:
- if($loginfield == 'uid' && getglobal('setting/uidlogin')) {
- $isuid = 1;
- } elseif($loginfield == 'email') {
- $isuid = 2;
- } elseif($loginfield == 'auto') {
- $isuid = 3;
- } else {
- $isuid = 0;
- }
修改为:
- if($loginfield == 'uid' && getglobal('setting/uidlogin')) {
- $isuid = 1;
- } elseif($loginfield == 'email') {
- $isuid = 2;
- } elseif($loginfield == 'auto') {
- $isuid = 3;
- } elseif($loginfield == 'mobile') {
- $isuid = 4;
- } else {
- $isuid = 0;
- }
修改后保存!
第三步:修改UC流程
打开uc_clientcontroluser.php
搜索:
- $user = $_ENV['user']->get_user_by_uid($username);
复制代码找到:
- 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);
- }
保存
第四步:添加登陆模型
打开uc_clientmodeluser.php
搜索:
- function get_user_by_uid($uid)
找到
- function get_user_by_uid($uid) {
- $arr = $this->db->fetch_first("SELECT * FROM ".UC_DBTABLEPRE."members WHERE uid='$uid'");
- return $arr;
- }
在他的上面或者下面添加如下代码
- function get_user_by_mobile($mobile) {
- $arr = $this->db->fetch_first("SELECT * FROM ".UC_DBTABLEPRE."members WHERE mobile='$mobile'");
- return $arr;
- }
然后保存!