1,設(shè)定原來(lái)已經(jīng)注冊(cè)的用戶進(jìn)入的外觀:在這里設(shè)置了兩個(gè)文本框,一個(gè)超級(jí)鏈接和兩個(gè)按鈕。兩個(gè)文本框分別用來(lái)輸入賬號(hào)(txtNum)和密碼(txtPasswd),超級(jí)鏈接(New)鏈接到新用戶進(jìn)行注冊(cè)的頁(yè)面,兩個(gè)按鈕是用來(lái)提交和清除的,用來(lái)清除的按鈕(cmdReset)直接選擇為Reset類型,不過(guò)用來(lái)提交的按鈕(cmdTijiao)并不要選擇為Submit類型,而選擇的是Normal類型,這是為了在這個(gè)按鈕的onClick事件中添加代碼,并且判斷用戶的輸入是否合法!
2,設(shè)定新用戶登陸的頁(yè)面外觀:一般都是要新用戶輸入賬號(hào),密碼,姓名,及相關(guān)的一些信息,在這里我們有五個(gè)文本框,一個(gè)下拉式列表框和兩個(gè)按鈕,五個(gè)文本框就分別是讓用戶輸入姓名,email,賬號(hào),密碼,確定密碼。但是其中只有用來(lái)輸入賬號(hào),密碼和確定密碼的文本框有名字,分別為txtNum,txtPasswd和txtConfirm。提交按鈕的名字為cmdTijiao
3,這一步當(dāng)然是設(shè)定注冊(cè)成功后用戶所進(jìn)的頁(yè)面了,這就由大家決定吧:)
?。ǘ?,添加程序代碼:
1,首先添加原來(lái)已經(jīng)注冊(cè)用戶頁(yè)面的代碼,它主要是處理cmdTijiao_onClick事件,并且判斷用戶的輸入是否合法,在這個(gè)例子中要求賬號(hào)必須是數(shù)字,密碼不能為空,代碼如下,其中frmRes是這個(gè)頁(yè)面中窗口的名字,窗口的Action指向http://your/ResJudge.asp
sub cmdTijiao_onClick() if frmRes.txtNum.value="" or frmRes.txtPasswd.value="" or (Not IsNumeric(frmRes.txtNum.value)) then Alert"請(qǐng)?jiān)谫~號(hào)和密碼中輸入相應(yīng)的內(nèi)容,賬號(hào)必須為數(shù)字!" else frmRes.submit end if end sub |
2,添加新用戶登陸的頁(yè)面代碼,這些代碼是用來(lái)處理cmdTijiao_onClick事件的,要求用戶輸入的賬號(hào)必須是數(shù)字,密碼和確定密碼必須相同,這個(gè)頁(yè)面的窗口的Action指向http://your/NewRes.asp,代碼如下:
sub cmdTijiao_onClick() if Not Numeric(frmNew.txtNum.value) or frmNew.txtPasswd.value<>frmNew.txtConfirm.value then Alert"輸入不正確,請(qǐng)重新輸入!" else frmNew.submit end if end sub |
3,創(chuàng)建ResJudge.asp文件,這個(gè)asp文件的主要功能就是打開存儲(chǔ)注冊(cè)信息的數(shù)據(jù)庫(kù),查找是否有與前面頁(yè)面提交的賬號(hào)和密碼相匹配的紀(jì)錄,如果有,就是注冊(cè)成功,同時(shí)也可以在數(shù)據(jù)庫(kù)中查找出這個(gè)用戶的相關(guān)信息來(lái),應(yīng)允許這個(gè)用戶進(jìn)入他所希望進(jìn)去的頁(yè)面,如果沒有則注冊(cè)失敗,整個(gè)代碼如下:
<html><head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <meta name="GENERATOR" content="Microsoft Fronpage 3.0"> <titile>注冊(cè)判斷</title></head> <body><% Num=Request.form("txtNum") "把前面窗口傳送來(lái)的內(nèi)容賦給Num和Passwd兩個(gè)字符串。 Passwd=Request.form("txtPasswd") dbname="Driver={Microsoft Access Driver(*.mdb)};DBQ="&Server.MapPath("\")"&"\ResDb\Res.mdb;" "dbname是打開數(shù)據(jù)庫(kù)要用的 set Cres=Server.CreateObject("ADODB.Connection") "以下是利用Connection對(duì)像和Recordset對(duì)象聯(lián)結(jié)數(shù)據(jù)庫(kù)并查找的代碼。 set res=Server.CreateObject("ADODB.Recordset") Cres.open dbname res.ActiveConnection=Cres res.source="Select*from res where 賬號(hào)="&Num&" and 密碼="&Passwd&";" res.open if res.BOF then "如果查找結(jié)果為空,那么就說(shuō)明注冊(cè)不正確,所以在頁(yè)面中顯示下面的文本/ %><p>注冊(cè)不正確, 請(qǐng)返回注冊(cè)頁(yè)面重新注冊(cè)?。?p> <% else “否則就說(shuō)明注冊(cè)成功,可以進(jìn)入瀏覽頁(yè)面! %> <!--#i nclude virtual="/success.htm"--> "這里采用了Server Side Include的方法,把允許瀏覽的頁(yè)面包含在這個(gè)文件里面! <% res.Close “ 關(guān)閉剛才打開的數(shù)據(jù)庫(kù)。 end if %> </body></html> |
4,創(chuàng)建 NewRes.asp文件,這個(gè)文件的主要功能是把新用戶的登陸信息存入數(shù)據(jù)庫(kù),代碼如下:
<html> <head> ?。糾eta http-equiv="Content-Type" content="text/html;charset=gb2312"> ?。糾eta name="GENERATOR" content="Microsoft frontpage 3.0"> <title>輸入數(shù)據(jù)庫(kù)</title> </head> <body> <!--#i nclude virtual="/adovbs.inc"> “這個(gè)被包含進(jìn)來(lái)的文件adovbs.inc是定義數(shù)據(jù)庫(kù)對(duì)象ADO常量的文件。 <% Num=Request.form("txtNum") “把前面主頁(yè)傳送過(guò)來(lái)的內(nèi)容賦給Num和Passwd兩個(gè)變量。 Passwd=Request.form("txtPasswd") Set res=Server.CreateObject("ADODB.Recordset") “打開數(shù)據(jù)庫(kù)。 dbname="Driver={Microsoft Access Driver(*.mdb)};DBQ="&ServerMapPath("\")&"\ResDb\Res.mdb;" sql="select*from res" res.open sql,dbName,adOpenKeyset,adLockOptimistic res.AddNew “添加新紀(jì)錄 res(1)=Num “res(1)代表數(shù)據(jù)庫(kù)中的第二個(gè)字段,存儲(chǔ)的是用戶的賬號(hào)。 res(2)=Passwd “res(2)代表數(shù)據(jù)庫(kù)中的第三個(gè)字段,存儲(chǔ)的是用戶的密碼。 res.Update “更新數(shù)據(jù)庫(kù)/ res.Close %> <p><b><font face=楷體_gb2312 size=5>您的賬號(hào)和密碼已經(jīng)注冊(cè)成功,您現(xiàn)在可以<a href="http://your/index.htm">進(jìn)入</a>了!</font></p> </body></html> |