PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)


Posted in PHP onDecember 28, 2011

前 言
直接上代码有点不厚道、于是按照天朝传统,整段描述吧。。。。(本人语言表达能力有限,大家忍着看)
功 能
在网站注册用户时使用,主要为了无刷新异步验证用户输入的用户名或者Email是否已注册。
这功能大家肯定见过,大多数网站都有的,我一直对这个功能很感兴趣,所以这几天研究了下 jQuery + Ajax
整了一个功能不算完善,但足以应付普通使用的代码 (更牛的功能大家自己去发掘)
文 件 说 明
reg.php //为注册页面
check_user.php //为用户验证页面 (GET,POST方式任选)
jquery-1.7.1.js //为jQuery文件 下载地址:http://code.jquery.com/jquery-1.7.1.js (右键另存为即可)
代码示例
reg.php 注册页面(内含2种方式,请任选一种)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>PHP+Ajax 异步通讯注册验证</title> 
<script type="text/javascript" src="jquery-1.7.1.js"></script> <!--千万别忘记引用jQuery文件,否则无法执行--> 
<script type="text/javascript"> 
$(function(){ 
//方式一 jQuery(普通应用时推荐,简单易用) 
$("#user").blur(function(){ //文本框鼠标焦点消失事件 
$.get("check_user.php?user="+$("#user").val(),null,function(data) //此处get方式 可换为post方式按需求调整,其他无需修改使用方式一样 
{ 
$("#chk").html(data); //向ID为chk的元素内添加html代码 
}); 
}) 
//方式二 aJax方式 (比较复杂,如无特殊需求推荐使用方式一) 
$("#user").blur(function(){ 
$.ajax({ 
url:"check_user.php", //请求验证页面 
type:"GET", //请求方式 可换为post 注意验证页面接收方式 
data:"user="+$("#user").val(), //取得表文本框数据,作为提交数据 注意前面的 user 此处格式 key=value 其他方式请参考ajax手册 
success: function(data) 
{ //请求成功时执行操作 
$("#chk").html(data); //向ID为chk的元素内添加html代码 
} 
}); 
}) 
}) 
</script> 
</head> 
<body> 
<form id="reg" action="" method="post"> 
用户名:<input id="user" type="text" /> <span id="chk"></span> 
</form> 
</body> 
</html>

check_user.php 异步通信页面 代码如下:
<?php 
header("Content-type:text/html;charset=gb2312"); 
//GET方式获取数据(取决于异步提交时提交方式) 
if($_GET['user']) 
{ 
$user=$_GET['user']; 
//此处可进行数据库匹配,本次省略直接判断 
if($user=="admin") 
echo "<font color=red>用户名已被注册!</font>"; 
else 
echo "<font color=red>用户名可以使用</font>"; 
}else{} 
//POST方式获取数据(取决于异步提交时提交方式) 
if($_POST['user']) 
{ 
$user=$_POST['user']; 
//此处可进行数据库匹配,本次省略直接判断 
if($user=="admin") 
echo "<font color=red>用户名已被注册!</font>"; 
else 
echo "<font color=red>用户名可以使用</font>"; 
}else{} 
?>

上面的2种方式分别又存在 post 和 get 两种方式,所以可以说有4种方式选择,应该可以满足普通应用了。
另外关于Ajax 内其他参数例如:请求数据类型,ajax开始操作等等事件。请参考ajax手册。这里不做阐述,较为复杂推荐使用第一种方式。
配 图:

PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)      PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)

PHP 相关文章推荐
最小化数据传输――在客户端存储数据
Oct 09 PHP
一个用php3编写的简单计数器
Oct 09 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
php字符串过滤与替换小结
Jan 26 PHP
PHP检测用户语言的方法
Jun 15 PHP
php实现中文转数字
Feb 18 PHP
Yii中的relations数据关联查询及统计功能用法详解
Jul 14 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
PHP使用CURL实现下载文件功能示例
Jun 03 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 #PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 #PHP
url decode problem 解决方法
Dec 26 #PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 #PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 #PHP
php操作JSON格式数据的实现代码
Dec 24 #PHP
php文件怎么打开 如何执行php文件
Dec 21 #PHP
You might like
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php实现文件编码批量转换
2014/03/10 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
python生成随机验证码(中文验证码)示例
2014/04/03 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
django settings.py 配置文件及介绍
2019/07/15 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
为什么python比较流行
2020/06/19 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
C语言基础笔试题
2013/04/27 面试题
人事专员岗位职责
2013/11/20 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
活动总结报告怎么写
2014/07/03 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
边城读书笔记
2015/06/29 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
JavaScript实现简单的音乐播放器
2022/08/14 Javascript