相關(guān)資訊
- 《戰(zhàn)國(guó)無(wú)雙4-2》怎么換服裝?戰(zhàn)國(guó)無(wú)
- 關(guān)于責(zé)任的名言警句大全
- 《戰(zhàn)國(guó)無(wú)雙4-2》PC版如何聯(lián)機(jī)? 戰(zhàn)
- 戰(zhàn)國(guó)無(wú)雙4-2技能覺(jué)醒牛逼嗎 全新
- 《戰(zhàn)國(guó)無(wú)雙4-2》手柄無(wú)效怎么解決
- 戰(zhàn)國(guó)無(wú)雙4-2如何設(shè)置語(yǔ)言 戰(zhàn)國(guó)無(wú)雙
- 戰(zhàn)國(guó)無(wú)雙4-2怎么樣跳過(guò)進(jìn)入開(kāi)場(chǎng)動(dòng)畫
- 什么是應(yīng)屆生畢業(yè)生
- 應(yīng)屆生簡(jiǎn)歷自我評(píng)價(jià)
- 應(yīng)屆生簡(jiǎn)歷怎么寫
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416896
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
這篇文章跟大家一起分享學(xué)習(xí)的是關(guān)于如何利用ASP實(shí)現(xiàn)會(huì)員系統(tǒng)“找回密碼”功能,正在建設(shè)個(gè)人網(wǎng)站的朋友可以進(jìn)來(lái)看看。
會(huì)員注冊(cè)以后,有些會(huì)員可能會(huì)遇到忘記登錄密碼的問(wèn)題,因而網(wǎng)站具備“找回密碼”功能不僅是必須的,而且是服務(wù)貼心的具體表現(xiàn)之一。在此,levitian寫了一個(gè)“找回密碼”的小教程,供初學(xué)動(dòng)態(tài)網(wǎng)站設(shè)計(jì)的朋友們借鑒,希望對(duì)大家有所幫助。
●相關(guān)說(shuō)明:
·levitian假設(shè)您已經(jīng)作好了會(huì)員系統(tǒng),接下來(lái)準(zhǔn)備作“找回密碼”功能但還沒(méi)有作,或者您不知道怎么作這個(gè)功能,那么剛好可以看看本教程。
·國(guó)內(nèi)大多數(shù)服務(wù)器都支持Jmail郵件組件,因而levitian就使用該組件實(shí)現(xiàn)郵件發(fā)送功能;
·傳統(tǒng)的“找回密碼”功能要使用“密碼取回問(wèn)題”和“密碼取回答案”等字段,但levitian認(rèn)為大可不必這么繁瑣,反正最終目的是將密碼發(fā)進(jìn)用戶的郵箱里,而用戶的郵箱只有自己可以收發(fā)郵件,那么以上這兩個(gè)字段就可以省略了。實(shí)際上只要填上用戶名和自己的郵箱,按“找回密碼”,啟動(dòng)Jmail郵件組件把密碼發(fā)至用戶郵箱--就這么簡(jiǎn)單!
·levitian用的是dreamweaver MX,您用Dreamweaver UltraDev當(dāng)然也沒(méi)問(wèn)題了。
·本系統(tǒng)主要用到了DW服務(wù)器行為中的“登錄用戶”和“插入”菜單中的“文件頭標(biāo)簽”中的“刷新”子功能。用戶不知道登錄密碼沒(méi)關(guān)系,他可以用自己的用戶名和郵箱找回密碼,但如果該用戶的郵箱是假的(胡填的),或根本沒(méi)有在自己的注冊(cè)資料中填郵箱,或者他輸入了別人的郵箱,那么他也就無(wú)法進(jìn)入找回密碼的頁(yè)面,當(dāng)然也就無(wú)法找回自己的密碼了~
●步驟一:制作相關(guān)的ASP頁(yè)面
我們需要增加三個(gè)頁(yè)面,一個(gè)頁(yè)面是“找回密碼登錄頁(yè)面”,這里我命名為getbackpass.asp;另一個(gè)是“密碼發(fā)送成功報(bào)告頁(yè)面”,這里我命名為getbackpassok.asp;第三個(gè)頁(yè)面為郵箱不存在或用戶名不正確時(shí)顯示錯(cuò)誤信息的頁(yè)面,這里我命名為getbackpassfail.asp。
●步驟二:在會(huì)員登錄頁(yè)面增加“找回密碼”文本型鏈接或圖片型鏈接
在會(huì)員登錄界面中輸入文本“找回密碼”或者插入一張圖片,將其鏈接至找回密碼登錄頁(yè)面getbackpass.asp;如果您想把“找回密碼”鏈接放在其它頁(yè)面,當(dāng)然沒(méi)問(wèn)題了。
●步驟三:制作找回密碼登錄頁(yè)面getbackpass.asp
·打開(kāi)找回密碼登錄頁(yè)面getbackpass.asp,建立表單域,插入兩個(gè)文本域,第一個(gè)命名為MemberName,第二個(gè)命名為MemberEmail(您的會(huì)員信息數(shù)據(jù)表中的會(huì)員姓名字段和會(huì)員郵箱字段如不是MemberName和MemberEmail,請(qǐng)修改成相應(yīng)的字段名),接下來(lái)插入一個(gè)“按鈕”,命名為“取回密碼”。
·打開(kāi)服務(wù)器行為面板,點(diǎn)擊“+”,選擇“用戶身份驗(yàn)證”中的“登錄用戶”,在“登錄用戶”面板中,我主要說(shuō)說(shuō)以下項(xiàng)目的設(shè)置:
使用連接驗(yàn)證:我們選擇已經(jīng)定義好的DSN連接
表格:我們選擇會(huì)員注冊(cè)信息表單
用戶名列:我們選擇MemberName
密碼列:我們選擇MemberEmail
如果登錄成功轉(zhuǎn)到:我們選擇getbackpassok.asp
如果登錄失敗轉(zhuǎn)到:我們選擇getbackpassfail.asp
基于以下項(xiàng)限制訪問(wèn):我們選擇“用戶名和密碼”
OK!可以按“確定”按鈕了。
·加入表單驗(yàn)證代碼
為防止用戶不填表單就登錄,可加入以下代碼,讓用戶必須填寫內(nèi)容:
將DW切換到源代碼視圖,首先,將以下代碼加入<head> </head>之間:
<script language="java script">
<!--
function checkdata() {
if (document.form1.MemberName.value=="") {
window.alert ("請(qǐng)輸入用戶名 !")
return false
}
if (document.form1.MemberEmail.value=="") {
window.alert ("請(qǐng)輸入您的郵箱 !")
return false
}
return true
}
//-->
</script>
接下來(lái),在<form>標(biāo)簽里插入以下代碼:onSubmit="return checkdata()"
這樣,表單驗(yàn)證就作好了。
●步驟四:制作密碼發(fā)送成功報(bào)告頁(yè)面getbackpassok.asp
·打開(kāi)密碼發(fā)送成功報(bào)告頁(yè)面getbackpassok.asp,輸入文本“密碼已發(fā)至您的郵箱中,請(qǐng)查詢密碼后登錄本站!”
·建立數(shù)據(jù)集member,您當(dāng)然可以用其它的數(shù)據(jù)集名稱:
連接:一欄選擇您定義的DSN連接
表格:一欄選擇會(huì)員信息數(shù)據(jù)表member
列:一欄選定會(huì)員ID、用戶名、密碼和郵箱這四個(gè)字段
篩選:MemberName=階段變量MM_Username
排序:不用填
至此,數(shù)據(jù)集就建立好了。在篩選里,我們之所以用階段變量(Session Variable),是因?yàn)槲覀冃枰Y選出找回密碼的用戶。使用DW服務(wù)器行為的“登錄用戶”行為以后,登錄者的名稱(數(shù)據(jù)庫(kù)中的MemberName字段)就自動(dòng)保存在名為MM_Username的Session變量中。這們使用“MemberName=階段變量MM_Username”作為篩選條件,自然可以篩選出想找回密碼的用戶了。
·接下來(lái)我們加入Jmail郵件發(fā)送代碼。將Dreamweaver設(shè)計(jì)界面切換到顯示代碼視圖,找見(jiàn)如下代碼:
<%
Dim member__MMColParam
member__MMColParam = "1"
If (Session("MM_Username") <> "") Then
member__MMColParam = Session("MM_Username")
End If
%>
<%
set member = Server.CreateObject("ADODB.Recordset")
member.ActiveConnection = MM_spsguavaskirtdate_STRING
member.Source = "SELECT MemberID, MemberName, Password, MemberEmail FROM Member WHERE MemberName = '" + Replace(member__MMColParam, "'", "''") + "'"
member.CursorType = 0
member.CursorLocation = 2
member.LockType = 3
member.Open()
member_numRows = 0
%>
這是數(shù)據(jù)集形成的代碼,然后在倒數(shù)第二行,即%>上一行,插入以下Jmail組件代碼:
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.emaichina.net:25"
JMail.Sender = "emai@emaichina.net"
JMail.Subject = "您的登錄密碼"
JMail.AddRecipient(member.Fields.Item("MemberEmail").Value)
JMail.Body = "尊敬的用戶您好,首先感謝您使用我們的服務(wù)!." & VBCrLf & vbCrLf
JMail.Body = JMail.Body & "您的用戶名是:" &(member.Fields.Item("MemberName").Value) & vbCrLf
JMail.Body = JMail.Body & "您的注冊(cè)郵箱是:" &(member.Fields.Item("MemberEmail").Value) & vbCrLf
JMail.Body = JMail.Body & "您的登錄密碼是:" &(member.Fields.Item("Password").Value) & vbCrLf
JMail.Body = JMail.Body & "請(qǐng)妥善保管您的密碼,如再次遺忘密碼,請(qǐng)登錄至http://www.emaichina.net/member/memberpage/getbackpass.asp 取回您的密碼,謝謝您使用本系統(tǒng)。" & vbCrLf
JMail.Body = JMail.Body & "順祝商祺!" & vbCrLf
JMail.Body = JMail.Body & "譯媒藝術(shù)咨詢有限公司"
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute
以上代碼簡(jiǎn)單說(shuō)明如下:
JMail.ServerAddress= 后面填上您的SMTP服務(wù)器,如"mail.emaichina.net:25,千萬(wàn)別忘了填端口號(hào):25;
JMail.Sender= 后面填上您的郵箱,如emai@emaichina.net,請(qǐng)確保此郵箱可以正常收發(fā)郵件;
JMail.Subject = 后面輸入信件標(biāo)題,如"您的登錄密碼",切記,文本之間一定要加上“"”;
JMail.AddRecipient后面插入數(shù)據(jù)集member中的郵箱字段,如(member.Fields.Item("MemberEmail").Value);
JMail.Body =后面輸入信件的稱謂部分,如: "尊敬的用戶您好,首先感謝您使用我們的服務(wù)!." & vbCrLf & vbCrLf
JMail.Body = 后面開(kāi)始輸入信件內(nèi)容,如果是動(dòng)態(tài)內(nèi)容,那么插入數(shù)據(jù)集中的相應(yīng)字段,如果是靜態(tài)內(nèi)容,則直接輸入文本即可。每一段使用一個(gè)JMail.Body =,結(jié)尾都加上vbCrLf,有多少段就拷貝粘貼多少個(gè)JMail.Body =,這樣就可以寫出來(lái)一封完整的找回密碼回復(fù)信。
關(guān)于vbCrLf說(shuō)明:vbCrLf的作用是換行,您想空一行就加一個(gè) vbCrLf,想空兩行就加兩個(gè)vbCrLf…但在vbCrLf和vbCrLf之間一定要加“&”符號(hào)將它們隔開(kāi),否則會(huì)出現(xiàn)錯(cuò)誤提示。
●制作顯示錯(cuò)誤信息頁(yè)面getbackpassfail.asp
如果用戶名、密碼錯(cuò)誤或用戶名和密碼根本不存在,那么系統(tǒng)會(huì)轉(zhuǎn)到顯示錯(cuò)誤信息頁(yè)面,并且在2秒后自動(dòng)返回“找回密碼登錄頁(yè)面”。下面是制作方法:
打開(kāi)getbackpassfail.asp,在頁(yè)面中輸入文本“您的郵箱不存在,請(qǐng)確認(rèn)您在注冊(cè)資料中填寫了郵箱! ”,然后,打開(kāi)DW軟件菜單中的→插入”→“文件頭標(biāo)簽”→“刷新”,“延遲”填上2,就是2秒,如果您想讓頁(yè)面保持時(shí)間更長(zhǎng),也可以填3秒、5秒甚至10秒;“操作”選擇“轉(zhuǎn)到URL”,填上getbackpass.asp,這樣這個(gè)頁(yè)面2秒鐘后就會(huì)自動(dòng)回到“找回密碼登錄頁(yè)面”了。
OK!這個(gè)頁(yè)面就做好了,很簡(jiǎn)單!
●測(cè)試這個(gè)找回密碼系統(tǒng)
以上系統(tǒng)作好后,您可以測(cè)試一下。如果您在本地測(cè)試,并且不是用的Win98操作系統(tǒng),那么需要安裝Jmail郵件組件(這個(gè)組件可去下載網(wǎng)站下載,是免費(fèi)的);如果您用的是Win98操作系統(tǒng)或您的計(jì)算機(jī)中沒(méi)有安裝Jmail郵件組件,那么,可把這個(gè)系統(tǒng)上傳到支持Jmail郵件組件的服務(wù)器空間上,試著找回密碼,如果沒(méi)問(wèn)題,說(shuō)明您成功了。如果有問(wèn)題,請(qǐng)仔細(xì)查看制作步驟或代碼有沒(méi)有錯(cuò)誤,這里祝您好運(yùn)!
說(shuō)明:學(xué)會(huì)“找回密碼系統(tǒng)”的制作方法后,您可以舉一反三作一個(gè)會(huì)員注冊(cè)后的郵件自動(dòng)回復(fù)系統(tǒng),也相當(dāng)簡(jiǎn)單,大家可以試一下。