实现ecshop手机号码和Email地址登录

2016-09-02 16:28 来源:www.chinab4c.com 作者:ecshop专家

本ECSHOP功能是客户买过来的,在这里完全免费分享出来。在这里也非常感谢分享这个功能的客户! 默认的ECSHOP程序不支持手机号码和邮箱登录,本插件是根据主流的B2C商城功能开发了此功能。整合原有登录系统,不影响原有登录系统数据结构。现在的网站要注册的地方真多,用户名也是太多了不方便记忆。同时,也是为了提高会员品质,我们把会员登录帐号设置为支持用户名、手机号码和邮箱登录,这样可以大大提高网站有效用户,现在基本上每个用户都有一个手机号码和邮箱。 用手机号码和邮箱登录,好处很明显: 1、使用手机号码和邮箱登录让网站更安全,追随用户体验趋势。 2、可以促使用户填写真实的手机号码和邮箱。 3、不易忘记。 4、使用手机号码和邮箱登录,更方便用户,提高客户回头率。 打开user.php文件,搜索找到如下代码: if ($user->login($username, $password,isset($_POST[\'remember\']))) { update_user_info(); recalculate_price(); $ucdata = isset($user->ucdata)? $user->ucdata : \'\'; show_message($_LANG[\'login_success\'] . $ucdata , array($_LANG[\'back_up_page\'], $_LANG[\'profile_lnk\']), array($back_act,\'user.php\'), \'info\'); } 在这段代码的上面添加:(看清楚是在上面) if (is_email($username)) { $sql = \"SELECT user_name FROM \" . $ecs->table(\'users\') . \" WHERE email = \'\".$username.\"\'\"; $username = $db->getOne($sql); if (!$username) { return false; } } if (is_telephone($username)) { $sql =\"SELECT user_name FROM \" . $ecs->table(\'users\') . \" WHERE mobile_phone = \'\".$username.\"\'\"; $username = $db->getOne($sql); if (!$username) { return false; } } 接着最下面 ?> 的上一行加入以下代码: 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; } }