phpcms默认的会员登录没有使用email登录的功能,需要自己开发,下面告诉大家详细的开发方法:


PHPCMS v9会员登录支持Email登录的实现方法

*步:修改登陆的验证JS

修改/statics/js/formvalidatorregex.js文件,在里面找到如下代码:

    ps_username:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D_\\w]+$"

替换成如下:

    ps_username:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D_\\w@\.]+$"

第二步: 修改登录文件

 

修改/phpcms/modules/member/index.php文件,在里面找到如下代码:

    $synloginstr = ''; //同步登陆js代码

 

在其下面添加如下代码:

    preg_match('/^[a-z]+\w*@\w+\.[a-z0-9]{2,6}$/i', $username, $is_email);

 

然后找到下面的代码:

    $status = $this->client->ps_member_login($username, $password);

改成下面的

    $status = $this->client->ps_member_login($username, $password, $is_email);

再找到下面的代码:

    $r = $this->db->get_one(array('username'=>$username));

改成如下:

    $r = $this->db->get_one(array($is_email ? 'email' : 'username'=>$username));

这就实现Email也能登陆了。