本帖最后由 micwolfzhou 于 2009-8-9 12:19 编辑
今天看了一贴 https://discuz.dismall.com/viewth ... page%3D2&page=1 发现有用户说 支持手机号。考虑到手机号验证登录功能,在这里使用身份通的手机功能。只有通过身份通认证的用户才可以使用手机登录。
重要说明:如果你的UCH 站内已经有人用 Email或与手机号做为用户名的,将不适合本插件。如果你的UCH是新站或没有上述情况,请向下看
1、打开source/function_common.php
在?>之前加入- //检查手机号是否有效
- function ismobile($str){
- return preg_match("/^(((1[3|5|8]{1}[0-9]{1}))[0-9]{8})$/", $str);}
复制代码 2、打开language/lang_showmessage.php 找到
//mt.php
在上面加入- 'no_privilege_mobile_login' =>'你必须使用身份通认证才能使用手机号登陆',
复制代码 3、打开source/do_login.php
找到 $password = $_POST['password'];
$username = $_POST['username'];
$cookietime = intval($_POST['cookietime']);
在下方加入- if (isemail($username)) {
- $sqlgetuser = "SELECT uid,email,emailcheck FROM ".tname("spacefield")." WHERE email='$username'";
- $querygetuser = $_SGLOBAL['db']->query($sqlgetuser);
- $getuserid = $_SGLOBAL['db']->fetch_array($querygetuser);
- if ($getuserid['emailcheck'] == 0 && $_SGLOBAL['db']->num_rows($querygetuser) != 0) {
- showmessage('no_privilege_email', 'do.php?ac='.$_SCONFIG['login_action']);
- }
- $getuserid = $getuserid['uid'];
- $sqlgetuser = "SELECT uid,username FROM ".tname("space")." WHERE uid='$getuserid'";
- $querygetuser = $_SGLOBAL['db']->query($sqlgetuser);
- $getusername = $_SGLOBAL['db']->fetch_array($querygetuser);
- $username = trim($getusername['username']);
- } //邮箱登录
-
- if (ismobile($username)) {
- $sqlgetuser = "SELECT owner FROM ".tname("idauths")." WHERE mobile='$username'";
- $querygetuser = $_SGLOBAL['db']->query($sqlgetuser);
- $getuserid = $_SGLOBAL['db']->fetch_array($querygetuser);
- if ($getuserid) {
- $getuserid = $getuserid['owner'];
- $sqlgetuser = "SELECT uid,username FROM ".tname("space")." WHERE uid='$getuserid'";
- $querygetuser = $_SGLOBAL['db']->query($sqlgetuser);
- $getusername = $_SGLOBAL['db']->fetch_array($querygetuser);
- $username = trim($getusername['username']);
- } else {
- showmessage('no_privilege_mobile_login', 'do.php?ac='.$_SCONFIG['login_action']); }
-
- } //手机号登录
复制代码 4、修改template/default/index.htm 与do_login.htm 办法见
https://discuz.dismall.com/viewth ... page%3D2&page=1
只需将上述地址中的
用户名或Email 改成 用户名/Email/手机号 就行了
5、登录UC 后台,不是UCH。 UC 注册设置 禁止的用户名 增加
*@*
13*
15*
18*
确定
演示地址 : http://www.5iwuxi.cn |