• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    會員系統“找回密碼”的制作方法

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網

    會員注冊以后,有些會員可能會遇到忘記登錄密碼的問題,因而網站具備“找回密碼”功能不僅是必須的,而且是服務貼心的具體表現之一。在此,levitian寫了一個“找回密碼”的小教程,供初學動態網站設計的朋友們借鑒,希望對大家有所幫助。

    ●相關說明:
    ·levitian假設您已經作好了會員系統,接下來準備作“找回密碼”功能但還沒有作,或者您不知道怎么作這個功能,那么剛好可以看看本教程。
    ·國內大多數服務器都支持Jmail郵件組件,因而levitian就使用該組件實現郵件發送功能;
    ·傳統的“找回密碼”功能要使用“密碼取回問題”和“密碼取回答案”等字段,但levitian認為大可不必這么繁瑣,反正最終目的是將密碼發進用戶的郵箱里,而用戶的郵箱只有自己可以收發郵件,那么以上這兩個字段就可以省略了。實際上只要填上用戶名和自己的郵箱,按“找回密碼”,啟動Jmail郵件組件把密碼發至用戶郵箱--就這么簡單!
    ·levitian用的是Dreamweaver MX,您用Dreamweaver UltraDev當然也沒問題了。
    ·本系統主要用到了DW服務器行為中的“登錄用戶”和“插入”菜單中的“文件頭標簽”中的“刷新”子功能。用戶不知道登錄密碼沒關系,他可以用自己的用戶名和郵箱找回密碼,但如果該用戶的郵箱是假的(胡填的),或根本沒有在自己的注冊資料中填郵箱,或者他輸入了別人的郵箱,那么他也就無法進入找回密碼的頁面,當然也就無法找回自己的密碼了~

    ●步驟一:制作相關的ASP頁面
    我們需要增加三個頁面,一個頁面是“找回密碼登錄頁面”,這里我命名為getbackpass.asp;另一個是“密碼發送成功報告頁面”,這里我命名為getbackpassok.asp;第三個頁面為郵箱不存在或用戶名不正確時顯示錯誤信息的頁面,這里我命名為getbackpassfail.asp。

    ●步驟二:在會員登錄頁面增加“找回密碼”文本型鏈接或圖片型鏈接
    在會員登錄界面中輸入文本“找回密碼”或者插入一張圖片,將其鏈接至找回密碼登錄頁面getbackpass.asp;如果您想把“找回密碼”鏈接放在其它頁面,當然沒問題了。

    ●步驟三:制作找回密碼登錄頁面getbackpass.asp
    ·打開找回密碼登錄頁面getbackpass.asp,建立表單域,插入兩個文本域,第一個命名為MemberName,第二個命名為MemberEmail(您的會員信息數據表中的會員姓名字段和會員郵箱字段如不是MemberName和MemberEmail,請修改成相應的字段名),接下來插入一個“按鈕”,命名為“取回密碼”。
    ·打開服務器行為面板,點擊“+”,選擇“用戶身份驗證”中的“登錄用戶”,在“登錄用戶”面板中,我主要說說以下項目的設置:
    使用連接驗證:我們選擇已經定義好的DSN連接
    表格:我們選擇會員注冊信息表單
    用戶名列:我們選擇MemberName
    密碼列:我們選擇MemberEmail
    如果登錄成功轉到:我們選擇getbackpassok.asp
    如果登錄失敗轉到:我們選擇getbackpassfail.asp
    基于以下項限制訪問:我們選擇“用戶名和密碼”
    OK!可以按“確定”按鈕了。
    ·加入表單驗證代碼
    為防止用戶不填表單就登錄,可加入以下代碼,讓用戶必須填寫內容:
    將DW切換到源代碼視圖,首先,將以下代碼加入<head> </head>之間:

    <script language="JavaScript">
    <!--
    function checkdata() {
    if (document.form1.MemberName.value=="") {
    window.alert ("請輸入用戶名 !")
    return false
    }
    if (document.form1.MemberEmail.value=="") {
    window.alert ("請輸入您的郵箱 !")
    return false
    }
    return true
    }
    //-->
    </script>

    接下來,在<form>標簽里插入以下代碼:onSubmit="return checkdata()"
    這樣,表單驗證就作好了。

    ●步驟四:制作密碼發送成功報告頁面getbackpassok.asp
    ·打開密碼發送成功報告頁面getbackpassok.asp,輸入文本“密碼已發至您的郵箱中,請查詢密碼后登錄本站!”
    ·建立數據集member,您當然可以用其它的數據集名稱:
    連接:一欄選擇您定義的DSN連接
    表格:一欄選擇會員信息數據表member
    列:一欄選定會員ID、用戶名、密碼和郵箱這四個字段
    篩選:MemberName=階段變量MM_Username
    排序:不用填
    至此,數據集就建立好了。在篩選里,我們之所以用階段變量(Session Variable),是因為我們需要篩選出找回密碼的用戶。使用DW服務器行為的“登錄用戶”行為以后,登錄者的名稱(數據庫中的MemberName字段)就自動保存在名為MM_Username的Session變量中。這們使用“MemberName=階段變量MM_Username”作為篩選條件,自然可以篩選出想找回密碼的用戶了。
    ·接下來我們加入Jmail郵件發送代碼。將Dreamweaver設計界面切換到顯示代碼視圖,找見如下代碼:
    <%
    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
    %>
    這是數據集形成的代碼,然后在倒數第二行,即%>上一行,插入以下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 = "尊敬的用戶您好,首先感謝您使用我們的服務!." & vbCrLf & vbCrLf
    JMail.Body = JMail.Body & "您的用戶名是:" &(member.Fields.Item("MemberName").Value) & vbCrLf
    JMail.Body = JMail.Body & "您的注冊郵箱是:" &(member.Fields.Item("MemberEmail").Value) & vbCrLf
    JMail.Body = JMail.Body & "您的登錄密碼是:" &(member.Fields.Item("Password").Value) & vbCrLf
    JMail.Body = JMail.Body & "請妥善保管您的密碼,如再次遺忘密碼,請登錄至http://www.emaichina.net/member/memberpage/getbackpass.asp 取回您的密碼,謝謝您使用本系統。" & vbCrLf
    JMail.Body = JMail.Body & "順祝商祺!" & vbCrLf
    JMail.Body = JMail.Body & "譯媒藝術咨詢有限公司"
    JMail.Priority = 3
    JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.Execute

    以上代碼簡單說明如下:
    JMail.ServerAddress= 后面填上您的SMTP服務器,如"mail.emaichina.net:25,千萬別忘了填端口號:25;
    JMail.Sender= 后面填上您的郵箱,如emai@emaichina.net,請確保此郵箱可以正常收發郵件;
    JMail.Subject = 后面輸入信件標題,如"您的登錄密碼",切記,文本之間一定要加上“"”;
    JMail.AddRecipient后面插入數據集member中的郵箱字段,如(member.Fields.Item("MemberEmail").Value);
    JMail.Body =后面輸入信件的稱謂部分,如: "尊敬的用戶您好,首先感謝您使用我們的服務!." & vbCrLf & vbCrLf
    JMail.Body = 后面開始輸入信件內容,如果是動態內容,那么插入數據集中的相應字段,如果是靜態內容,則直接輸入文本即可。每一段使用一個JMail.Body =,結尾都加上vbCrLf,有多少段就拷貝粘貼多少個JMail.Body =,這樣就可以寫出來一封完整的找回密碼回復信。
    關于vbCrLf說明:vbCrLf的作用是換行,您想空一行就加一個 vbCrLf,想空兩行就加兩個vbCrLf…但在vbCrLf和vbCrLf之間一定要加“&”符號將它們隔開,否則會出現錯誤提示。

    ●制作顯示錯誤信息頁面getbackpassfail.asp
    如果用戶名、密碼錯誤或用戶名和密碼根本不存在,那么系統會轉到顯示錯誤信息頁面,并且在2秒后自動返回“找回密碼登錄頁面”。下面是制作方法:
    打開getbackpassfail.asp,在頁面中輸入文本“您的郵箱不存在,請確認您在注冊資料中填寫了郵箱! ”,然后,打開DW軟件菜單中的→插入”→“文件頭標簽”→“刷新”,“延遲”填上2,就是2秒,如果您想讓頁面保持時間更長,也可以填3秒、5秒甚至10秒;“操作”選擇“轉到URL”,填上getbackpass.asp,這樣這個頁面2秒鐘后就會自動回到“找回密碼登錄頁面”了。
    OK!這個頁面就做好了,很簡單!

    ●測試這個找回密碼系統
    以上系統作好后,您可以測試一下。如果您在本地測試,并且不是用的Win98操作系統,那么需要安裝Jmail郵件組件(這個組件可去下載網站下載,是免費的);如果您用的是Win98操作系統或您的計算機中沒有安裝Jmail郵件組件,那么,可把這個系統上傳到支持Jmail郵件組件的服務器空間上,試著找回密碼,如果沒問題,說明您成功了。如果有問題,請仔細查看制作步驟或代碼有沒有錯誤,這里祝您好運!
    說明:學會“找回密碼系統”的制作方法后,您可以舉一反三作一個會員注冊后的郵件自動回復系統,也相當簡單,大家可以試一下。


    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>