ajax之用户名唯一性验证的实现(php)
用户名唯一性验证的实现 在一些需要用户注册的系统中,由于系统需要保证用户名的唯一性,在注册时往往需要检查用户名。在一些使用传统方式设计的网站中,往往需要提交整个页面来进行用户名唯一性的检查。这种方式虽然可以正确检测用户名的唯一性,但是对于用户的友好度比较差。使用Ajax进行用户名唯一性检查可以在不影响用户表单填写的情况下执行,大大增加了表单的友好度。以下代码是一个进行用户名唯一性验证的例子。
<div class="highlighter">
[*]<html>
[*]
[*]<head>
[*]
[*]<title>AjaxExample</title>
[*]
[*]<scripttype="text/javascript">
[*]
[*]varxmlobj;//定义XMLHttpRequest对象
[*]
[*]functionCreateXMLHttpRequest()
[*]
[*]{
[*]
[*]if(window.ActiveXObject) //如果当前浏览器支持ActiveXobject,则创建ActiveXObject对象
[*]
[*]{
[*]
[*]xmlobj=newActiveXObject("Microsoft.XMLHTTP");
[*]
[*]}
[*]
[*]elseif(window.XMLHttpRequest)//如果当前浏览器支持XMLHttpRequest,则创建XMLHttpRequest对象
[*]
[*]{
[*]
[*]xmlobj=newXMLHttpRequest();
[*]
[*]}
[*]
[*]}
[*]
[*]functionValidate()//主程序函数
[*]
[*]{
[*]
[*]CreateXMLHttpRequest();//创建对象
[*]
[*]varshowurl="validate.php?username="+document.getElementById("username").value;//构造URL
[*]
[*]xmlobj.open("GET",showurl,true);//调用validate.php
[*]
[*]xmlobj.onreadystatechange=StatHandler;//判断URL调用的状态值并处理
[*]
[*]xmlobj.send(null);//设置为不发送给服务器任何数据
[*]
[*]}
[*]
[*]functionStatHandler()//用于处理状态的函数
[*]
[*]{
[*]
[*]if(xmlobj.readyState==4&&xmlobj.status==200)//如果URL成功访问,则输出网页
[*]
[*]{
[*]
[*]if(xmlobj.responseText=="1")//检查用户名是否有效
[*]
[*]{
[*]
[*]document.getElementById("msg").innerHTML="<fontcolor=RED>该用户名已被人使用</font>";
[*]
[*]}
[*]
[*]elseif(xmlobj.responseText=="0")
[*]
[*]{
[*]
[*]document.getElementById("msg").innerHTML="<fontcolor=GREEN>该用户名未被人使用</font>";
[*]
[*]}
[*]
[*]else
[*]
[*]{
[*]
[*]document.getElementById("msg").innerHTML="<fontcolor=RED>用户名验证程序出错</font>";
[*]
[*]}
[*]
[*]}
[*]
[*]}
[*]
[*]</script>
[*]
[*]</head>
[*]
[*]<body>
[*]
[*]<p><formaction="">
[*]
[*]用户名:<inputtype="text"id="username">
[*]
[*]<inputtype="button"value="用户名验证"onclick="Validate();">
[*]
[*]<divid="msg"></div>
[*]
[*]</form></p>
[*]
[*]</body>
[*]
[*]</html>
[*]
[*]
页:
[1]