ASP環境下郵件清單功能的實現 (三)(推薦)

來源:互聯網
上載者:User
郵件清單 在訪問管理頁面之前必須經過身分識別驗證。本實現中我們用圖3所示的secure.htm頁面供管理員輸入身份識別碼,若使用者輸入值非空則用Cookies來儲存它。執行管理工作的頁面是admin.asp,每當使用者試圖訪問這個頁面,下面的代碼將檢查這個Cookies與使用者身份識別碼(這裡是123456)是否匹配,如匹配失敗則將該使用者重新導向到輸入身份識別碼的secure.htm頁面。

   【圖3 ASPMailingList_3.gif】



 < %
    strPW1 = Request.Form("txtPW")
     if strPW1 < > "" then
         Response.Cookies("PassWord") = strPW1
     end if 'strPW1 < > ""
     strPW2 = Request.Cookies("PassWord")
     If strPW2 < > "123456" Then
         Response.Redirect("secure.htm")
     End if 'strPW2 < > "123456"
 %>

   一旦管理員的身分識別驗證通過,他們能夠通過Admin.asp執行的操作包括:

查看Guests表中的所有記錄
編輯或
刪除指定的記錄
向所有郵件清單中的使用者發送郵件
   管理頁面admin.asp如圖4所示。顯示Guests表的記錄時先從資料庫提取這些記錄,然後使用一個For Each ... Next結構遍曆記錄集的欄位集合,提取欄位名字並設定表格的表頭。在這個頁面中我們不再顯示Guest_ID欄位,但每個使用者記錄的前面都加上了一個“刪除”和“編輯”功能的連結。使用者名稱字欄位Guest_Name與郵件欄位Guest_Email被轉換為mailto連結,單擊名字可以單獨向該使用者發送郵件。其它要格式化的欄位還包括是否發送郵件(Mail_List)以及使用者留言(Guest_Comment)。產生表頭的代碼為:

   【圖4 ASPMailingList_4.gif】



 ' 從資料庫選取記錄
 strSQL_Select = "SELECT Guests.Guest_ID, Guests.Guest_Email, " & _
                " Guests.Guest_Name, Guests.Mail_List, " & _
                " Guests.Guest_Comment, Guests.Sign_Date " & _
                " FROM Guests ORDER BY Guests.Guest_Name; "
 Set oConn=Server.CreateObject("ADODB.Connection")
 oConn.Open strDSNPath
 Set rsGbook = oConn.Execute(strSQL_Select)
 if rsGbook.BOF = True and rsGbook.EOF = True then
    ...資料庫空提示,略...
    else
    rsGbook.MoveFirst
    %>
      < table BORDER="0" cellpadding="5" cellspacing="2" align="center">
         < tr>
      < % for each Head in rsGbook.Fields
          if Head.Name = "Guest_ID" then %>
            ..."刪除"與"編輯"表頭,略...
      < % else %>
             < td VALIGN="middle" align="center">< font face=Arial size=2>
      < % select case Head.Name
             case "Guest_Name"
                 Response.Write "名    字"
             case "Mail_List"
                 Response.Write "郵件清單"
             case "Guest_Comment"
                 Response.Write "留    言"
         end select
      %>
      < /font>< HR>< /td>
         < % end if 'Head.Name = "Guest_ID"
         next %>
       < /tr>

   為在表格的其餘位置顯示使用者註冊記錄,我們用兩個嵌套的迴圈遍曆所有記錄的所有欄位,即在一個Do While ...迴圈裡面嵌入一個For Each ... Next 迴圈。資料的格式化工作放在For Each ... Next迴圈內。其實現代碼類如:

 < % Do While Not rsGbook.EOF %>
    < tr>
 < % For Each Field in rsGbook.Fields
         if Field.Name = "Guest_ID" then %>
        < td VALIGN="middle" ALIGN="center">
            ...刪除功能的連結,略...
     



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.