快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP环境下邮件列表功能的实现 (二)

为最终用户提供的功能主要由一个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地址。上述代码实现了面向用户的第二个功能,接下来我们要实现的是登记簿的治理功能。


返回类别: 教程
上一教程: 关于IIS连接数和在线人数的具体说明
下一教程: 开发者面临的.Net挑战(三)

您可以阅读与"ASP环境下邮件列表功能的实现 (二)"相关的教程:
· ASP环境下邮件列表功能的实现 (二)
· ASP环境下邮件列表功能的实现 (四)(推荐)
· ASP环境下邮件列表功能的实现 (四)
· ASP环境下邮件列表功能的实现 (二)(推荐)
· ASP环境下邮件列表功能的实现 (一)
    微笑服务 优质保证 索取样品