久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php注冊系統和使用Xajax即時驗證用戶名是否被占用

這篇文章主要為大家詳細介紹了php注冊系統和使用Xajax即時驗證用戶名是否被占用,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在php中使用Xajax能夠即時與數據庫發生交互

帶給用戶更好的體驗

主要的應用有網頁的即時、不刷新的登錄系統

也可以利用于注冊系統中

即時驗證用戶名是否被占用

一、基本目標

首先在mysql中有一張用戶信息表user

php注冊系統和使用Xajax即時驗證用戶名是否被占用

編寫一個用戶注冊系統,一開始注冊按鈕是禁用的狀態

php注冊系統和使用Xajax即時驗證用戶名是否被占用

當用戶輸入用戶名完畢時,馬上檢查這個用戶名是否被占用,如果是,禁用注冊按鈕,并彈出對話框

如果用戶輸入的用戶名沒有被占用,則解鎖注冊按鈕,但如果用戶輸入兩次輸入的密碼不一致,同樣不允許用戶注冊

直到用戶滿足所有注冊條件的時候,才放行

用戶注冊成功能夠成功把用戶名與密碼添加到數據庫之中,如上面的aa與b:

php注冊系統和使用Xajax即時驗證用戶名是否被占用

二、基本思想

由于第一個輸入框在失去焦點時,需要與數據庫發生交互,所以需要用到php的Xajax技術

關于什么是失去焦點,見我之前的《【JavaScript】組件焦點與頁內錨點間傳值》(點擊打開鏈接)一文,

關于什么是PHP的Xajax技術,與Xajax如何配置,可以參考我剛寫的《【php】Xajax Helloworld》(點擊打開鏈接)一文

而第二個輸入框與第三個輸入框不需要與數據庫發生交互,在前臺就可以做出判斷,因此僅僅使用javascript就可以,

下面的代碼說明,不再對此進行討論,因為之前我在《【JavaScript】表單即時驗證,不成功不讓提交》(點擊打開鏈接)一文中已經對此討論得比較詳細了。

三、制作過程

分兩個頁面,一個是用戶填寫注冊信息的頁面xajaxrec.php,一個是把用戶注冊信息填寫到數據庫的處理頁面下xajxrecsuc.php
xajxrecsuc.php的代碼如下,與之前《【php】數據庫的增刪改查和php與javascript之間的交互》(點擊打開鏈接)的插入處理頁面dbinsert.php根本就是一樣的,由于筆者用的是同一張用戶表,同一個數據庫,因此連代碼都不改就能夠使用了,就把“添加成功”四個大字,改成“注冊成功”而已:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>注冊成功</title> 
</head> 
 
<body> 
<?php 
$username=$_REQUEST["username"]; 
$password=$_REQUEST["password"]; 
$con=mysql_connect("localhost","root","root"); 
if(!$con){ 
 die("連接失??!"); 
 } 
mysql_select_db("test",$con); 
mysql_query("insert into user(username,password) values ('".$username."','".$password."');"); 
mysql_close($con); 
?> 
<script> 
alert("注冊成功"); 
window.location.href="xajaxreg.php" rel="external nofollow" ; 
</script> 
</body> 
</html> 

然后重點來說說這個xajaxrec.php:

<?php 
include 'xajax_core/xajax.inc.php'; 
$xajax=new xajax(); 
//首先在xajax聲明一個check函數 
$xajax->registerFunction("check"); 
//這個check函數需要前臺傳來用戶名username 
function check($username){ 
 $orps=new xajaxResponse(); 
 //連接數據庫,看看用沒有這個用戶名 
 $con=mysql_connect("localhost","root","root"); 
 if(!$con){ 
 die("連接失??!"); 
 } 
 mysql_select_db("test",$con); 
 $dbusername=null; 
 $result=mysql_query("select * from user where username='".$username."';"); 
 while($row=mysql_fetch_array($result)){ 
 $dbusername=$row["username"]; 
 } 
 //如果沒有,根本不可能查出數據,對dbusername賦值的,所以dbusername還是為空的 
 if(is_null($dbusername)){ 
 //彈窗,把id為submitbtn的提交按鈕disabled屬性清理掉,解鎖disabled 
 $orps->alert("恭喜,該用戶名未被占用,可以注冊"); 
 $orps->clear("submitbtn","disabled"); 
 } 
 else{ 
 //否則彈窗之后為submitbtn上鎖,加上disabled屬性 
 $orps->alert("該用戶名已被占用,請更換被的用戶名"); 
 $orps->assign("submitbtn","disabled","disabled"); 
 } 
 //人走帶門,然后是三個xajax的指定動作 
 mysql_close($con); 
 return $orps; 
 } 
 
$xajax->processRequest(); 
$xajax->printJavascript(); 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>用戶注冊</title> 
</head> 
 
<body> 
用戶注冊 
<!--為表單上個onsubmit屬性,是因為但用戶點擊提交按鈕的時候,跑完這個check()函數再提交這個表單--> 
<form action="xajxregsuc.php" method="post" onsubmit="return check()"> 
<!--但用戶名的輸入框失去焦點時,也就是用戶輸入完成,光標離開這個輸入框的時候,馬上調用xajax中的check函數,帶過去的值就是本輸入框的內容--> 
用戶名:<input type="text" name="username" onblur="xajax_check(this.value);" /><br /> 
密碼:<input type="password" name="password" id="password" /><br /> 
<!--確認密碼這里調用下面的javascript檢查即可--> 
請再次輸入密碼:<input type="password" name="passwordconfirm" id="passwordconfirm" onchange="check()"/><br /> 
<input type="submit" id="submitbtn" value="注冊" disabled /> 
</form> 
</body> 
</html> 
<script> 
function check() { 
 var check = false; 
 var password = document.getElementById("password").value; 
 var pwdc = document.getElementById("passwordconfirm").value; 
 if (password != pwdc) { 
 alert("兩次輸入密碼不一致"); 
 check = false; 
 } else { 
 check = true; 
 } 
 return check; 
} 
</script> 

至此整個注冊系統就完成。

四、展望

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 羞羞视频在线观看 | 黄色大片在线视频 | 欧美亚洲高清 | 亚洲精品一区二区 | 亚洲一区国产 | 美女视频一区二区三区 | 日日操操 | 成人久久视频 | 狠狠狠色丁香婷婷综合久久五月 | 欧美激情国产日韩精品一区18 | 久久国产成人 | 国产精品jizz在线观看老狼 | 成人国产精品久久 | 操人视频在线观看 | 亚洲精品免费视频 | 999精品视频 | 日韩一区二区在线视频 | 久久久精品一区 | 欧美一级免费 | 久草欧美 | 三级黄片毛片 | av天天干 | 亚洲免费在线观看视频 | 99久久婷婷国产综合精品首页 | 亚洲精品欧美 | 亚洲444eee在线观看 | 久久久久欧美 | 日韩欧美在线视频播放 | 日韩精品无码一区二区三区 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 国内91在线 | www.av7788.com| 夜夜骚| 久久久久精| 欧美激情久久久 | 91超碰在线| 久久丝袜| 久久久久久九九九九九九 | 亚洲精品二区 | 99视频在线播放 | 久久精品亚洲精品国产欧美 |