相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
php注冊系統(tǒng)和使用Xajax即時(shí)驗(yàn)證用戶名是否被占用

在php中使用Xajax能夠即時(shí)與數(shù)據(jù)庫發(fā)生交互
帶給用戶更好的體驗(yàn)
主要的應(yīng)用有網(wǎng)頁的即時(shí)、不刷新的登錄系統(tǒng)
也可以利用于注冊系統(tǒng)中
即時(shí)驗(yàn)證用戶名是否被占用
一、基本目標(biāo)
首先在mysql中有一張用戶信息表user
編寫一個(gè)用戶注冊系統(tǒng),一開始注冊按鈕是禁用的狀態(tài)
當(dāng)用戶輸入用戶名完畢時(shí),馬上檢查這個(gè)用戶名是否被占用,如果是,禁用注冊按鈕,并彈出對話框
如果用戶輸入的用戶名沒有被占用,則解鎖注冊按鈕,但如果用戶輸入兩次輸入的密碼不一致,同樣不允許用戶注冊
直到用戶滿足所有注冊條件的時(shí)候,才放行
用戶注冊成功能夠成功把用戶名與密碼添加到數(shù)據(jù)庫之中,如上面的aa與b:
二、基本思想
由于第一個(gè)輸入框在失去焦點(diǎn)時(shí),需要與數(shù)據(jù)庫發(fā)生交互,所以需要用到php的Xajax技術(shù)
關(guān)于什么是失去焦點(diǎn),見我之前的《【JavaScript】組件焦點(diǎn)與頁內(nèi)錨點(diǎn)間傳值》(點(diǎn)擊打開鏈接)一文,
關(guān)于什么是PHP的Xajax技術(shù),與Xajax如何配置,可以參考我剛寫的《【php】Xajax Helloworld》(點(diǎn)擊打開鏈接)一文
而第二個(gè)輸入框與第三個(gè)輸入框不需要與數(shù)據(jù)庫發(fā)生交互,在前臺就可以做出判斷,因此僅僅使用javascript就可以,
下面的代碼說明,不再對此進(jìn)行討論,因?yàn)橹拔以凇丁綣avaScript】表單即時(shí)驗(yàn)證,不成功不讓提交》(點(diǎn)擊打開鏈接)一文中已經(jīng)對此討論得比較詳細(xì)了。
三、制作過程
分兩個(gè)頁面,一個(gè)是用戶填寫注冊信息的頁面xajaxrec.php,一個(gè)是把用戶注冊信息填寫到數(shù)據(jù)庫的處理頁面下xajxrecsuc.php
xajxrecsuc.php的代碼如下,與之前《【php】數(shù)據(jù)庫的增刪改查和php與javascript之間的交互》(點(diǎn)擊打開鏈接)的插入處理頁面dbinsert.php根本就是一樣的,由于筆者用的是同一張用戶表,同一個(gè)數(shù)據(jù)庫,因此連代碼都不改就能夠使用了,就把“添加成功”四個(gè)大字,改成“注冊成功”而已:
<!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>