A-A+

ajax+php注册验证

2012年05月28日 PHP技术文章 暂无评论 阅读 438 views 次

ajax+php的验证技术已经很成熟了,对于验证方面,应用最多的应该就是注册登陆方面了,最大的好处就是不用刷新浏览器,实时显示,对于提高用户的体验度那是非常棒的,在许多大型的网站上面,我们在注册用户名时,会实时提示用户名是否已经注册,而不用进行刷新网页,这种技术就是利用ajax技术了,我们看一下在php中,是如何通过ajax+php进行读取mysql数据库中的用户名进行无刷新验证的,下面是源码:

前台(reg.html):

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;
 charset=GB2312"/>
<title>Ajax Example</title> 
<script type="text/javascript"> 
var xmlobj; //定义XMLHttpRequest对象 
function CreateXMLHttpRequest() 
{ 
if(window.XMLHttpRequest) 
{//Mozilla浏览器 
xmlobj=new XMLHttpRequest(); 
if(xmlobj.overrideMimeType) 
{//设置MIME类别 
xmlobj.overrideMimeType("text/xml"); 
} 
} 
else if(window.ActiveXObject) 
{//IE浏览器 
try 
{ 
xmlobj=new ActiveXObject("Msxml2.XMLHttp"); 
} 
catch(e) 
{ 
try 
{ 
xmlobj=new ActiveXobject("Microsoft.XMLHttp"); 
} 
catch(e) 
{ 
} 
} 
} 
} 
function Validate() //主程序函数 
{ 
CreateXMLHttpRequest(); //创建对象 
var showurl = "60ie.net/show.php?username=" + document.getElementById
x_x ("username").value; //构造URL 
xmlobj.open("GET", showurl, true); //调用validate.php 
xmlobj.onreadystatechange = StatHandler; //判断URL调用的状态值并处理 
xmlobj.send(null); //设置为不发送给服务器任何数据 
} 
function StatHandler() //用于处理状态的函数 
{ 
if(xmlobj.readyState == 4 && xmlobj.status == 200) //如果URL成功访问
,则输出网页 
{ 
document.getElementByIdx_x("msg").innerHTML=xmlobj.responseText ; 
} 
} 
</script> 
</head> 
<body> 
<p><form action="#"> 
用户名:<input type="text" id="username" onBlur="Validate();"
 onChange="Validate();"> 
<input type="button" value="用户名验证" onClick="Validate();"> 
<div id="msg"></div> 
</form></p> 
</body> 
</html>

后台(show.php):

<?php 
$conn = mysql_connect("localhost", "root", "123456"); 
$user = $_GET&#91;"username"&#93;; 
$querySQL = "Select * FROM users Where name = '".$user."'"; 
mysql_select_db("users", $conn); 
$rs = mysql_query($querySQL, $conn); 
$rs_cnt = mysql_num_rows($rs); 
if($rs_cnt==1) 
{ 
echo "<font color=RED>该用户名已被人使用</font>"; 
} 
else if($rs_cnt==0) 
{ 
echo "<font color=GREEN>该用户名未被人使用</font>"; 
} 
else 
echo "<font color=RED>用户名验证程序出错</font>"; 
?>
标签:

给我留言