服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > ecshop教程 >

让ecshop管理员登录后台同时支持邮箱与用户名

时间:2012-10-25 21:31来源:未知 作者:最模板 点击:
ecshop 管理员邮箱的唯一作用是用来找回密码,默认只能使用用户名(不区分大小写)和密码登录,在验证用户名和密码之前,对提交的表单域进行判断,如果输入的是邮箱,则查询邮箱对

ecshop管理员邮箱的唯一作用是用来找回密码,默认只能使用用户名(不区分大小写)和密码登录,在验证用户名和密码之前,对提交的表单域进行判断,如果输入的是邮箱,则查询邮箱对应的用户名并进行转换,从而登录系统。

让ecshop管理员登录后台同时支持邮箱与用户名

实现方法:

编辑/admin/privilege.php,查找:

 

$_POST['username'] = isset($_POST['username']) ? trim($_POST['username']) : '';
$_POST['password'] = isset($_POST['password']) ? trim($_POST['password']) : '';

 

下面添加“邮箱->用户名”转换代码,结果如下:

$_POST['username'] = isset($_POST['username']) ? trim($_POST['username']) : '';
$_POST['password'] = isset($_POST['password']) ? trim($_POST['password']) : '';
 
/* 邮箱登录 */
if(is_email($_POST['username']))
{
    $sql = "select user_name" . " FROM " . $ecs->table('admin_user') . " WHERE email = '" . $_POST['username'] . "'";
    $_POST['username'] = $db->getOne($sql);
}
 
$sql="SELECT `ec_salt` FROM ". $ecs->table('admin_user') ."WHERE user_name = '" . $_POST['username']."'";
$ec_salt =$db->getOne($sql);

 

 

 

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