ASP网页编程之ASP情况下邮件列表功效的完成
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。邮件列表 为终究用户供应的功效次要由一个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商提供垂直型的应用服务,针对某一特定行业提供应用服务。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 那么,ASP.Net有哪些改进呢? 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
页:
[1]