ASP環境下郵件清單功能的實現 (二)

來源:互聯網
上載者:User
為終端使用者提供的功能主要由一個HTML檔案和兩個ASP檔案提供,它們負責接受使用者的訂閱申請以及退出郵件清單申請。

   使用者的個人資訊在圖1所示的登記表單中輸入,其實現檔案是homepage.htm。當使用者提交表單,系統對使用者輸入資料進行必要的驗證,然後把它們儲存到資料庫並提示註冊成功資訊。這部分功能可以在signbook.asp檔案找到,下面的代碼用於將使用者輸入資料儲存到資料庫:


  ' 如果使用者輸入資料驗證通過則將它儲存到資料庫
  if blnValid = True then
  ' 在資料庫中插入新記錄
  strSQL_Insert = "INSERT INTO Guests ( Guest_Name, Guest_Email, " & _
 " Mail_List, Guest_Comment )" & _
  " VALUES ('" & strName & "', '" & strEmail & _
  "', '" & blnMailList & "', '" & strComments & "');"
  Set oConn=Server.CreateObject("ADODB.Connection")
  oConn.Open strDSNPath
  On error resume next
  oConn.Execute strSQL_Insert
  oConn.Close
  Set oConn = Nothing
  ' 記錄插入是否成功
  if err.number < > 0 then
  ' 出現錯誤
  strValid = ...資料庫操作錯誤提示資訊,略...
  else
  '記錄插入成功
  strValid = ...註冊成功提示資訊,略...
  end if 'err.number < > 0
  else '使用者輸入資料錯誤
  strValid = ...使用者輸入資料錯誤提示,略...
  end if 'blnValid = True

   這些代碼實現了面向終端使用者的第一個功能:將個人資訊註冊到登記簿並將使用者加入到郵件清單。

   每一個從郵件清單內送郵件的使用者可以在郵件的最後發現一個連結(類如http://www.mycompany.com/unsubscribe.asp),以及使用者ID和郵件帳號的提示。單擊這個連結可以訪問取消訂閱的unsubscribe.asp頁面,其介面如圖2所示。當使用者提供了正確的Email地址和ID號,unsubscribe.asp中的指令碼修改該使用者註冊記錄的Mail_List標記,從而使得系統不再向該使用者發送郵件。下面是這部分功能的實現代碼:

   【圖2 ASPMailingList_2.gif】



 < %
 if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  iGuestID = Request.Form("txtID")
  sGuestEmail = Request.Form("txtEmail")
  if iGuestID < > "" and sGuestEmail < > "" then
  '在資料庫中更新使用者記錄
  strSQL_UnSubs = "UPDATE Guests SET Guests.Mail_List=" & 0 & _
  " WHERE Guests.Guest_ID=" & iGuestID & _
  " AND Guests.Guest_Email='" & sGuestEmail & "';"
  Set oConn = Server.CreateObject("ADODB.Connection")
  oConn.Open strDSNPath
  oConn.Execute strSQL_UnSubs, iUpdates
  on error resume next
  oConn.Close
  Set oConn = Nothing
  if err.number < > 0 then
  sError = ...SQL語句執行失敗提示資訊, 略...
  else
  if iUpdates < > 0 then
  sError = ...取消訂閱成功提示資訊,略...
  else
  sError = ...不能找到資料庫記錄提示資訊,略...
  end if 'iUpdates < > 0
  end if 'err.number < > 0
  else
  Response.Redirect("homepage.htm")
  end if 'iGuestID < > ""
 end if 'REQUEST_METHOD = "POST"
 %>

   執行SQL命令時提供的iUpdates變數反映了該SQL語句所影響的記錄數。如果該值為0,即可假定使用者沒有正確地輸入ID或Email地址。上述代碼實現了面向使用者的第二個功能,接下來我們要實現的是登記簿的管理功能。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.