毕业设计(论文)ASP网上购物系统设计1_第1页
毕业设计(论文)ASP网上购物系统设计1_第2页
毕业设计(论文)ASP网上购物系统设计1_第3页
毕业设计(论文)ASP网上购物系统设计1_第4页
毕业设计(论文)ASP网上购物系统设计1_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网站二手前线 目录一、前言 03二、需求分析03三、方案设计03四、系统设计04 1、系统结构设计04 2、结构图04 3、模块划分05 4、数据库结构的设计05五、系统与实现061、开发环境及工具软件06 2、模块设计说明及代码07六、系统运行效果及改进意见18结束语19至谢参考文献摘要网络的发展,将形成各种文化的共享,极大地丰富人们的文化生活,尽可能多地满足人们日益增长的精神文化的需要。如今, 我们利用asp技术开发的网站二手前线系统,实现了网站信息的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。同时对系统的开发原理、系统的功能特点和设计方案进行了介绍。【关键词】asp 管理

2、数据库一、前言随着科学的发展,人们的生活水平也在不断提高。使用电脑也成了部分人们生活必不可小的一部分。与此同时,我们的网络世界也在不断扩大。网络世界五花八门,然而我们上网最大的目的就是从网上获取更多有利于我们的信息。怎样才能获取信息呢?只要我们在一些专业的网站上找出我们想要的信息就行了。因此我们就利用asp创建了一个电子商务网站名为“二手前线”它主要是提供用户一些相关商品的信息,它可以实现查找、添加、留言等功能。保证信息的可靠性和新鲜性,它可以给用户对此信息做出灵活的决策,把主动权完全交给用户个人,解决传统的买卖麻烦。二、需求分析: 电子商务有多种类型,其中最为常见的是在互联网(interne

3、t)上建立虚拟商场,为人们提供一种新的购物方式。“二手前线”是一个为用户实现网上购物的最好媒体。通过它用户能够查询相关信息、发布留言,从而了解市场的最新动态、掌握第一手快讯,这些功能都能在我们的查找、发布留言和添加信息中实现。我们还能及时吸取用户的意见,能快速地对本网站作相应的调整,这一功能也可以在我们为用户提供的留言板中实现。具备种种对用户有利的功能才能满足到用户的须要,才能实现“供求”两相得益。三、系统设计:3.1 系统结构设计首先是考虑到用户的要求我们的界面设计要求明确清晰,操作方便,能给用户一看就明。所以导航是很重要的,我们的就把它放在主页的中心位置,用一些文字作指示。其次是要操作简单

4、,每个项目或信息就只有一个与其对应的超链接不会觉得烦琐。最后就是我们的后台管理,取用了一个树形结构,一共有四个文件夹,它们分别是:“商品信息管理” 、“最新动态发布管理”、“站内信息管理”、“管理员栏目”。共有12个基本功能,它们分布在各自的文件夹中:3.2 模块划分网站结构图: 二手前线最新动态新闻管理查看留言查看用户信息用户留言用户发布信息管理员系统商品信息管理商品大类添加商品小类添加商品添加商品审查商品删除新闻发布管理站内信息管理留言管理用户管理调查结果管理员栏目修改管理员添加管理员供求信息商品需求商品供应 (图一)我们网站的模块主要分为五大部分:“供求信息”、“用户留言” 、“最新动态

5、管理”、“查看留言”、“后台管理”。,每个模块都各有其功能。对于查看留言模块,根据系统的功能分析,它具有的功能应该包括管理员查看留言并对其进行修改、删除功能;一般用户只能浏览不能删除。 对于用户留言系统,根据系统的功能分析,它应该具有的功能是用户能填写信息、发布信息。 对于最新动态模块,根据系统的功能分析,它应该具有的功能是用户只能查看本管理员在本网站公布的最新信息;一般只有管理员才能信息进行修改、删除、和添加。 对于二手商品管理系统,根据系统的功能分析,它应该包括商品信息管理、站内信息管理以及管理员栏目。 对于管理员模块,根据系统的功能分析,它应该包括添加管理员、修改管理员密码、删除管理员,

6、这些操作只能由管理员进行。3.3 后台分析:后台管理商品信息管理最新动态发布管理站内信息管理管理员栏目 (图二)对后台的所有操作只有管理员才能实行。后台的每个文件夹都包括以下功能:“商品信息管理”包涵有:商品大类添加、商品小类添加、商品添加、商品审查、商品删除,四项基本功能。“最新动态发布管理”包涵有:增加新闻、修改新闻、新闻类别管理,三项基本功能;“站内信息管理”包涵有:留言管理、用户留言、调查结果,三项基本功能。 “站内信息管理”包涵有:查看和删除用户留言这项基本功能。“管理员栏目”它也包涵有:修改管理员、添加管理员,二项基本功能,功能分布清晰可见,这就是我们的方案设计3.4 数据库结构的

7、设计 数据的结构将影响整个信息管理系统的应用,所以我们应先建立一个完善的数据库,它汇聚了查询、添加和检索等功能。access作为关系数据库开发具备了许多优点,可以在一个数据包中同是拥有桌面数据库的便利和关系数据库的强大功能。这里我们选用了microsoft access构建数据库作为本网站的后台数据库。本网站的后台数据库有两个:第一个数据库是th9c45_data.mdb它包涵有以下几张表:1、 book表示(留言板)它包涵有7个字段:id用户编号name用户名email用户电子邮件homepage用户个人网站地址title主题content留言的内容time留言时间2、 class_1表示(

8、商品大类)它包涵有3个字段:id商品大类编号class_1_name商品大类名class_1_regtime商品大类添加时间3、class_2表示(商品小类)它包涵有3个字段:id商品编号class_2_name商品小类名class_2_regtime商品添加时间4、manage_user表示(管理员)它包涵有3个字段:id管理员编号username管理员名password管理员密码4、 product表示(商品)它包涵有11个字段:product_id商品的编号product_name商品名class_1所在的商品大类名class_2所在的商品小类名mail电子邮箱地址product_sho

9、w提供者p_pic商品图片p_oldprice商品价格look_count查看次数regtime提交信息时间tel联系电话第二个数据库是news.mdb包涵有两张表:1、 category表示(新闻类别)它包涵有2个字段:id类别编号title题目2、 news表示(新闻内容)它包涵有个字段:id 新闻编号cataid所属的类别addtime添加时间specal是否特别报道hits点击次数content五、系统与实现5.1 开发环境与工具开发环境:我们取用了winxp+iis5.0作为服务器,accress2002作为数据库的开发工具,用dreamweaver mx作为网页编辑器,利用phot

10、oshop 和 flash mx制作logo和动态画面。做动态网站的技术有各种各样,这里我们只利用了asp动态网页技术来开发"二手前线"。默认脚本语言,我们选择vbscript。什么是asp动态网页呢?asp技术 asp(active server pages动态网页)是微软公司推出的一种用以取代cgi(common gateway interface通用网关接口)的技术。目前,internet上的许多基于windows平台的web站点已开始应用asp来替换cgi。 简单地讲,asp是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式web服务器应

11、用程序,如交互式动态网页,包括使用html表单收集和处理信息,上传与下载等等。asp与常见的在client端实现动态主页的技术如java applet、activex control、vbscript、javascript等不同,asp中的命令和script语句都是由服务器来解释执行的,执行结果产生动态生成的web页面并送到浏览器;而client端技术的script命令则是由浏览器来解释执行。由于asp是在服务器端解释执行,开发者可以不必考虑浏览器是否支持asp;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。asp比较网关及服务器扩展模式有着以下优点:(1)完全与ht

12、ml文件融合在一起;(2)容易创建,不需要其它编译、链接程序;(3)面向对象的并通过activex server对象可扩展。目前asp只适用于下列web server;· microsoft iis 5.0 on windows2000 professional. winxp professional,windows2000 server,windows2000 advanced server.· microsorf iis 4.0 on nt workstation, nt server.· microsorf personal web server windo

13、ws95, windows98, windows me.· microsorf iis 6.0 on windows.net(windows server 2003)asp的主要目的就是用来建立交互式的网页,像是访问留言板、在线投票、二手市场及搜索引擎等等。5.2 具体模块说明:这里我们具体说明“最新动态”这一模块。其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询信息,管理员除了可以完成普通用户的操作外,还可以进入新闻管理模块进行信息录入、修改和删除的操作。管理员除系统管理员外只能对自己录入的信息进行删改操作。主要程序代码为:这段代码是实现数据库连接的代码。conn.

14、asp<% dim conn dim connstron error resume nextconnstr="dbq="+server.mappath("data/th9c45_data.asp")+"defaultdir=;driver=microsoft access driver (*.mdb);" set conn=server.createobject("adodb.connection") if err then err.clear else conn.open connstr if err th

15、en err.clear end if end if%>(这是创建没有odbc的数据库连接,这种方法的好处是,程序移植到别的服务哭器上后,马上就可以使用,这种方法的缺点是:要注要数据库文件的路径问题。)这是实现高级查找的代码。search.asp选择商品的种类,系统就会自动查找出与被选种类相同的所有商品信息。<%spxl=request("spxl")set rs=server.createobject("adodb.recordset")sqltext="select * from product" if request

16、("product_name")<>"" then sqltext=sqltext &" where product_name like '%"& request("product_name") &"%' " else sqltext=sqltext &" where product_name like '%"& "" &"%' " end if

17、 if request("product_class")<>"" then sqltext=sqltext &" and class_1 like '%"& request("product_class") &"%' " end ifrs.open sqltext,conn,1,1dim maxperpagemaxperpage=5'取得页数,并判断用户输入的是否数字类型的数据,如不是将以第一页显示dim text,checkpaget

18、ext="0123456789" rs.pagesize=maxperpagefor i=1 to len(request("page") checkpage=instr(1,text,mid(request("page"),i,1) if checkpage=0 then exit for end ifnextif checkpage<>0 then if not isempty(request("page") then currentpage=cint(request("page"

19、;) if currentpage < 1 then currentpage = 1 if currentpage > rs.pagecount then currentpage = rs.pagecount else currentpage= 1 end if if not rs.eof then rs.absolutepage = currentpage end ifelse currentpage=1end if%><%'假如没有商品时出的内容if rs.eof and rs.bof then response.write "<td>

20、<p align='center'><font color='#ff0000'>没有找到符合条件的商品资料</font></p></td>" response.endend if %>这是一句包含连接数据库的代码,使用include语句可以使程度更简洁。<!-#include file="conn.asp" ->这是从表class_1中查出相应的大类信息<%set rs_class_1=server.createobject("adodb.

21、recordset")sqltext2="select * from class_1 "rs_class_1.open sqltext2,conn,1,1%>这是从表class_2中查出相应的小类信息<% while not rs_class_1.eof set rs_class_2=server.createobject("adodb.recordset") sqltext3="select * from class_2 where class_1_name='" & rs_class_1(&q

22、uot;class_1_name") & "'" rs_class_2.open sqltext3,conn,1,1 %> 这是用户发布信息的相关代码:通过它用户可以发布相关信息提供给其它用户参考。<script language=javascript id=clienteventhandlersjs><!-function form1_onsubmit() if(document.form1.p_name.value.length<1) alert("您必须输入商品名称!"); document.

23、form1.p_name.focus(); return false; if(document.form1.newprice.value.length<1) alert("您必须输入会员价!"); document.form1.newprice.focus(); return false; if(document.form1.oldprice.value.length<1) alert("您必须输入市场价!"); document.form1.oldprice.focus(); return false; if(document.form1.

24、p_intro.value.length<1) alert("您必须输入商品简介!"); document.form1.p_intro.focus(); return false; if(document.form1.p_show.value.length<1) alert("您必须输入商品说明!"); document.form1.p_show.focus(); return false; if(document.form1.p_pic.value.length<1) alert("您必须输入商品图片连接!");

25、document.form1.p_pic.focus(); return false; if (fucchecknum(document.form1.newprice.value)=0) )alert ("会员价有非法字符,请填写正确会员价。");document.form1.newprice.focus();return false;if (fucchecknum(document.form1.oldprice.value)=0) )alert ("市场价有非法字符,请填写正确市场价。");document.form1.oldprice.focus()

26、;return false;/-></script>新闻发布管理模块说明这个模块包含有三大部分:增加新闻、修改新闻、新闻类别管理。主要程序代码为:这是增加一条新闻时输入的相关内容的代码news_addnews.asp<%function htmlencode(str)if request("special")="true" thenhtmlencode=replace(replace(str,chr(13),"<br>"),"'","")elsehtm

27、lencode=server.htmlencode(str)htmlencode=replace(replace(htmlencode,chr(13),"<br>"),"'","")end ifend functiondim rs,sqlset rs=server.createobject("adodb.recordset")if request.querystring="add" thenif request("title")=""

28、or request("content")="" thenresponse.write "<center>没有填写完必须的内容!新闻没有保存.</center>" 如果题目或容输入不完整的返回信息elsesql="select * from news where id is null"rs.open sql,conn,1,3rs.addnewrs("cataid")=request("cataid")rs("title")=requ

29、est("title")if request("linktitle")<>"" then rs("linktitle")=request("linktitle")if request("linkurl")<>"" then rs("linkurl")=request("linkurl")if request("image")<>"" then

30、 rs("image")=request("image")rs("addtime")=now()rs("content")=htmlencode(request("content")rs("hits")=1if request("special2")<>"" then rs("special")=request("special2")rs.updaters.closeresponse.

31、write "<center>新闻已经成功保存了.</center>"end ifend if%>这是检验用户权限的代码<% if not session("userclass")>=1 then response.redirect "login.htm"end if%> 如果不是管理员请返回login.htm重新登陆这是利用javascript语句作变量调出数据库中存有的记录代码 news_admin.asp如下:<script language="javascript

32、">function view(id)var id;window.open('view.asp?id='+id,'_blank','status=no,scrollbars=yes,top=20,left=110,width=580,height=420'); </script>这是利用javascript语句作变量删除相应记录的代码<script language="javascript">function cdel(id,cata,page)var id;if (confirm(&q

33、uot;你真的要删除这条新闻吗?")document.location.href="news_delete.asp?action=del&id="+id+"&cataid="+cata+"&pageno="+page;</script>这是如果没有新闻就不作显示记录信息 <%if cataid="" thensql="select * from news order by id desc"elsesql="select * from

34、news where cataid='"&catid&"' order by id desc"end ifrs.open sql,conn,1,1rcount=rs.recordcountif pmcount="" or isempty(pmcount) or pmcount<1 then pmcount=25end ifrs.pagesize=pmcount '设置每页数mpage=rs.pagecount '得到总页数pageno=request("pageno")i

35、f isempty(pageno) or cint(pageno)<1 or cint(pageno)>mpage thenpageno=1end ifif rs.bof and rs.eof thenresponse.write "<tr><td colspan='5'><div align='center'>没有新闻</div></td></tr>"elsers.absolutepage=pageno'将指针移至指定页的第一条记录loopno=pm

36、countdo while not rs.eof and loopno>0%> <%if cint(pageno)>1 then%> 如果页码数大于1<a href='news_admin.asp?cataid=<%=cataid%>&pageno=<%=pageno-1%>'>上一页</a> 显示上一页,并连接数据到上一页的数据库内容<%end ifif cint(pageno)<cint(mpage) then%><a href='news_admin.as

37、p?cataid=<%=cataid%>&pageno=<%=pageno+1%>'>下一页</a> 显示下一页,并连接数据到下一页的数据库内容 <%end if%>共<%=cstr(pageno)&"/"&cstr(mpage)&"页 "&cstr(rcount)%>条新闻</td> 显示一共有几条新闻这是修改相应的新闻记录的代码news_editnew.asp<%function htmlencode(str)if re

38、quest("special")="true" thenhtmlencode=replace(replace(str,chr(13),"<br>"),"'","")elsehtmlencode=server.htmlencode(str)htmlencode=replace(replace(htmlencode,chr(13),"<br>"),"'","")end ifend functionfu

39、nction htmldecode(str)htmldecode=replace(replace(str,"<br>",chr(13),"","'")end function'on error resume nextdim rs,sqlset rs=server.createobject("adodb.recordset")if request.querystring="save" thenif request("title")="&qu

40、ot; or request("content")="" thenresponse.write "<center>没有填写完必须的内容!新闻没有保存.</center>"elsesql="select * from news where id ="&request("id")rs.open sql,conn,1,3rs("cataid")=request("cataid")rs("title")=requ

41、est("title")if request("linktitle")<>"" then rs("linktitle")=request("linktitle")if request("linkurl")<>"" then rs("linkurl")=request("linkurl")if request("image")<>"" then

42、 rs("image")=request("image")rs("content")=htmlencode(request("content")if request("special2")<>"" then rs("special")=request("special2")rs.updaters.closeresponse.write "<center>新闻已经成功保存了.</center>

43、"end ifend ifif request("id")="" then response.redirect "addnews.asp"elsesql="select * from news where id="&request("id")rs.open sql,conn,1,1'response.write err.descriptioncataid=rs("cataid")title=rs("title")linktitle

44、=rs("linktitle")linkurl=rs("linkurl")image=rs("image")content=rs("content")special=rs("special")rs.closeend if%>这是保存修改按钮的代码<form name="form1" method="post" action="news_editnews.asp?save">这是关闭数据库的代码<% rs.clos

45、e set rs=nothing endconnection %>news_addcata.asp这是新闻类别管理的代码添加保存新闻类别代码:<%dim rs,sql,actionset rs=server.createobject("adodb.recordset")action=request("action")select case actioncase "add"if request("title")="" thenresponse.write "<cente

46、r>没有填写完必须的内容!没有保存.</center>"elsesql="select * from category where id is null"rs.open sql,conn,1,3rs.addnewrs("title")=request("title")rs.updaters.closeresponse.write "<center>已经成功保存了.</center>"end ifcase "modify"if request(&

47、quot;title")="" thenresponse.write "<center>没有填写完必须的内容!没有保存.</center>"elsesql="select * from category where id="&cstr(request("id")rs.open sql,conn,1,3oldtitle=rs("title")rs("title")=request("title")rs.updater

48、s.closesql="update news set cataid='"&request("title")&"' where cataid='"&oldtitle&"'"conn.execute sqlresponse.write "<center>已经成功保存了.</center>"end ifcase "del"sql="select * from category whe

49、re id="&cstr(request("id")rs.open sql,conn,1,1cata=rs("title")rs.closesql="delete from category where id="&cstr(request("id")conn.execute sqlsql="delete from news where cataid='"&cata&"'"conn.execute sqlresponse

50、.write "<center>已经成功删除了.</center>"case "error"response.write "<center>用户名/密码错!没有保存.</center>"end select%>如果当前无有新闻类别则将显于的代码为: <%sql="select * from category"rs.open sql,conn,1,1if rs.bof and rs.eof thenresponse.write "<tr><td>没有类别</td&g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论