PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)

2015-01-24信息快讯网

在网站注册用户时使用,主要为了无刷新异步验证用户输入的用户名或者Email是否已注册。

前 言
直接上代码有点不厚道、于是按照天朝传统,整段描述吧。。。。(本人语言表达能力有限,大家忍着看)
功 能
在网站注册用户时使用,主要为了无刷新异步验证用户输入的用户名或者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种方法实现)_信息快讯网

web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
ajax完美实现两个网页 分页功能的实例代码
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
ajax取消挂起请求的处理方法
用Php编写注册后Email激活验证的实例代码
PHP生成随机用户名和密码的实现代码
php中存储用户ID和密码到mysql数据库的方法
PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页
php和javascript之间变量的传递实现代码
ajax php传递和接收变量实现思路及代码
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
php+ajax做仿百度搜索下拉自动提示框(有实例)
注册页面之前先验证用户名是否存在的php代码
PHP设计模式 注册表模式
PHP设计模式 注册表模式(多个类的注册)
php curl常见错误:SSL错误、bool(false)
shopex主机报错误请求解决方案(No such file or directory)
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
php自动注册登录验证机制实现代码
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
使用php+Ajax实现唯一校验实现代码[简单应用]
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
防止本地用户用fsockopen DDOS攻击对策
使用PHPRPC实现Ajax安全登录第1/2页
php实现用户在线时间统计详解
新浪微博API开发简介之用户授权(PHP基础篇)
PHP学习笔记 用户注册模块用户类以及验证码类
©2014-2024 dbsqp.com