ecshop注册用户增加手机验证功能
1.去掉“用户名”注册
a.去掉提交
user_passport.dwt页面去掉 <input name="username" type="text" size="30" id="username" onblur="is_registered(this.value);" class="input_login" />提交
b.去掉js表单验证,user.js
去掉,var username = Utils.trim(frm.elements['username'].value); 第439行
去掉,

if (username.length == 0)
{
msg += username_empty + '\n';
}
else if (username.match(/^\s*$|^c:\\con\\con$|[%,\'\*\"\s\t\<\>\&\\]/))
{
msg += username_invalid + '\n';
}
else if (username.length < 3)
{
//msg += username_shorter + '\n';
}

c.在php代码中,去掉相关的验证 (检测用户名长度),user.php 第40行
在elseif ($action == 'act_register'),去掉
/*if (strlen($username) < 3)
{
show_message($_LANG['passport_js']['username_shorter']);
}*/
注意:下面代码可以选择去掉,也可以选择不去掉。如果不去掉,则只需要把username的值设置不想等就可以了(可以把username的值等于当前时间,则username=time())。那么d,e步骤可以不需要修改
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
推荐解决办法1,user.php:username=isset(username=isset(_POST['email']) ? trim($_POST['email']) : '';
推荐解决办法2,user.php: $username = gmtime();
/*以下验证有点小问题 会出现 UNKNOWN ERROR! 提示*/
d.去掉验证(检测用户名是否为空),lib_passport.php

if (empty($username))
{
$GLOBALS['err']->add($GLOBALS['_LANG']['username_empty']);
}
else
{
if (preg_match('/\'\/^\\s*$|^c:\\\\con\\\\con$|[%,\\*\\"\\s\\t\\<\\>\\&\'\\\\]/', $username))
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_invalid'], htmlspecialchars($username)));
}
}

e.去掉验证(检测用户名是否已经存在),lib_passport.php 第87行
/*elseif ($GLOBALS['user']->error == ERR_USERNAME_EXISTS)
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['username_exist'], $username));
}*/
2.增加手机验证功能
a.html代码

<tr>
<td align="right">手机:</td>
<td>
<input name="mobile_phone" type="text" class="input_login" id="mobile_phone" onblur="checkMobile(this.value);" size="30"/>
<span style="color:#FF0000"> *</span>
</td>
</tr>
<tr>
<td align="right"> </td>
<td><span id="mobile_notice" class="red"></span> </td></tr>

b.增加js代码,checkMobile效果,user.js

function checkMobile(mobile)
{
var submit_disabled = false;
mobile = Utils.trim(mobile);
if (mobile == '')
{
document.getElementById('mobile_notice').innerHTML = '* 手机号码不能为空';
submit_disabled = true;
}else if(mobile.length !=11){
document.getElementById('mobile_notice').innerHTML = '* 不是一个有效的手机号码';
submit_disabled = true;
}
if( submit_disabled )
{
document.forms['formUser'].elements['Submit'].disabled = 'disabled';
return false;
}
Ajax.call( 'user.php?act=check_mobile', 'mobile=' + mobile, check_mobile_callback , 'GET', 'TEXT', true, true );
}
function check_mobile_callback(result){
if ( result == 'ok' )
{
document.getElementById('mobile_notice').innerHTML = '* 可以注册';
document.forms['formUser'].elements['Submit'].disabled = '';
}
else
{
document.getElementById('mobile_notice').innerHTML = '* 手机已经被注册,请重新输入';
document.forms['formUser'].elements['Submit'].disabled = 'disabled';
}
}

c.增加Ajax访问check_mobile,user.php 第302行

elseif($action == 'check_email')
{
$email = trim($_GET['email']);
if ($user->check_email($email))
{
echo 'false';
}
else
{
echo 'ok';
}
}
/*增加代码*/
elseif($action == 'check_mobile'){
$mobile = trim($_GET['mobile']);
$sql = 'SELECT user_name, email FROM ' . $ecs->table('users') . " WHERE mobile_phone = '$mobile'";
$row = $db->getRow($sql);
if($row){
echo 'false';
}else{
echo 'ok';
}
}
/*End*/

ecshop注册用户增加手机验证功能的更多相关文章
- ecshop修改注册、增加手机
1.去掉“用户名”注册 a.去掉提交 user_passport.dwt页面去掉 <input name="username" type="text" s ...
- discuz3.2x增加邮箱验证功能
为防止垃圾用户多次注册,为disczu增加邮箱验证功能. 大致分为二步: 1.申请邮箱,这里推荐使用腾讯免费企业邮箱:https://exmail.qq.com/portal/introducefre ...
- ecshop会员中心增加订单搜索功能
在user.php中的act=order_list中增加以下程序. $order_sn = isset($_REQUEST['order_sn'])?$_REQUEST['order_sn']:''; ...
- springMVC中实现用户登录权限验证
通过上网搜资料显示,使用filter和interceptor都可以实现.不过推荐使用interceptor. 下面就使用Interceptor实现用户登录权限验证功能. 拦截器需要实现Inceptor ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- 1_python小程序之实现用户的注册登陆验证功能
python小程序之实现用户的注册登陆验证功能 程序扼要简述: 一.程序流程:1.程序开始2.判断本地文件/数据库是否已存在用户信息,存在则跳转到登陆,否则跳转到注册,注册成功后后跳转到登陆3.判断 ...
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框
LoginDialog类的代码修改如下: package com.swift.frame; import java.awt.EventQueue; import java.awt.event.Acti ...
- 如何实现php手机短信验证功能
http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677 下载php源代码 现在网站在建设网 ...
- 实现Ecshop注册页面手机号唯一的验证
如果Ecshop实现了用手机号码来登陆,那么就需要在注册时保证会员所填写的手机号是唯一的,也就是说手机号还未被注册,那么该怎么来检测填写的手机号是否注册过了呢? 一.参考ecshop检测邮箱 因为注册 ...
随机推荐
- First one Day(哈哈哈哈)
今天是我来到园子的第一天,后序会分享一些自己所学的知识(当然我知道没人看,但是我自己看就好).哈哈哈哈哈 请大家多多关照!
- Java并发——DCL问题
转自:http://www.iteye.com/topic/875420 如果你搜索网上分析dcl为什么在java中失效的原因,都会谈到编译器会做优化云云,我相信大家看到这个一定会觉得很沮丧.很无助, ...
- hdu4731 Minimum palindrome (找规律)
这道题找下规律,3个字母或者以上的时候就用abcabcabc....循环即可. 一个字母时,就是aaaaa.....; 当只有2个字母时!s[1][]=a"; s[2][]="ab ...
- python set 集合操作
转自:https://www.cnblogs.com/alex3714/articles/5740985.html s = set([3,5,9,10]) #创建一个数值集合 t = set(&quo ...
- Html5+ 开发APP 后台运行代码
function backRunning(){ if(plus.os.name == 'Android'){ var main = plus.android.runtimeMainActivity() ...
- Centos7.5 ZABBIX4.0.3版本的编译安装
Zabbix监控的搭建理论 1. Zabbix Server会去采集监控数据,采集的监控数据会写入到SQL数据库 2. Zabbix的WEB后端采用php语言开发,所有配置信息.用 ...
- 日记(OI 无关,文化课无关)
2019.11.13 今天在研究 wss 的代码为什么比我快那么多. 看见他定义了一个结构体叫 thxorz,一定是因为 orz 了 thx 得到了信仰加成了. 然后刚说完这句话就看见 thx 走了进 ...
- 【leetcode】491. Increasing Subsequences
题目如下: 解题思路:这题把我折腾了很久,一直没找到很合适的方法,主要是因为有重复的数字导致结果会有重复.最后尝试用字典记录满足条件的序列,保证不重复,居然Accept了. 代码如下: class S ...
- vue制作分页
怎么制作分页?得先把思路路通顺了才可以. 我制作过程中遇到3个问题: 1,问:制作分页需要什么数据?怎么关联起来? 答:分页数据内容包含几部分, 1,当前是第几页?或则说当前默认是第几页. ...
- FileUtils (从磁盘下载,从网络下载)
public class FileUtils { /** * realPath 磁盘路径 D://project/download/ * urlPath 后半部分路径 具体根据业务需求,例如:WEB- ...