1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

实现ECSHOP会员使用EMAIL登录会员系统

本帖由 feeloon2012-11-05 发布。版面名称:源码讨论

  1. feeloon

    feeloon New Member

    注册:
    2012-10-23
    帖子:
    32
    赞:
    0
    现在的网站要注册的地方真多,用户名也是太多了不方便记忆。同时,也是为了提高会员品质,我们把会员登录帐号设置为邮箱,加上会员密码邮箱提示,这样可以大大提高网站有效用户,现在基本上每个都有一邮箱,所以如果会员也可以用邮箱email登入的话是可以方便实现的。那么怎么让ecshop也可以用邮箱email也可以登入呢?其实实现也是很简单的,小编在查阅相关资料后总结方法如下。


    下面演示程序以ecshop2.7.3,空间为无忧主机php虚拟空间为例,请看详细步骤:

    1、 使用FTP工具连接空间。找到网站根目录public_htm下的

    public_htm/includes/modules/integrates/integrate.php
    文件。

    2、 编辑integrate.php。找到如下代码,大概在第145行到162行之间。

    1
    function login($username, $password, $remember = null)
    2
    {
    3
    if
    4
    ($this->check_user($username, $password) > 0)
    5
    {
    6
    if ($this->need_sync)
    7

    8
    {
    9
    $this->sync($username,$password);
    10
    }
    11
    $this->set_session($username);
    12
    $this->set_cookie($username,
    13
    $remember);
    14

    15
    return true;
    16
    }
    17
    else
    18
    {
    19
    return false;
    20
    }
    21
    }
    3、 将上述代码修改替换成:

    view sourceprint?
    1
    function login($username, $password, $remember = null)
    2

    3
    {
    4
    if(is_email($username))
    5

    6
    {
    7

    8
    $sql = "select ".$this->field_name." from ".$this->table($this->user_table)."
    9
    where ".$this->field_email."='".$username."'";
    10

    11
    $username = $this->db->getOne($sql);
    12

    13
    if(!$username) return false;
    14

    15
    }
    16

    17
    if
    18
    ($this->check_user($username, $password) > 0)
    19

    20
    {
    21

    22
    if
    23
    ($this->need_sync)
    24

    25
    {
    26

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

    29
    }
    30

    31
    $this->set_session($username);
    32

    33
    $this->set_cookie($username, $remember);
    34
    return true;
    35

    36
    }
    37

    38
    else
    39

    40
    {
    41

    42
    return
    43
    false;
    44

    45
    }
    46

    47
    }
    修改完成后,将文件保存并且上传到空间。就可以了。现在您就可以使用邮箱email登入ecshop购物了。马上到后台尝试一下吧