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 相关文章推荐
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
Laravel5中contracts详解
Mar 02 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 PHP
PHP实现批量上传单个文件
Dec 29 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
php fread函数使用方法总结
May 28 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 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 上传文件大小限制
2009/07/05 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
最短的IE判断代码
2011/03/13 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
Python实现的弹球小游戏示例
2017/08/01 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
Django实现组合搜索的方法示例
2018/01/23 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python版中国省市经纬度
2020/02/11 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
flask项目集成swagger的方法
2020/12/09 Python
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
DBA的职责都有哪些
2012/05/16 面试题
初中毕业生的自我评价
2014/03/03 职场文书
品质主管岗位职责
2014/03/16 职场文书
北京奥运会主题口号
2014/06/13 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python