新闻中心

Ecshop如何用注册的手机号码登录、邮箱登录到商城

作者 / 无忧主机 时间 2014-06-30 11:04:15

站长朋友们都知道现在很多网站都是支持很多种登陆方式了,例如QQ登陆,手机号码登陆,邮箱登陆等等,那么为什么需要开发这么多的登陆方式呢?无忧主机小编在这里概述下:随着很多网站都需要登陆会员才能访问了,那么我们也注册的账号数不胜数了,难免会忘记了自己的会员账号,那么如果忘记了麻烦的需要重新注册简单的也是要找回密码才能登陆,我们为什么不能用注册时预留的手机号码,邮箱登陆呢,对于ecshop这个强大的开源商城都是支持的,如果用QQ登陆只需要在自己的商城上使用一个QQ插件就可以用QQ登陆了,小编的小伙伴也是写了一篇用email登陆email商城。今天无忧主机小编研究下又实现了用注册时候预留的手机号码或者邮箱的登陆方式,小编在这里把小编的就方案为大家分享下: 第一步:找到主机根目录下的user.php文件 首先找到: if ($user->login($username, $password,isset($_POST['remember']))) 在这行代码之上添加一段代码如下: if(is_email($username)) { $sql="selectuser_name from ".$ecs->table('users')." where email='".$username."'"; $username_e = $db->getOne($sql); if($username_e) $username=$username_e; } if(is_telephone($username)) { $sql ="select user_name from ".$ecs->table('users')." where mobile_phone='".$username."'"; $username_e = $db->getOne($sql); if($username_e) $username=$username_e; } 这段代码是判断你登陆的是用的手机还是邮箱或者email登陆的,判断之后从数据库中取出你当时注册预留的对应的信息和你现在的登陆信息做对比,如果吻合则通过。因为我们当时注册的时候可能手机号码填写的格式不对或者不是11位数的手机号码,或者填写的是电话号码(例如无忧主机咨询电话0791-86113263)因此还要添加一行代码做判断。 第二步:在user.php的底部再增加一行代码如下: function is_telephone($phone){ $chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/"; if (preg_match($chars, $phone)){ return true; } }   通过以上两个步骤设置后即使你在登录的地方地方没有设置验证码也是可以通过登录到商城的。小编在这里还要唠叨下,有的时候数据库中可能是存在用户名不相同,但是预留的手机号码相同的,这样账户就有点不是很安全的,当然这也是可以避免的,再次修改下注册部分的代码,把手机号码修改为实现注册时手机号码的唯一性,如果再能用手机短信形式验证手机登陆的真实性就更加完美了,小编在这里只是提出了思想,感兴趣的站长朋友还是可以不防去试试的。 无忧主机相关文章推荐阅读: ECSHOP无法保存HTML邮件怎么办? 在ECSHOP会员中如何限制(添加或者减少)会员收货地址的数量 ECSHOP添加QQ客服使用后提示“抱歉,无法发起临时会话,您可以 添加对方为好友以发送消息”的完美解决方案

本文地址:https://www.51php.com/ecshop/14688.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服