?。ㄒ唬?,設(shè)定注冊(cè)頁面的外觀:

  在這個(gè)例子中涉及了五個(gè)頁面,其中有三幅是一般的htm文件,另外的兩幅是asp文件,在這里制作利用的工具是frontpage98,但是大部分的asp代碼還是要自己輸入的:


  1,設(shè)定原來已經(jīng)注冊(cè)的用戶進(jìn)入的外觀:在這里設(shè)置了兩個(gè)文本框,一個(gè)超級(jí)鏈接和兩個(gè)按鈕。兩個(gè)文本框分別用來輸入帳號(hào)(txtNum)和密碼(txtPasswd),超級(jí)鏈接(New)鏈接到新用戶進(jìn)行注冊(cè)的頁面,兩個(gè)按鈕是用來提交和清除的,用來清除的按鈕(cmdReset)直接選擇為Reset類型,不過用來提交的按鈕(cmdTijiao)并不要選擇為Submit類型,而選擇的是Normal類型,這是為了在這個(gè)按鈕的onClick事件中添加代碼,并且判斷用戶的輸入是否合法!

  2,設(shè)定新用戶登陸的頁面外觀:一般都是要新用戶輸入帳號(hào),密碼,姓名,及相關(guān)的一些信息,在這里我們有五個(gè)文本框,一個(gè)下拉式列表框和兩個(gè)按鈕,五個(gè)文本框就分別是讓用戶輸入姓名,email,帳號(hào),密碼,確定密碼。但是其中只有用來輸入帳號(hào),密碼和確定密碼的文本框有名字,分別為txtNum,txtPasswd和txtConfirm。提交按鈕的名字為cmdTijiao

  3,這一步當(dāng)然是設(shè)定注冊(cè)成功后用戶所進(jìn)的頁面了,這就由大家決定吧:)

  (二),添加程序代碼:

  1,首先添加原來已經(jīng)注冊(cè)用戶頁面的代碼,它主要是處理cmdTijiao_onClick事件,并且判斷用戶的輸入是否合法,在這個(gè)例子中要求帳號(hào)必須是數(shù)字,密碼不能為空,代碼如下,其中frmRes是這個(gè)頁面中窗口的名字,窗口的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,添加新用戶登陸的頁面代碼,這些代碼是用來處理cmdTijiao_onClick事件的,要求用戶輸入的帳號(hào)必須是數(shù)字,密碼和確定密碼必須相同,這個(gè)頁面的窗口的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ù)庫,查找是否有與前面頁面提交的帳號(hào)和密碼相匹配的紀(jì)錄,如果有,就是注冊(cè)成功,同時(shí)也可以在數(shù)據(jù)庫中查找出這個(gè)用戶的相關(guān)信息來,應(yīng)允許這個(gè)用戶進(jìn)入他所希望進(jìn)去的頁面,如果沒有則注冊(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") "把前面窗口傳送來的內(nèi)容賦給Num和Passwd兩個(gè)字符串。
Passwd=Request.form("txtPasswd")
dbname="Driver={Microsoft Access Driver(*.mdb)};DBQ="&Server.MapPath("\")"&"\ResDb\Res.mdb;" "dbname是打開數(shù)據(jù)庫要用的
set Cres=Server.CreateObject("ADODB.Connection") "以下是利用Connection對(duì)像和Recordset對(duì)象聯(lián)結(jié)數(shù)據(jù)庫并查找的代碼。
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é)果為空,那么就說明注冊(cè)不正確,所以在頁面中顯示下面的文本/
%><p>注冊(cè)不正確, 請(qǐng)返回注冊(cè)頁面重新注冊(cè)!</p>
<%
else “否則就說明注冊(cè)成功,可以進(jìn)入瀏覽頁面!
%>
<!--#Include virtual="/success.htm"--> "這里采用了Server Side Include的方法,把允許瀏覽的頁面包含在這個(gè)文件里面!
<% res.Close “ 關(guān)閉剛才打開的數(shù)據(jù)庫。
end if %>
</body></html>

  4,創(chuàng)建 NewRes.asp文件,這個(gè)文件的主要功能是把新用戶的登陸信息存入數(shù)據(jù)庫,代碼如下:

<html>
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
?。糾eta name="GENERATOR" content="Microsoft frontpage 3.0">
?。紅itle>輸入數(shù)據(jù)庫</title>
</head>
<body>
<!--#Include virtual="/adovbs.inc">
 “這個(gè)被包含進(jìn)來的文件adovbs.inc是定義數(shù)據(jù)庫對(duì)象ADO常量的文件。
<%
 Num=Request.form("txtNum") “把前面主頁傳送過來的內(nèi)容賦給Num和Passwd兩個(gè)變量。
 Passwd=Request.form("txtPasswd")
 Set res=Server.CreateObject("ADODB.Recordset") “打開數(shù)據(jù)庫。
 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ù)庫中的第二個(gè)字段,存儲(chǔ)的是用戶的帳號(hào)。
 res(2)=Passwd “res(2)代表數(shù)據(jù)庫中的第三個(gè)字段,存儲(chǔ)的是用戶的密碼。
 res.Update “更新數(shù)據(jù)庫/
 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>
標(biāo)簽:

相關(guān)文章

隨機(jī)推薦