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

ASP
嵌入式Web视频点播系统实现方法
GB与BIG5内码转换COM原代码
金额阿拉伯数字转换为中文的存储过程
利用 WSH 作定时工作流程
用InstallShield 进行 ASP 软件的打包和自动安装
服务器获得客户端时间的方法
关于如何读出图片的高度与长度的总结
按下回车键指向下一个位置的一个函数
一个不错的随机函数
一套加解密字符串的函数
一段加密函数(base64)
一段加密函数
使用asp实现支持附件的邮件系统(三)
使用asp实现支持附件的邮件系统(二)
使用asp实现支持附件的邮件系统(一)
检查当前目录下是否存在指定的文件,如果存在就重新命名
MD5加密的javascript实现例子
如何在服务器端调用winzip命令行对上传的多个文件打包压缩
MD5不可逆加密算法的ASP实现实例
看人家用使用InstallShield制作ASP安装程序(6)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 220 ::
收藏到网摘: 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地址。上述代码实现了面向用户的第二个功能,接下来我们要实现的是登记簿的管理功能。