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