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

本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;
    }
}

本文原创地址:https://www.ecshop.cx/article-246.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

实时购买动态 ×

酷吧网络会员 在 2019-07-03 购买了 ECSHOP商品描述内容图片自动添加alt属性标签插件