ecshop支持手机号码登录、邮箱登录

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,就是缺少手机或者邮箱的验证,导致多个同样手机号码和邮箱同时出现时就无法登陆,这个会在后续的开发中加以改进。

你可能感兴趣的:(ecshop支持手机号码登录、邮箱登录)