ecshop支持手机号码登录、邮箱登录
修改 User.php 文件
找到:
if ($user->login($username, $password,isset($_POST['remember'])))
在它上边增加一段我们所要能用手机或者邮箱登陆的代码:
//邮箱登录
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;
}
当然为了验证我们的手机号码需要在最后添加:
/**
*验证手机
*/
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;
}
}
这样我们的登陆就支持手机号码和邮箱登陆了,跟大多数情况一样这里也有一个bug,就是缺少手机或者邮箱的验证,导致多个同样手机号码和邮箱同时出现时就无法登陆,这个会在后续的开发中加以改进。