AJAX 请求 PHP,注册时用到
AJAX 请求
在下面的 AJAX 例子中,我们将演示当用户向 web 表单中输入数据时,网页如何与在线的 web 服务器进行通信。
在下面的文本框中输入名字:
First Name:
Suggestions:
验证用户名是否存在,如果存在,则提示不允许注册,否则显示用户名合格。
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title> New Document </title>
<meta name=”Generator” content=”EditPlus”>
<meta name=”Author” content=””>
<meta name=”Keywords” content=””>
<meta name=”Description” content=””>
<script type=”text/javascript”>
var xmlHttp
function showHint(str)
{
if(str.length==0)
{
document.getElementById(“txtHint”).innerHTML=””
return
}
xmlHttp=GetXmlHttpObject()
if(xmlHttp==null)
{
alert(“Brower does not support http Request”)
return
}
var url=”gethint.php”
url=url+”?q=”+str
url=url+”&sid=”+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open(“GET”,url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if(xmlHttp.readyState==4 || xmlHttp.readyState==”complete”)
{
document.getElementById(“txtHint”).innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{//Firefox,Opera 8,Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//ie
try
{
xmlHttp= new ActiveXObject(“Msxml2.XMLHTTP”);
}
catch (e)
{
xmlHttp= new ActiveXObject(“Microsoft.XMLHTTP”);
}
}
return xmlHttp;
}
</script>
</head>
<body>
<form>
FirstName:<input type=”text” id=”tet1″ onkeyup=”showHint(this.value)” />
</form>
<p>Suggestions:<span id=”txtHint”></span></p>
</body>
</html>
第二个页面:
<?php
//get the q parameter from URL
$q= $_GET[“q”];
//$q=’Peter’;
if(strlen($q) > 0)
{
$hint=””;
$con = mysql_connect(“localhost”,”root”,””);
if(!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
mysql_select_db(“my_db”,$con);
$sql=”select * from person where FirstName= ‘” . $q . “‘”;
//$sql=”SELECT * FROM person WHERE FirstName = ‘Peter'”;
//echo $sql;
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
$response=”Existed the FirstName,please change it”;
}
else
{
$response=”None this person,you can regedit it”;
}
}
echo $response;
?>