|
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相册里的照片也能外链
|