PHP+Ajax檢測使用者名稱或郵件註冊時是否已經存在是論壇或會員系統中常見的一個重要功能。本文就以執行個體形式簡單描述這一功能的實現方法。具體步驟如下:
一、PHP檢測頁面
check.php頁面代碼如下:
<script type="text/javascript" src="jiance.js"></script><form name="myform" action="" method="get"> 使用者名稱:<input name="user" value="" type="text" onblur="funtest100()" /> <div id="test100"></div></form>
二、Ajax驗證頁面
check.js頁面代碼如下:
var xmlHttp;function S_xmlhttprequest(){ if(window.ActiveXobject){ xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); }else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }}function funtest100(){ var f = document.getElementsByTagName_r('form')[0].user.value;//擷取文字框內容 S_xmlhttprequest(); xmlHttp.open("GET","jcfor.php?id="+f,true);//找開請求 xmlHttp.onreadystatechange = byphp;//準備就緒執行 xmlHttp.send(null);//發送}function byphp(){ //判斷狀態 if(xmlHttp.readyState==1){//Ajax狀態 document.getElementByIdx_x_x('test100').innerHTML = "正在載入"; } if(xmlHttp.readyState==4){//Ajax狀態 if(xmlHttp.status==200){//伺服器端狀態 var bytest100 = xmlHttp.responseText; //alert(bytest100); document.getElementByIdx_x_x('test100').innerHTML = bytest100; } }}
三、PHP驗證頁面
chkfor.php頁面代碼如下:
<?php if($_GET[id]){ sleep(1); $conn=mysql_connect('localhost','root',''); mysql_select_db('test',$conn); $sql="SELECT * FROM `user` WHERE `name`='$_GET[id]'"; $q=mysql_query($sql); if(is_array(mysql_fetch_row($q))){ echo "使用者名稱已經存在"; }else{ echo "使用者名稱可以使用"; } } ?>
希望本文所述執行個體對大家PHP程式開發有所協助。