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动态创建Flash动画
Oct 09 PHP
图象函数中的中文显示
Oct 09 PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 PHP
php自动给网址加上链接的方法
Jun 02 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
根据key删除数组中指定的元素实现方法
Mar 02 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 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
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
jQuery入门知识简介
2010/03/04 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python轻松实现代码编码格式转换
2015/03/26 Python
Python中几种操作字符串的方法的介绍
2015/04/09 Python
python实现微信自动回复功能
2018/04/11 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python多进程读图提取特征存npy
2019/05/21 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
学生党员思想汇报范文
2014/01/09 职场文书
采购经理岗位职责
2014/02/16 职场文书
务虚会发言材料
2014/12/25 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏