ecshop支持用户名、邮箱或手机号码登录

ecshop登陆文件 user.php 找到 大概386行

/* 处理会员的登录 */

...

在处理验证码的后面加入:

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的最底下或者includes/lib_common.php里面加入:

/**
 * 验证输入的手机号码是否合法
 *
 * @access  public
 * @param   string      $phone      需要验证的手机号码
 *
 * @return bool
 */
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;
	}
}

如果你的站点有用到ajax登陆的话,别忘记在

/* 处理 ajax 的登录请求 */

里面也加入上面的代码。

阅读剩余
THE END