15范例系统的设计与应用(二)15-1后台数据管理系统的组成15-2登录管理15-3系统信息设置15-4密码更改15-5币别信息管理15-6类别管理15-7产品上架15-8产品下架15-9产品信息修改ASP与SQL网站数据库程序设计456由于这个范例系统的子系统数量较多,笔者在篇幅的安排上,区分为“前台菜单系统”与“后台管理系统”。接着,在本章中将继续讨论后台系统如何运行。15-1后台数据管理系统的组成“后台管理系统”顾名思义,是用于管理系统运行相关信息的管理系统。但在本质上,仍离不开HTML标记、ASP程序语法、SQLQuery、ASP程序应用的各种对象。以下是组成这个系统所使用的程序名称、功能以及所使用的程序语言的摘要说明。后台管理系统的执行结果如下所示。图15-1后台管理系统的执行结果“Login.asp”:负责登录“后台管理系统”。“ChgPasswd.asp”:负责更改登录系统的帐号与密码。“SystemInfo.asp”:负责管理系统信息,如管理员信箱等。所使用的程序语言有:HTML标记、JavaScript,ASP,SQLQuery以及ADO对象等。“Currency.asp”:负责处理“币别信息”相关的新增、删除、修改及显示。所使用的程序语言有:HTML标记、CSS,JavaScript,ASP,SQLQuery,ADO对象以及CDO对象等,打开的表只有“币别信第15章范例系统的设计与应用(二)457息”。“AmdinClassify.asp”:负责处理“产品类别”相关的新增、删除、修改及显示。所使用的程序语言有:HTML标记、CSS,JavaScript,ASP,SQLQuery以及ADO对象等,打开的表有“币别信息”以及“产品类别”。“ProductCreate.asp”:负责建立新的产品信息。所使用的程序语言有:HTML标记、JavaScript,ASP,SQLQuery以及ADO对象等。打开的表有“产品基本信息”、“产品类别”以及“币别信息”。“ProductDelete.asp”:负责删除产品相关信息。所使用的程序语言有:HTML标记、JavaScript,ASP,SQLQuery以及ADO对象等。打开的表有:“产品基本信息”和“产品类别”。“ProductModify.asp”:负责产品相关信息的更新、修正等。所使用的程序语言有:HTML标记、JavaScript,ASP,SQLQuery以及ADO对象等。打开的表有:“产品基本信息”、“产品类别”以及“币别信息”。在后续的小节中,将要讨论这些子系统的运行流程。15-2登录管理一般来说,对于有前后台的网页应用程序而言,登录管理是必须的步骤。这个子系统将会用到“系统信息”表。以下便是如何登录“后台管理系统”的方式,以及密码的验证程序。图15-2登录的方式选择了上述图标后,即可见到如下所示的要求输入帐号以及密码的画面。ASP与SQL网站数据库程序设计458图15-3要求输入帐号以及密码程序内容01:%02:IfRequest.Form(Submits)=确定送出Then03:IfTrim(Request.Form(Account))=OrTrim(Request.Form(Passwd))=Then04:MainScreen05:Else06:CheckPasswd07:Endif08:Else09:MainScreen10:EndIf11:%12:13:%FunctionMainScreen%14:HTML15:HEAD第15章范例系统的设计与应用(二)45916:METANAME=GENERATORContent=MicrosoftVisualStudio6.017:TITLE/TITLE18:/HEAD19:BODY20:P /P21:P /P22:P /P23:FormMethod=Post24:TableBorder=1Width=240Align=Centerbgcolor='tan'25:Tr26:TdAlign=Center请输入相关信息!/Td27:/Tr28:Tr29:Td30:TableBorder=0Align=CenterBgColor=PaleTurquoise31:TrTd帐号/TdTdInputType=textSize=10Name=AccountMaxlength=10/Td/Tr32:TrTd密码/TdTdInputType=PasswordSize=16Name=PasswdMaxlength=16/Td/Tr33:TrTdColspan=234:InputType=SubmitName=SubmitsValue=确定送出35:InputType=ResetValue=清除重来36:/Td/Tr37:/Table38:/Td39:/Tr40:/Table41:/Form42:/BODY43:/HTMLASP与SQL网站数据库程序设计46044:%EndFunction%45:46:%47:FunctionCheckPasswd48:SetOBJConn=Server.CreateObject(ADODB.Connection)49:OBJConn.OpenTrade,test,test150:SQL=Select帐号,密码From系统信息51:SetRs=OBJConn.Execute(SQL)52:53:IfTrim(Request.Form(Account))=Rs.Fields(帐号)And_54:Trim(Request.Form(Passwd))=Rs.Fields(密码)Then55:Response.Redirect(/SystemAdmin.asp)56:Else57:Response.Redirect(/Login.asp)58:EndIf59:EndFunction60:%这个程序同样未指定HTMLForm标记的Action属性。事实上,这种做法有优点,同样的也有其缺点。优点:一个程序即自成一个功能完整的子系统。从程序的管理员角度来说,程序数量不会无限制地膨胀,如有流程修改,仅仅修改一个程序的内容即可。缺点:程序的内容趋于复杂化,实际维护不易。接着继续说明这个程序的运行方式:程序说明第13~44行:标准HTML文件的窗体模式。第53~58行:将用户输入的帐号及密码与“系统信息”表内的记录相比较。由于本段程序是从第6行直接调用的,因为在此之前并没有对浏览器输出任何的HTML标记,因而可以直接使用“Response.Redirect”方法将网页转向。第55行:如果输入的帐号及密码与表的记录相符,则直接将网页转向“/SystemAdmin.asp”。第15章范例系统的设计与应用(二)461第57行:如果输入的帐号及密码与表的记录不符,则直接将网页转向“/Login.asp”。这是一个非常典型的密码检查方式。这种检查方法有其优点也有其缺点:优点:程序代码非常少,程序逻辑非常简单。缺点:只要表记录外泄,所有信息都将不保。在Internet上容易被窃取帐号与密码(因为使用明码传输)。至于是否有其他更安全的传输方式呢?答案是肯定的,这些方式如下所示。至于做法则不在本书范围内,在此不多加讨论:采用SSL加密协议。采用JavaApplet。采用ActiveXOCX。15-3系统信息设置在整个范例系统的操作模式上,都是根据这个子系统所管理的数据而运行的,这个子系统将用到“系统信息”表。以下这个子系统的执行结果、程序内容以及程序说明如下所示。图15-4系统信息设定ASP与SQL网站数据库程序设计462SystemInfo.asp程序段01:%02:Response.Expires=003:SetOBJConn=Server.CreateObject(ADODB.Connection)04:OBJConn.OpenTrade,test,test105:%06:HTML07:HEAD08:09:%10:ifrequest.form(Submit)=修改确认then11:WriteDatas12:else13:SQL=Select*from系统信息14:OnErrorResumeNext15:SetRs=OBJConn.Execute(SQL)16:MailOut=rs.fields(邮件转发)17:CompanyName=Rs.fields(公司名称)18:CompanyAddress=rs.fields(公司地址)19:FullViewMethod=rs.Fields(全图预览方式)20:MailServer=rs.fields(邮件服务器)21:AdminEmail=rs.fields(管理员信箱)22:Telephone=rs.fields(电话)23:Fax=rs.fields(传真)24:SystemLogo=rs.Fields(商标文件名)25:ShowDetails26:endif27:%程序说明这段程序代码主要的作用在于执行情况的判断、表记录的取得等。在取得表记录的同时,会将特定字段的数值存放到指定的变量中。第15章范例系统的设计与应用(二)463SystemInfo.asp程序段29:%FunctionShowDetails%30:METANAME=GENERATORContent=MicrosoftVisualStudio6.031:TITLE系统信息管理/TITLE32:styleTYPE=text/css33:!--34:.tsize{font-size:10pt;color:white;letter-spacing:1pt;}35:.ChiDingtitle{font-size:16pt;color:#44FF00}36:.banner{font-size:9pt;color:blue;letter-spacing:1pt;}37:.banner1{font-size:9pt;color:blueviolet;letter-spacing:1pt;}38:a{text-decoration:none;}39:--40:/style41:/HEAD42:BODY43:centerclass=ChiDingTitle<系统信息设置>/center44:formmethod=post45:tableBorder=1border=0cellpadding=1cellspacing=1align=center46:tralign=leftbgcolor=CornflowerBlue47:tdclass=tsizewidth=80公司名称/td48:tdclass=tsizewidth=300inputtype=textname=CompanyNameValue=%=CompanyName%Size=50Maxlength=50/td49:/tr50:tralign=leftbgcolor=CornflowerBlue51:tdclass=tsizewidth=60公司地址/td52:tdclass=tsizewidth=300inputtype=textname=CompanyAddressValue=%=CompanyAddress%ASP与SQL网站数据库程序设计464Size=50Maxlength=50/td53:/tr54:tralign=leftbgcolor=CornflowerBlue55:tdclass=tsizewidth=60电话/td56:t