ASP环境下邮件列表功能的实现
时间:2007-10-03 14:25:00
为最终用户提供的功能主要由一个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标记,从而使得系统不再向该用户发送邮件。下面是这部分功能的实现代码:
< %
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
0
投稿
猜你喜欢
SQL Server中链接服务器将替代远程服务器
2009-06-15 11:03:00
wxPython中listbox用法实例详解
2022-03-13 15:19:54
PyTorch梯度裁剪避免训练loss nan的操作
2022-02-16 10:56:23
Python使用pymongo库操作MongoDB数据库的方法实例
2023-06-04 06:20:22
SQL server高级应用 收藏版
2012-10-07 11:04:06
python函数map()和partial()的知识点总结
2023-10-04 14:58:11
python计算质数的6种方法
2023-11-06 10:22:27
python后端接收前端回传的文件方法
2023-07-29 04:04:05
js实现QQ邮箱邮件拖拽删除功能
2023-09-07 04:31:05
自动完成autoComplete
2011-01-17 18:01:00
深入分析python中整型不会溢出问题
2022-11-20 01:19:13
golang之数据验证validator的实现
2024-04-26 17:36:03
JS异步宏队列与微队列原理区别详解
2024-04-22 13:26:36
深入探讨opencv图像矫正算法实战
2022-06-03 16:20:39
关于mysql中的json解析函数JSON_EXTRACT
2024-01-23 18:29:41
Thinking XML: 创建 XML 的好建议
2008-05-29 11:25:00
python字符串的多行输出的实例详解
2021-06-25 20:59:45
Python面向对象之类的内置attr属性示例
2022-03-22 18:02:12
python二维键值数组生成转json的例子
2021-10-09 07:49:14
以图换字的几个方法及思路
2007-10-17 18:07:00