当前位置:首页>>开发编程>>ASP>>新闻内容  |虚拟主机 主机托管
ASP环境下邮件列表功能的实现
作者: 发布时间:2006-12-13 11:25:05 | 【字体:
    为最终用户提供的功能主要由一个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地址。上述代码实现了面向用户的第二个功能,接下来我们要实现的是登记簿的管理功能。
文章来源:
·ASP的escape和unescape函数
·使用AspUpload组件上传事例代码
·Godaddy虚拟主机使用AspUpload组件的方法
·怎样解决ASP图片上传漏洞的方法
·ASP里面的四舍五入函数Round和FormatNumber
·ASP 程序实现自动升级功能
·chr码值对应列表大全
·用正则表达式搜索网页手机号码和Email
·ASP在线转flv+所略图+flash在线录制视频
·让163网易相册QQ相册里的照片也能外链
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我