今天在网上看到一个帖子,讲的是“如何让ECSHOP也支持用邮箱登录、用手机号码登录”,很多人跟帖说不能用,其实不是不能用,而是楼主提供的方法有一定的局限性,就是“用户登录”页面必须“启用验证码”,楼主那个方法才好使。其实很简单,就是把那段代码换了个位置就OK了。以下是具体的方法:
修改 User.php 文件

找到

if ($user->login($username, $password,isset($_POST['remember'])))

在它上边增加一段Ecshop代码
if(is_email($username))
{
$sql ="select user_name from ".$ecs->table('users')." where email='".$username."'";
$username_e = $db->getOne($sql);
if($username_e) $username=$username_e;
}
if(is_telephone($username))
{
$sql ="select user_name from ".$ecs->table('users')." where mobile_phone='".$username."'";
$username_e = $db->getOne($sql);
if($username_e) $username=$username_e;
}

继续在 user.php 的底部再增加一段代码

function is_telephone($phone){
$chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/";
if (preg_match($chars, $phone)){
return true;
}
}
这样修改以后,即使你没启用验证码,也是OK的。感兴趣的朋友可以测试下。
转载请注明转自:运达's blog 原文地址:http://www.yunda51.com/855.html