分享
 
 
 

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

王朝asp·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有