分享

让ecshop用户名、手机号、email登陆方法

 abcen 2020-11-06

 仅适用于没有做过任何平台整合的ECSHOP网站

修改文件:

1、includes/modules/integrates/ecshop.php

$this->field_email = 'email';

在以上代码下面增加

$this->field_phone = 'mobile_phone';

=====================================================================

找到    function check_user($username, $password = null)  这个下面的

$sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE " . $this->field_name . "='" . $post_username . "'";

修改为

$sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE " . $this->field_name . "='" . $post_username . "' or " . $this->field_phone . "='" . $post_username . "' or " . $this->field_email . "='" . $post_username . "'";

再找到

$sql = "SELECT user_id, password, salt,ec_salt " .

                   " FROM " . $this->table($this->user_table).

                   " WHERE user_name='$post_username'";

修改为

$sql = "SELECT user_id, password, salt,ec_salt " .

                   " FROM " . $this->table($this->user_table).

                   " WHERE user_name='$post_username' or mobile_phone='$post_username' or email='$post_username'";

2、includes/modules/integrates/integrate.php

找到

    /* 会员邮箱的字段名 */

    var $field_email    = '';

在下面增加

    /* 会员手机的字段名 */

    var $field_phone    = '';

找到 function login($username, $password, $remember = null) 下面的

   if ($this->need_sync)

   {

          $this->sync($username,$password);

   }

在上面增加

   $sql = "SELECT " . $this->field_name .

               " FROM " . $this->table($this->user_table).

               " WHERE " . $this->field_phone . " = '$username' or " . $this->field_name . " = '$username' or " . $this->field_email . " = '$username'";

   $username = $this->db->getOne($sql, true);

找到 function check_user($username, $password = null) 下面的

   $sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE " . $this->field_name . "='" . $post_username . "'";

修改为

   $sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE " . $this->field_name . "='" . $post_username . "' or " . $this->field_phone . "='" . $post_username . "' or " . $this->field_email . "='" . $post_username . "'";

找到

   $sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE " . $this->field_name . "='" . $post_username . "' AND " . $this->field_pass . " ='" . $this->compile_password(array('password'=>$password)) . "'";

修改为

   $sql = "SELECT " . $this->field_id .

                   " FROM " . $this->table($this->user_table).

                   " WHERE (" . $this->field_name . "='" . $post_username . "' or " . $this->field_phone . "='" . $post_username . "' or " . $this->field_email . "='" . $post_username . "') AND " . $this->field_pass . " ='" . $this->compile_password(array('password'=>$password)) . "'";

再找到 function sync ($username, $password='', $md5password='')  下面的

   $sql = "SELECT user_name, email, password, sex, birthday".

               " FROM " . $GLOBALS['ecs']->table('users').

               " WHERE user_name = '$username'";

修改为

   $sql = "SELECT user_name, email, password, sex, birthday".

               " FROM " . $GLOBALS['ecs']->table('users').

               " WHERE user_name = '$username' or mobile_phone = '$username' or email = '$username'";

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约