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 相关文章推荐
PHP输出控制功能在简繁体转换中的应用
Oct 09 PHP
彻底杜绝PHP的session cookie错误
Aug 09 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP文件操作实例总结
Sep 27 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 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
日本十大惊悚动漫
2020/03/04 日漫
7个超级实用的PHP代码片段
2011/07/11 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
Javascript面向对象编程
2012/03/18 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
python画双y轴图像的示例代码
2019/07/07 Python
python数据爬下来保存的位置
2020/02/17 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
网吧消防安全责任书
2014/07/29 职场文书
师德师风事迹材料
2014/12/20 职场文书
期中考试复习计划
2015/01/19 职场文书
欠款起诉书范文
2015/05/19 职场文书
电工实训心得体会
2016/01/14 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
使用pandas模块实现数据的标准化操作
2021/05/14 Python