清单
图4-9支付订单提交页面
图4-10执行网上支付的页面
(2)实现方法:
当用户开始购物时,就进入了main.asp。main.asp实现的主要功能是显示用户所选择商品的信息,我采用的方法是数据库的遍历。如main.asp代码所示,首先查看所选的商品类型在商品明细数据表(subs表)中是否存在,如果存在则遍历所有类型为此的商品,这里采用循环的方式遍历数据库。由于ADO数据库组件所生成的数据集SET对象r记录了所得数据行的数目,所以可以使用for循环的方式(forii=1tors1.recordcount)顺序显示出每条商品记录的属性名称、价格、货号和用户购物标记等。
在显示商品记录的过程中,用r.movenext得到下一条数据记录。当用户单击货号或名称时进入showsub.asp页面,显示该商品的一些属性,如下面的代码所示:
"target="target">
main.asp的代码见附录。
当用户在main.asp页面中单击"查看购物车"按钮,进入check.asp页面。显示用户选购的所有商品。
在check.asp代码中,这里用productList来记录当前用户所选购的所有商品。ProductList是一个字符串,其中依次存放每个商品名称。在check.asp开头的一段Vbscript实现的功能就是把商品加入到ProductList中:
<%
SubPutToShopBag(bookbm,ProductList)
IfLen(ProductList)=0Then
ProductList="'"&bookbm&"'"
ElseIfInStr(ProductList,bookbm)<=0Then
ProductList=ProductList&",'"&bookbm&"'"
EndIf
EndSub
%>
在check.asp中的遍历数据库方式是while循环:"WhileNotrs.EOF"。循环体中,首先判断用户的商品数量是否正确,如果小于0,则默认数量为1;然后,根据商品单价和数量计算所选商品的总金额("sum=sum+csng(rs("price"))*quatity");最后显示商品信息。
Check.asp的代码见附录。
如果用户想进行订单填写,单击"开始支付"进入payment.asp.payment.asp功能就是显示最终购物清单,并要求用户填写定单表格。显示部分与check.asp里的完全相同。另外,还需要一个VBScript来检查填写的格式是否正确。当用户单击"确定"按钮后,进入支付最后一个环节--dopayment.asp页面。
Dopayment.asp的代码见附录。
4.3.5管理员登录页面(adminlogin.asp)
(1)、页面示例
出于安全方面的考虑,本系统没有把管理员登录界面放到系统的首页,而是放在admin子目录中。图4-11所示的是管理员登录页面。
图4-11管理员登录页面
(2)实现方法:
adminlogin.asp所实现的功能仅仅是判断用户名和密码是否正确,实现的方法是查询数据表adminuser,具体的实现与3.3.2中所述的用户登录页面实现完全相同。
Adminlogin.asp的代码见附录。
当系统管理员输入正确的用户名和密码后,立刻转入管理员操作页面(default.asp).default.asp也是由两个frame组成,左边是管理员操作(left.asp),右边是用户登录(adminlogin.asp).实现方法和3.3.1中所述一致。
4.3.6用户管理部分的一些重要页面
(1)页面示例:
当管理员单击left.asp页面中的"查询/编辑/修改帐号"后,出现如图4-12所示的页面(search.asp)。功能是读取欲查询帐号的用户。
图4-12帐号查询页面
单击帐号查询页面中的"查找"按钮后,通过POST方法,向服务器提交所读取的用户,然后转向edituser.asp页面,如图4-13所示:
(2)实现方法:
根据上面的功能可知,edituser.asp的实现流程是首先根据search.asp页面传来的username查询数据表User,如果没有这个用户,则用一个VBScript显示警告信息,否则,利用数据集SET对象得到此用户的一些信息,并显示在页面里面的表格中。
在表格下面显示的3个按钮的功能分别是:修改、删除、查看交易资料。他们的实现方法基本类似,下面是删除用户资料的主要代码:
">
根据以上代码看出,单击"删除此帐号"按钮后,向edituser.asp页面提交一个deluser的action,同时也将要删除的用户名killusername作为参数一起提交,转到在edituser.asp文件中定义的asp代码:
<%
ifrequest("action")="deluser"then
killusername=request("killusername")
conn.execute"delete*fromuserwhereusername='"&killusername&"'"
response.write"alert('你已删除了此帐号!');"
response.write"history.go(-2)"
rseponse.end
endif
%>
上面的asp代码,首先根据action的值得知是要做删除操作,然后通过killusername得到用户名,最后通过执行SQL语句完成删除功能,并用一个js提示管理员删除操作已经完成。
Edituser.asp的代码见附录。
4.3.7订单管理部分的一些重要页面
a、页面示例:
当单击"订单管理"栏里面的"批量查看所有订单"时,出现如图4-15所示的页面(userorderlog.asp),功能是查看订单信息数据表orders表中所有订单信息。
图4-15批量查看所有订单
b、实现方法:
此页面主要是用到分页技术。利用recordset对象的一些属性:
(1)rsTest.PageSize:PageSize属性用来设置一页记录的多少;
(2)rsTest.AbsolutePage:AbsolutePage属性设置当前数据在Recordset对象中的绝对页数;
(3)rsTest.PageCount:PageCount属性用来获得记录集的总页数。
C、主要代码:
<%
setrs=server.createobject("adodb.recordset")
ifnotisempty(request("page"))then
pagecount=cint(request("page"))
else
pagecount=1
endif
ifrequest("viewcomp")=""then
'是否查看未交易订单
ifrequest("viewf")=""then
'是否是个人定单
ifrequest("username")<>""then
sql="select*fromorderswhereusername='"&request("username")&"'orderbyiddesc"
else
sql="select*fromordersorderbyiddesc"
endif
else
'查看所有订单
ifrequest("username")<>""then
sql="select*fromorderswhereusername='"&request("username")&"'andcomp=falseorderbyiddesc"
else
sql="select*fromorderswherecomp=falseorderbyiddesc"
endif
endif
else
'已交易
ifrequest("username")<>""then
sql="select*fromorderswhereusername='"&request("username")&"'andcomp=trueorderbyiddesc"
else
sql="select*fromorderswherecomp=trueorderbyiddesc"
endif
endif
rs.opensql,conn,1,1
ifrs.eofandrs.bofthen
response.write""
response.write"===暂无符合条件之订单==="
response.write""
response.end
endif
rs.pagesize=10
ifpagecount>rs.pagecountorpagecount<=0then
pagecount=1
endif
rs.AbsolutePage=pagecount%>
4.3.8商品管理部分的重要页面
a、页面示例
当单击"批量查看所有商品"时,出现如图4-16所示页面(viewsubs.asp):
图4-16批量查看所有商品
由于查询全部商品太过缓慢,所以本系统要求选择商品的主分类和分类别,作为二级查询以加快查询速度。当选择主分类和分类别后,点击"查询"按钮进入商品列表页面(doviewsubs.asp)。如图4-17:
图4-17商品列表页面
单击操作栏里的连接,进入图4-18的editsub.asp页面,用来编辑商品信息。
图4-18商品编辑页面
b、实现方法
商品管理的实现方法与订单管理的实现方法一样。主要也是用到分页技术。
editsub.asp的代码见附录。
5系统测试与发布
5.1用户页面的出错控制测试
5.1.1登陆页面测试
当用户输入正确的用户名和密码时,进入用户系统页面,如图5-1所示。如果用户输入错误的用户名和密码时,则跳出错误警告,如图5-2所示。
图5-1用户页面主页
图5-2帐号密码错误警告页面
5.1.2新用户注册页面
在本页面中,需要用户按照格式填写自己的资料,如果格式不对或者用户名已经被注册则跳出警告。新用户注册成功,则进入用户主页。出错警告类别分别如图5-3,图5-4,图5-5所示。
图5-3密码验证
图5-4格式错误
图5-5用户名已经被注册警告
5.2系统发布
在windows2000下配置MS11S:
首先,选择"控制面版"下"管理工具"中的"internet服务器管理",出现如图5-6所示的界面,单击框中的按钮可以开启internet服务。
图5-6服务器管理界面
在"默认Web站点"目录上单击鼠标右键,在弹出菜单中选择"新建",然后选择"虚拟目录",如图5-7所示。
图5-7创建虚拟目录
单击"虚拟目录",出现虚拟目录向导,如图5-8所示。
图5-8虚拟目录向导1
在图5-8所示界面中单击"下一步",进入图5-9所示界面。
图5-9虚拟
上一篇:ASP酒店预定管理系统(论文+源程序+开题报告,论文较差)(论文和程序)
下一篇:试析影响公路路面平整度的因素及应采取的施工措施