phpcms v9手动选择用户名或邮箱Email登陆的方法 phpcms教程 - phpcms - 小名建站

小名建站

SEO SEO


首页  >   phpcms > phpcms v9手动选择用户名或邮箱Email登陆的方法 phpcms教程   >  正文







 

本来是想要实现phpcms v9登录的时候自动可以选择是用户名还是邮箱的,但是实力有限,只能弄了个笨拙的方法,手动选择一下,效果如下:另外此方法还可以实现只让用户使用邮箱登录,方法很简单,只需要在第二步的时候把用户名那行代码去掉,然后再把下拉框隐藏掉不让其在前台显示即可





本来是想要实现phpcms v9登录的时候自动可以选择是用户名还是邮箱的,但是实力有限,只能弄了个笨拙的方法,手动选择一下,效果如下:

另外此方法还可以实现只让用户使用邮箱登录,方法很简单,只需要在第二步的时候把用户名那行代码去掉,然后再把下拉框隐藏掉不让其在前台显示即可。
下面就是我实现phpcms v9手动选择用户名或邮箱Email登陆的方法
1、打开 /statics/js/formvalidatorregex.js 文件
找到
ps_username:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D_\\w]+$", //中文、字母、数字 _
修改为
ps_username:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D_\\w@\.]+$", //中文、字母、数字 _
2、打开 /phpcms/templates/default/member/login.html 文件
在用户名的input前面添加如下代码,判断传送出去的是用户名还是email
<select name="logintypes" id="logintypes" >
  <option value="0">邮箱</option>
  <option value="1">用户名</option>
</select>

3、打开 /phpcms/modules/member/index.php 文件
找到
$username = isset($_POST["username"]) && is_username($_POST["username"]) ? trim($_POST["username"]) : showmessage(L("username_empty"), HTTP_REFERER);
修改为
if ($_POST["logintypes"]==0){
$username = isset($_POST["username"]) && is_email($_POST["username"]) ? trim($_POST["username"]) : showmessage(L("username_empty"), HTTP_REFERER);
}
if ($_POST["logintypes"]==1){
$username = isset($_POST["username"]) && is_username($_POST["username"]) ? trim($_POST["username"]) : showmessage(L("username_empty"), HTTP_REFERER);
}

找到
$status = $this->client->ps_member_login($username, $password);
修改为
if ($_POST["logintypes"]==0){
$status = $this->client->ps_member_login($username, $password,1);
}
if ($_POST["logintypes"]==1){
$status = $this->client->ps_member_login($username, $password);
}

温馨提示:如果你正在寻找优秀的phpcms模板,那你可以到的 phpcms模板 频道看看,相信一定有你喜欢的!


phpcms v9手动选择用户名或邮箱Email登陆的方法 phpcms教程
http://www.yuedudg.cn/article/723711.html

 










Tags: cms教程 phpcms教程










搜索


网站分类


标签列表


关于我们
本人提供网站SEO优化、SEM推广营销(百度/360/搜狗收录优化)、企业建站、搜索引擎教学等服务。
联系我们: 给我发QQ消息  加入QQ群





安全认证