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检测邮箱 因为注册 ...
随机推荐
- egon消失的一天,空虚寂寞冷,苑模块的时间
一.时间模块time python有三种表达时间的形式:时间戳.格式化字符串输出和元组. 时间戳:从1970年1月1日00:00:00开始按秒计算的偏移量,返回值是一个float型. 格式化字符串输出 ...
- 测试员小白必经之路----常见的Dos命令
Dos是什么? 是一个命令行执行的操作系统 进入终端: win + r 运行输入: cmd 当前计算机的本地时间:Time 退出当前正在执行的命令: ctrl +c 设置在多少时间后自动关机: Shu ...
- Linux架构之Nginx之HTTPS
第52章 Nginx之HTTPS 第52章 Nginx之HTTPS 1.HTTPS安全证书基本概述 1.1 模拟服务器篡改内容 1.1.1 配置目标网站nginx 1.1.2 配置网页 1.1.3 访 ...
- thinkphp5.0.19 request
一.请求类型 request类中 [F:\phpStudy\WWW\csweb\thinkphp\library\think\Request.php] 获取请求类型的方法分别是: isGet() .i ...
- bzoj4764 弹飞大爷 LCT
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4764 题解 如果 \(a_i > 0\) 的话,那么就是 bzoj2002 的原题.直接 ...
- bzoj4025 二分图 LCT + 最小生成树
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4025 题解 貌似这道题有一个非常简单的做法是线段树分治+并查集. 可是我是为了练 LCT 来做 ...
- 第一次接触oracle
登录 SQLPLUS cmd sqlplus [用户名]/[密码][@数据库] [参数] sqlplus sys/orcl as sysdba -- 登录 sys 用户,必须指定 sysdba 或 s ...
- PKUSC2019颓废记
Day -x \(THU\):"想过初审?gck" 我:"你说gck,那就gck⑧" 于是就来\(PKU\)碰碰运气了 Day 0 为了赶高铁起的很早. 颓了一 ...
- ESP8266-01
我的模块购买地址 https://buyertrade.taobao.com/trade/detail/tradeSnap.htm?tradeID=460212770243341548&sn ...
- React Native 之SectionList
接上一篇: /pages/SectionListDemo.js import React, {Fragment,Component} from 'react'; import { SafeAreaVi ...