ecshop支持手机号码、邮箱登录只要几行代码就搞定了php
修改 User.php 文件
找到:sql
if ($user->login($username, $password,isset($_POST['remember'])))
在它上边增长一段咱们所要能用手机或者邮箱登录的代码:code
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,就是缺乏手机或者邮箱的验证,致使多个一样手机号码和邮箱同时出现时就没法登录,这个会在后续的开发中加以改进。rem