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

 更新时间:2011年12月28日 21:36:58   作者:  
在网站注册用户时使用,主要为了无刷新异步验证用户输入的用户名或者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手册。这里不做阐述,较为复杂推荐使用第一种方式。
配 图:

      

相关文章

  • Laravel5.1 框架模型软删除操作实例分析

    Laravel5.1 框架模型软删除操作实例分析

    这篇文章主要介绍了Laravel5.1 框架模型软删除操作,结合实例形式分析了laravel5.1框架软删除的原理及普通删除与软删除的相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • yii2简单使用less代替css示例

    yii2简单使用less代替css示例

    本篇文章主要介绍了yii2简单使用less代替css示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Laravel获取当前请求的控制器和方法以及中间件的例子

    Laravel获取当前请求的控制器和方法以及中间件的例子

    今天小编就为大家分享一篇Laravel获取当前请求的控制器和方法以及中间件的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii2分页的使用及其扩展方法详解

    Yii2分页的使用及其扩展方法详解

    这篇文章主要介绍了Yii2分页的使用及其扩展方法详解的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • Yii框架上传图片用法总结

    Yii框架上传图片用法总结

    这篇文章主要介绍了Yii框架上传图片用法,结合实例形式总结分析了Yii框架上传图片的相关注意事项与使用技巧,需要的朋友可以参考下
    2016-03-03
  • zend框架实现支持sql server的操作方法

    zend框架实现支持sql server的操作方法

    这篇文章主要介绍了zend框架实现支持sql server的操作方法,结合实例形式分析了zend框架的相关代码修改、配置文件设置与相关问题注意事项,需要的朋友可以参考下
    2016-12-12
  • PHP实现搜索地理位置及计算两点地理位置间距离的实例

    PHP实现搜索地理位置及计算两点地理位置间距离的实例

    这篇文章主要介绍了PHP实现搜索地理位置及计算两点地理位置间距离的实例,地理位置搜寻的例子中使用到了MongoDB数据库,需要的朋友可以参考下
    2016-01-01
  • Yii使用EasyWechat实现小程序获取用户的openID的方法

    Yii使用EasyWechat实现小程序获取用户的openID的方法

    这篇文章主要介绍了Yii使用EasyWechat实现小程序获取用户的openID的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • ThinkPHP打水印及设置水印位置的方法

    ThinkPHP打水印及设置水印位置的方法

    这篇文章主要介绍了ThinkPHP打水印及设置水印位置的方法,结合实例形式分析了thinkPHP打印与设置水印的相关操作步骤与具体实现技巧,需要的朋友可以参考下
    2016-10-10
  • PHP将字符串首字母大小写转换的实例

    PHP将字符串首字母大小写转换的实例

    下面小编就为大家带来一篇PHP将字符串首字母大小写转换的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论