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程序開發有所幫助。