西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

让ecshop用户名和email都可以登陆!

时间:2010-11-20 10:56来源: 作者: 点击:
让ecshop用户名和email都可以登陆!

让ecshop用户名和email都可以登陆!

在最近的几次开发案例中, 客户经常提到使自己的网站能够用email登陆.
确实,自2005年,web2.0兴起以来,越来越多的网站,尤其是新兴网站,大多是用email登陆的.

email登陆,好处很明显.
1:可以促使用户填写真实的email.
2:不易忘记.

下面的改动,可以使ecshop用email,用户名都可以完成登陆.
---------------------------分割线-----------------------------
改动版本: ecshop 2.7.0
改动程序: /includes/modules/integrates/integrate.php
改动代码:145--162行的用户登陆函数.如下

 

    function login($username, $password)

    {

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

        {

            if ($this->need_sync)

            {

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

            }

            $this->set_session($username);

            $this->set_cookie($username);

 

            return true;

        }

        else

        {

            return false;

        }

    }

 

 

 

改为:

 

 

 

    function login($username, $password)

    {

        if(is_email($username))
        {
                $sql = "select ".$this->field_name." from ".$this->table($this->user_table)." where ".$this->field_email."='".$username."'";
                $username = $this->db->getOne($sql);
                if(!$username) return false;
                //echo $sql;exit;
        }
        if ($this->check_user($username, $password) > 0)

        {

            if ($this->need_sync)

            {

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

            }

            $this->set_session($username);

            $this->set_cookie($username);

 

            return true;

        }

        else

        {

            return false;

        }

    }

 

是否有其他改动方法:有,但经过几次试验,这种方法目前是最平滑的.

(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------