第六章 會員登錄系統(tǒng)_第1頁
第六章 會員登錄系統(tǒng)_第2頁
第六章 會員登錄系統(tǒng)_第3頁
第六章 會員登錄系統(tǒng)_第4頁
第六章 會員登錄系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

實例1-會員登錄系統(tǒng)

學(xué)習(xí)要點:如何建立一個簡單的會員登錄系統(tǒng);掌握VBScript的相關(guān)知識的使用;掌握數(shù)據(jù)庫記錄的查詢、插入,修改;主要內(nèi)容

本例將介紹如何實現(xiàn)—個簡單的會員登錄系統(tǒng),其主要功能是實現(xiàn)會員的登錄、注冊和會員信息的管理。根據(jù)“會員登錄系統(tǒng)”的主要功能,我們設(shè)計其主要有以下主頁面,分別為“會員登錄”、“新會員注冊”、“會員信息管理”。利用數(shù)據(jù)庫記錄每一個會員的用戶名、密碼等基本信息。設(shè)定主頁外觀

步驟一:設(shè)定“會員登錄系統(tǒng)”登錄頁面的外觀,。這頁主要接受會員輸入的用戶名和密碼;另外還提供了新會員注冊和會員修改資料的鏈接。設(shè)定主頁外觀步驟二:

設(shè)計“新會員注冊”頁面的外觀

設(shè)定主頁外觀

步驟三:設(shè)計“修改會員資料”面頁外觀

,該頁面和新會員注冊頁面類似,只是先把會員的資料顯示出來,并且不能修改會員代號。設(shè)定主頁外觀步驟四:設(shè)計用戶成功登錄后的主頁面,以下頁面僅供參考:添加程序代碼

步驟一:首先添加“會員登錄系統(tǒng)”主頁的代碼。這里最核心的代碼是如何與數(shù)據(jù)庫建立連接,并查找該用戶名與密碼是否正確。<%ID=Request("txtID")pass=Request("txtpass")'檢查是否有空白字段IfID=""Orpass=""ThenResponse.Write"<title>檢驗用戶輸入的會員代號和密碼</title>"

ShowMessage"會員代號、密碼等數(shù)據(jù)未填寫哦!"EndIf‘根據(jù)會員代號和密碼驗證上網(wǎng)者是否本站的會員Setnewconn=Server.CreateObject("ADODB.Connection")DBPath=Server.MapPath("Member.mdb")newconn.Open"Driver={MicrosoftAccessDriver

(*.mdb)};DBQ="&DBPath

SQLcmd="Select*FromMemberWhereID='"&ID&"'Andpass='"&pass&"'"Setrs=newconn.Execute(SQLcmd)Ifrs.EOFThenResponse.Write"<title>檢驗用戶輸入的會員代號和密碼</title>"

ShowMessage"會員代號或密碼錯誤,請重新填寫!"Else'驗證無誤,將網(wǎng)頁重定向到網(wǎng)站的主頁Dongdong.htmResponse.Redirect"Dongdong.htm"EndIf%>添加程序代碼步驟二:添加“新會員注冊“頁面的程序代碼。該頁面主要是一系列的表單如文本框,單選鈕,及下拉式菜單,這里主要介紹下拉式菜單的代碼:‘制作月下拉式菜單<selectname="selmonth"><optionselected>1</option><%ForI=2To12%><option><%=I%></option><%Next%></select>月'制作天下拉式菜單<selectname="selday"><optionSelected>1</option><%ForI=2To31%><option><%=I%></option><%Next%></select>日‘制作教育程度下拉式菜單:<selectname="seleducation"><optionselected>大學(xué)/???lt;/option><%edu=Array("高中以下程度","高中/中專","大學(xué)以上")%><%ForI=0toUBound(edu)%><option><%=edu(I)%></option><%Next%></select>‘這里edu是一個數(shù)組,將除了默認(rèn)值以外的所有選項都放到數(shù)組中,然后再使用For…Next循環(huán)將它們設(shè)定為下拉菜單的選項添加程序代碼另外,還要設(shè)計一個表單處理程序,這一程序主要的工作是檢查新會員在注冊表中輸入的數(shù)據(jù),若數(shù)據(jù)無誤,則將其寫入數(shù)據(jù)庫中,其中的檢查工作包括:①字段是否空白,若有空白,則不接受。②所輸入的密碼是否超過規(guī)定的8個字符的長度。③所輸入的密碼和確認(rèn)的密碼是否一致。

④所輸入的電子郵件地址是否正確:若電子郵件地址中沒有@符號、@符號位于電子郵件地址的第一個字符或@符號位于電子郵件地址的最后一個字符,都算是錯誤的。⑤所輸入的出生日期是否正確:若輸入的年份不是全部由數(shù)字組成,或者出生日期大于今天的日期,都算是錯誤的。⑥所輸入的電話號碼是否全部由數(shù)字組成。⑦所輸入的會員代號是否已經(jīng)由別的會員使用。代碼如下:<%‘讀取表單各字段的數(shù)據(jù)并指定給所設(shè)定的變量ID=Request("txtID")pass=Request("txtpass")pass1=Request("txtpass1")name=Replace(Request("txtname"),"'","''")mail=Request("txtmail")sex=Request("radsex")year1=Request("txtyear")month1=Request("selmonth")day1=Request("selday")birthday=year1&"/"&month1&"/"&day1education=Request("seleducation")state=Request("selstate")tel=Request("txttel")'檢查字段是否空白IfID=""Orpass=""Orpass1=""Orname=""Ormail=""Oryear1=""Ortel=""Then

ShowMessage"新會員注冊表中的全部空格都要填寫哦!"EndIf‘檢查密碼的長度是否超過規(guī)定IfLen(pass)>8Then

ShowMessage"您所填寫的密碼超過了規(guī)定的8個字的長度!"EndIf‘檢查兩次輸入的密碼是否一致Ifpass<>pass1Then

ShowMessage"您所填寫的密碼和確認(rèn)密碼不一致!"EndIf‘檢查填寫的EMail是否有誤IfInStr(mail,"@")=0OrLeft(mail,1)="@"OrRight(mail,1)="@"Then

ShowMessage"您所填寫的電子郵件地址有錯誤!"EndIf‘檢查填寫的出生年月日是否有誤year2=IsNumeric(year1)Ifyear2=FalseThen

ShowMessage"您所填寫的出生日期有錯誤!"EndIfIfDate()<CDate(birthday)Then

ShowMessage"您所填寫的出生日期有錯誤!"EndIf‘檢查填寫的電話號碼是否是數(shù)字tel1=IsNumeric(tel)Iftel1=FalseThen

ShowMessage"您所填寫的電話號碼必須全是數(shù)字!"EndIf‘檢查填寫的會員代號是否已被人占用Setnewconn=Server.CreateObject("ADODB.Connection")DBPath=Server.MapPath("Member.mdb")newconn.Open"driver={MicrosoftAccessDriver(*.mdb)};DBQ="&DBPathSQLcmd="Select*FromMemberWhereID='"&ID&"'"Setrs=newconn.Execute(SQLcmd)IfNotrs.EOFThen‘這一會員代號已經(jīng)被占用

ShowMessage“這個“會員代號”已被占用!"Else‘將驗證無誤的會員資料添加到數(shù)據(jù)表Member

SQLcmd="InsertIntoMember(ID,pass,pass1,name,EMail,sex,birthday,"

SQLcmd=SQLcmd&"education,state,tel)Values('"&ID&"','"&pass&"','"&pass1&"',"

SQLcmd=SQLcmd&"'"&name&"','"&mail&"','"&sex&"','"&birthday&"',"

SQLcmd=SQLcmd&"'"&education&"','"&state&"',“&tel&")"

newconn.Execute

SQLcmdEndIf%>在上面的程序中還多次調(diào)用以下過程以提示出錯信息:<%SubShowMessage(message)Response.Write"<center><h3><img

src=say.gif>"&message&"</h3>"Response.Write“<ahref=Add.asp>返回上一頁</a></center>"Response.EndEndSub%>添加程序代碼步驟三:設(shè)計資料管理頁面,該頁面同登錄頁面類似(如圖)這里不做介紹。添加程序代碼步驟四:設(shè)計修改資料管理頁面,該頁面同新用戶注冊頁面類似,只是先將會員信息顯示在該頁面,并且將會員代碼設(shè)計為不可修改,如下:<%=rs("ID")%>(會員代號不能修改)<inputtype="hidden"name="txtID"value="<%=rs("ID")%>">為了避免上網(wǎng)者修改“會員代號”(ID字段的值),我們將其直接顯示在網(wǎng)頁上。其它代碼可參考新用戶注冊頁面。添加程序代碼步驟五:設(shè)計處理修改資料管理頁面,該頁面同新用戶注冊時處理頁面類似,只是當(dāng)數(shù)據(jù)被驗證無誤后,程序會使用如下的UpDate命令來對數(shù)據(jù)表Member中的記錄進行更新,而不是使用insertinto將數(shù)據(jù)添加到數(shù)據(jù)庫中,其它代碼類似,這里不再介紹。運行效果

運行時,首先進入“會員登錄“頁面運行效果

輸入正確的會員代碼和密碼后進入主頁面運行效果

在“登錄頁面”新會員注冊出現(xiàn)以下畫面運行效果

注冊成功后出現(xiàn)以下畫面

運行效果

如果填寫注冊時沒有按照要求會出現(xiàn)以下等畫面

運行效果

在“登錄頁面”中點擊“修改會員資料”出現(xiàn)以下畫面

運行效果

在上一畫面中輸入正確的會員代碼和密碼后出現(xiàn)以下類似畫面運行效果

修改完畢后出現(xiàn)以下畫面實例注釋和詳解

1、關(guān)于數(shù)據(jù)庫記錄的查找:利用select語句查詢對應(yīng)的記錄,如果記錄集rs的EOF屬性值為FALSE則該記錄在數(shù)據(jù)庫中存在;反之,如果記錄集rs的EOF屬性值為TRUE則該記錄在數(shù)據(jù)庫中不存在。

實例注釋和詳解

2、showmessage()子過程在整個程序中多次用到該子過程,該定義子過程的目的是當(dāng)用戶沒有根據(jù)要求輸入或輸入錯誤等時提示用戶出錯信息。例如:當(dāng)用戶在“登錄系統(tǒng)”頁面中未填任何數(shù)據(jù)時我們可用該子過程:ShowMessage“會員代號、密碼等數(shù)據(jù)未填寫哦!”

用戶就能清晰的看到出錯提示如下:實例注釋和詳解3、在制作表單時我們使用了下拉式菜單如“所在省份”的下拉菜單,先把所有地區(qū)名放入一數(shù)組然后通過循環(huán)來輸出到下拉菜單中:<%ForI=0ToUBound(sta)%><option><%=sta(I)%></option><%Next%>實例注釋和詳解4、在處理注冊信息時有幾條較為難理解的程序解釋如下:①name=Replace(Request("txtname"),"'","’’")使用Request對象取得表單中字段txtname的數(shù)據(jù),并使用Replace函數(shù)將數(shù)據(jù)中的單引號替換為雙引號,然后指定給name變量,以防止SQL命令發(fā)生錯誤。實例注釋和詳解②birthday=year1&"/"&month1&"/"&day1使用連接符號&,將year1、month1、day1三個變量設(shè)定成日期類型的格式,然后再指定給birthday變量。實例注釋和詳解③year2=IsNumeric(year1)使用IsNumeric函數(shù)判斷year1變量是否是數(shù)字(若為數(shù)字返回True,否則返回False),并將返回值指定給year2變量。實例注釋和詳解④

InStr(mail,"@")=0OrLeft(mail,1)="@"OrRight(mail,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論