当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP环境下邮件列表功能的实现 (二)

ASP
ASP里面令人震撼地Debug类(VBScript)
提供个 全免杀海洋2006asp木马 下载
VBS加密免杀器 下载
asp页面下的乱码问题终于解决了
一款不错的asp木马 黑色界面
七步倒┈→专用asp后门
ASP对网页进行保护的简单代码 ip
asp遍历站点所有文件夹的代码
用js实现QQ在线查询功能
非常不错的ASP+Access数据库的终极安全大法18则
万能Asp防注入代码 拒绝攻击
用asp实现把文件打包成Xml文件包,带解包的ASP工具附下载
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
asp字符串加密解密函数
asp adodb.stream对象的方法/属性
asp rs.open sql,conn,3,1中3,1代表什么?
推荐ASP中VBScript常用函数
ASP的Global.asa使用说明
ASP七大对象说明分析
ASP网站生成静态html页面技术小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 175 ::
收藏到网摘: n/a

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