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 相关文章推荐
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
php实现求相对时间函数
Jun 15 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 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
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python的另外几种语言实现
2015/01/29 Python
python在不同层级目录import模块的方法
2016/01/31 Python
python 内置函数filter
2017/06/01 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python全局变量引用与修改过程解析
2020/01/07 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
Python如何读取、写入CSV数据
2020/07/28 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
python实现画图工具
2020/08/27 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
工作失职检讨书范文
2014/01/16 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
周末问候语大全
2015/11/10 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书