本文设计并实现了walkmanyy网上商城,内容主要包括以下几个方面:
1.阐述网上商城的现状,以及创建walkmanyy网上商城的意义,并对整个系统做了需求分析和可行性分析。
2.介绍开发网站所需要的技术。
3. 用功能模块图直观地展示walkmanny网上商城的后台,及实现后台管理的具体代码。
4. 对网站进行了全面的评价,探讨了本课题的发展方向和今后的工作。
所做的网站在致力于最大限度满足顾客需求的同时,还在页面设计上做了精心设计,如图5.1所示。
另外简洁、实用,美观是我们的追求,让浏览者能在最短的时间里找到自己所需的商品是我们不懈努力的动力。网上购物不仅操作便易,只需轻轻点击鼠标就能将商品买回家,而且能大大节省购买者的时间,让购买者足不出户,只需利用短暂的休息时间,通过网络就能买到自己喜欢的东西,这在很大程度上解决了那些因整天忙于工作而没有时间去商场购物的人们的烦恼。另外,一些稀有、时尚用品都能轻松在网上商城找到,这又为那些购买者大大节省了去市场寻找这些商品的时间和精力。由于要完成以上预期目标,都离不开后台,因而我们的预期目标能否达到,后台的设计就显得相当重要。我所做的工作就是完成网站后台制作,我们网站的后台首页如图5.1所示。
网站首页是由三个框架构成的,分别是topframe、BoardMenu、main,topframe是用来显示顶上的图片,BoardMenu用来显示管理员停留时间、当前日期及菜单,main显示详细信息。
创建网站后台的原因是,创建好以后管理员在管理数据库中的数据时,不必进入数据库,而是可以在后台进行直接操作。该后台功能完善,主要包括商品类别管理、商品管理、信息管理、销售管理、会员管理、送货管理、留言评论管理、邮件列表、数据管理、网站参数管理、广告和投票管理、系统参数设置、售后服务、退出管理系统等。具体功能模块图如图5.2所示:
1.商品类别管理:包括大类别管理和小类别管理。
2.商品管理:包括商品添加、商品管理和单位管理。
3.信息管理:包括信息内容添加、网站动态管理和网站公告管理。
4.销售管理:包括最新订单、等待订单、已发订单、销售报表、缺货商品和库存报表。
5.会员管理:包括会员列表和购物报表。
6.送货管理:介绍送货方式种类,实现种类的删除和增加。
7.留言评论管理:包括留言管理和商品评论管理。
8.邮件管理:包括邮件列表和发送邮件。
9.数据管理:包括数据备份和数据恢复。
10.网站参数设置:联系方式、邮件参数和其他设置。
11.广告和投票管理:包括广告管理、友情连接管理和投票管理。
12.系统参数设置:包括管理员添加、用户管理、修改密码、登录历史记录和空间使用统计。
13.售后服务:为用户在购买商品时碰到的任何问题提供服务。
14.退出管理系统:退出时直接回到登陆界面
管理员登陆界面,如下图所示:
实现登陆功能的文件是login.asp,主要代码为:
<input type="submit" value="提交" name="B1">
//点击“提交”按钮,系统会与数据库中的数据进行比较,只有正确才会进入后台首页,如图5.2,这样便可以进行操作了。
由于篇幅原因,下面只介绍个别功能的实现:
1. 由于大部分.asp文件都要连接数据库,这里就单独创建一个文件db_conn.asp用于连接数据库,核心代码为:
connstr="DBQ="+server.mappath("../byfenglan#/byfenglanAC.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
2. 文件add_big_class.asp用于实现大类别的管理,这里只介绍关键性按钮的实现
其中“删除”按钮的代码为:
<%
flag=my_request("flag",0)
select case flag
case "save"
call save()
case "del"
call del()
end select
%>
//如果flag=save,转到save()函数,在该函数里可以实现插入功能;如果flag=gel,转到del()函数中,该函数实现删除功能。
<a href="javascript:ask('您真的要这么做?将删除此类下所有小类及其任何内容!','add_big_class.asp?flag=del&id=<%=rs("id")%>')">删除</a>
<%
sub save()
bigclass=my_request("bigclass",0)
sql="insert into big_class (txt_big_class,addtime) values('"&bigclass&"','"&date()&"')"
conn.execute(sql)
response.redirect "add_big_class.asp"
end sub
sub del()
id=my_request("id",1)
sql = "delete from big_class where id="&id
conn.execute(sql)
sql2="delete from small_class where iid="&id
conn.execute(sql2)
response.redirect "add_big_class.asp"
end sub
%>
另外实现“修改”功能的窗口如图5.4所示
具体代码为:
<a href="javascript:view1('bigclass_modi.asp?id=<%=rs("id")%>&name=<%=trim(rs("txt_big_class"))%>')" title="修改内容">修改</a>
点“修改”后连接到bigclass_modi.asp
<%
id=my_request("id",1)
bigclass=my_request("name",0)
action=my_request("action",0)
if action="save" then
call save()
response.write "<p align=center><a href=javascript:window.close()>修改成功,请刷新窗口,点击关闭窗口</a></p>"
else
%>
<%end if
sub save()
bigclass=my_request("bigclass",0)
id=my_request("id",1)
sql="update big_class set txt_big_class='"&bigclass&"' where id="&id
conn.execute (sql)
conn.close
set conn=nothing
end sub
%>//save()完成数据库的更新功能
这样一个完整的修改功能就实现了。
2.定单处理的实现new_order.asp
<%
set rs=server.createobject("adodb.recordset") //创建recordset对象rs
sqltext="select * from buyer Where zt = '" + Replace(go, "'", "''") + "' order by addtime desc"
//从buyer 表中按时间降序查找满足zt=’”+replace(go,”’”,””””)+”’的数据,并把它赋值给sqltext。
rs.open sqltext,conn,1,1
//查找满足要求的订单,并打开
set id=rs("id")
%>//提取数据库中字段名为id的值赋给id。
<%=(page-1)*19+ii%>
<%=addtime%>
//用<%=变量或常量%>方式在HTML中或普通文本中引用ASP的变量。
<script language="javascript">
function confirmdel(ddbh,page){
if (confirm("真的要删除这个订单?"))
window.location.href="del.asp?id="+ddbh+"&page="+page
}
</script>
<a href="javascript:confirmdel('<%=ddbh%>','<%=Page%>')">[删除]</a>
//点“删除”按钮把带有ddbh和page的值转到函数confirmdel(),通过该函数可以链接到del.asp文件,在del.asp中可以实现删除功能,其核心代码为:
<%
id=my_request("id",1)
// 用my_request9()对象提交del.asp文件中的数据,即id和page
sql = "delete from buyer where ddbh='"&id&"'"
//用sql语句将满足要求的数据删除
conn.execute(sql)//查看数据
response.redirect "new_order.asp"
//用response.redirect重新指定一个URL
%>
3. 网站中最常用到的功能就是商品的添加,这里也介绍下这个功能,实现该功能的文件是add-product.asp。
<form action="save_product.asp" method="post" name="form1" οnsubmit="return checkdata();">
<input type="submit" value="提交" name="B1" οnclick="document.form1.Content.value = frames.message.document.body.innerHTML;">
//用post方法提交form1中的内容
<select size="1" name="bid" onChange="changelocation(document.form1.bid.options[document.form1.bid.selectedIndex].value)">
<option>≡≡请选择大类≡≡</option>
<%sql="select id,txt_big_class from big_class order by addtime"
set rs=conn.execute (sql) //在表big_class中找出大类别商品
set id=rs("id")
set big_class=rs("txt_big_class")
do while not rs.eof
%>
<option value="<%=id%>"><%=big_class%></option>
<%rs.movenext
loop
%>
其中save_product文件里的代码为:
<%
bid=request("bid")
//读取表单信息
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
'DBPath = Server.MapPath("byfenglanAC.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & "F:\web\byfenglan#\byfenglanAC.mdb"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "yqj_product", dbconnection, 1, 3
//连接并打开yqj_product表
rs.AddNew
rs("bid")=bid
rs.update
//数据更新
%>
这样就实现了商品的添加功能。
本文主要解决该系统的后台管理,使管理员可以直接管理商品和用户信息,不用再到数据库里去处理那些繁琐的数据,既方便又不容易出错。但由于时间、技术和设备条件等原因,该系统做得还不是很完善,有些功能还没有实现,如售后服务、支付等方面还有待于进一步解决。