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
对javascript和select部件的结合运用
Oct 09 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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的图形函数中显示汉字
2006/10/09 PHP
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
基于Jquery的简单&amp;简陋Tabs插件代码
2010/02/09 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
React中的render何时执行过程
2018/04/13 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python队列Queue的详解
2019/05/10 Python
python多进程读图提取特征存npy
2019/05/21 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
python实现经典排序算法的示例代码
2021/02/07 Python
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
顶岗实习接收函
2014/01/09 职场文书
收款授权委托书
2014/10/02 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
房屋出售授权委托书
2014/10/12 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
学生党员检讨书范文
2014/12/27 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
一篇文章学会Vue中间件管道
2021/06/20 Vue.js