PHP+Ajax实现的检测用户名功能简单示例

 更新时间:2019年02月12日 09:19:06   作者:chengqiuming  
这篇文章主要介绍了PHP+Ajax实现的检测用户名功能,结合简单实例形式分析了php结合ajax基于事件响应动态查询数据库及用户名检测相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP+Ajax实现的检测用户名功能。分享给大家供大家参考,具体如下:

一 代码

fun.js:

function chkUsername(username){
    if(username==''){ //判断用户名是否为空
      alert('请输入用户名!');
    }else{
    var xmlObj; //定义XMLHttpRequest对象
      if(window.ActiveXObject){ //如果是浏览器支持ActiveXObjext则创建ActiveXObject对象
        xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
      }else if(window.XMLHttpRequest){ //如果浏览器支持XMLHttpRequest对象则创建XMLHttpRequest对象
          xmlObj = new XMLHttpRequest();
      }
      xmlObj.onreadystatechange = callBackFun; //指定回调函数
      xmlObj.open('GET', 'chk.php?username='+username, true); //使用GET方法调用chk.php并传递username参数的值
      xmlObj.send(null); //不发送任何数据,因为数据已经使用请求URL通过GET方法发送
      function callBackFun(){ //回调函数
        if(xmlObj.readyState == 4 && xmlObj.status == 200){ //如果服务器已经传回信息并没发生错误
              if(xmlObj.responseText=='y'){ //如果服务器传回的内容为y,则表示用户名已经被占用
                  alert('该用户名已被他人使用!');
              }else{ //不为y,则表明用户名未被占用
                alert('恭喜,该用户未被使用!');
              }
          }
      }
    }
}

chk.php:

<?php
require_once 'conn.php';   //包含数据库连接文件
$sql = mysql_query("select id, username from tb_user where username='".trim($_GET['username'])."'", $connID);   //执行查询
$result = mysql_fetch_array($sql);
if ($result) {   //判断用户名是否存在
  echo 'y';
} else {
  echo 'n';
}
?>

conn.php:

<?php
$host = '127.0.0.1';
$userName = 'root';
$password = 'root';
$connID = mysql_connect($host, $userName, $password);
mysql_select_db('db_database27', $connID);
mysql_query('set names gbk');
?>

index.php:

<!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>Ajax检测用户名</title>
</head>
<script language="javascript" src="js/fun.js"></script>
<body>
<h2>Ajax检测用户名</h2>
<form name="form_register">
  用户名:<input type="text" id="username" name="username" size="20" />&nbsp;<input type="button" value="查看用户名是否被占用" onclick="javascript:chkUsername(form_register.username.value)" />
</form>
</body>
</html>

二 运行结果

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP中文件缓存转内存缓存的方法

    PHP中文件缓存转内存缓存的方法

    顾名思义文件缓存转内存缓存就是将存储在文件中的数据转到内存中去,实现磁盘操作转为内存操作,这样可以大大提高数据访问速度,并能实现缓存数据的分布式部署。文件缓存与内存缓存的介绍请参考名词解释部分
    2011-12-12
  • 使用ThinkPHP8实现导出Excel数据表格功能

    使用ThinkPHP8实现导出Excel数据表格功能

    这篇文章主要为大家详细介绍了如何使用ThinkPHP8导出Excel数据表格功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-05-05
  • php结合md5实现的加密解密方法

    php结合md5实现的加密解密方法

    这篇文章主要介绍了php结合md5实现的加密解密方法,涉及PHP字符串操作及加密解密算法实现技巧,需要的朋友可以参考下
    2016-01-01
  • php使用pecl方式安装扩展操作示例

    php使用pecl方式安装扩展操作示例

    这篇文章主要介绍了php使用pecl方式安装扩展操作,结合实例形式分析了pecl的安装、以及基于pecl的扩展查找、安装,并给出了swoole与xdebug扩展安装的操作步骤,需要的朋友可以参考下
    2019-08-08
  • PHP中session跨子域的三种实现方法

    PHP中session跨子域的三种实现方法

    做项目的时候跨域问题在cooike及session中我们经常会使用到了,不过php对于子域处理是比较简单的了,小编整理了三个解决方案,下面一起来看看。
    2016-07-07
  • PHP中UNIX时间戳和日期间的转换与计算实例

    PHP中UNIX时间戳和日期间的转换与计算实例

    这篇文章主要介绍了PHP中UNIX时间戳和日期间的转换与计算实例,本文讲解了将日期和时间转变成UNIX时间戳、日期的计算等内容,需要的朋友可以参考下
    2014-11-11
  • php中邮箱地址正则表达式实现与详解

    php中邮箱地址正则表达式实现与详解

    本文章不但要讲述了关于正则达式而且还讲述了关于邮箱正则的构成用法详解,有需要了解的朋友可以参考一下,同时我们也提供了多种不同的邮箱验证实例
    2012-04-04
  • php抽奖概率算法(刮刮卡,大转盘)

    php抽奖概率算法(刮刮卡,大转盘)

    这篇文章主要为大家详细介绍了php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • PHP面向对象程序设计之类与反射API详解

    PHP面向对象程序设计之类与反射API详解

    这篇文章主要介绍了PHP面向对象程序设计之类与反射API,结合实例形式较为详细的分析了类的验证、检查、传参及反射API等概念与操作技巧,需要的朋友可以参考下
    2016-12-12
  • mysq GBKl乱码

    mysq GBKl乱码

    mysq GBKl乱码...
    2006-11-11

最新评论