毕业论文样本

更新时间:2023-12-16 22:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

汕头职业技术学院计算机系

题 目: 网上书店系统的设计与实现

专 业: 计算机应用技术 年 级: 2009级(1)班 学 号: 09171034 姓 名: 张三 指导教师: 李四

完成日期: 2011 年 5 月 20 日

汕头职业技术学院计算机系

毕业设计指导教师评语

专业: 计算机应用技术 年级: 2009级1班 姓名: 张三 题目: 网上书店系统的设计与实现

指导教师评语:(包括对论文写作、作品和答辩情况的评语)

评定成绩: 指导教师(签字):

摘 要

随着Internet的不断普及,人们对于互联网技术的要求已不单是浏览网页,收发电子邮件,日益忙碌的人们开始追求足不出户,利用互联网这一强大的平台来实现网上购物。本文设计的网上书店系统,使用分页显示技术具有布局合理、文本整齐,功能导向清晰、便于浏览阅读等特点。

网上书店系统是典型的信息管理系统,前台程序开发工具采用ASP.net,后台数据库采用SQL Server 2005数据库, 它既可运行于Internet,又可运行于内部的局域网。

本系统设置了9个栏目:首页、分类查询、特价图书、我的订单、缺书登记、付款方式、客服中心、联系我们和后台管理。系统满足用户的各种需求,新书速递,用户订单快速计算,实现网上购书的系统化,规范化。顾客可以很方便的注册成为会员,对图书进行浏览检索,查看图书的详细资料,然后根据各人的喜好购买心仪的图书。系统会自动为顾客生成订单,按照顾客所填写的信息提交订单并发货。系统管理员则可以对现有的图书进行添加和编辑,审查已注册的用户并对提交的订单进行处理。

关键词:购书篮;分类查询;我的订单;后台管理

目 录

1 绪论.................................................................................................................................. 1

1.1 课题背景................................................................................................................ 1 1.2 研究意义................................................................................................................ 1 1.3 国内外现状分析.................................................................................................... 1 1.4 本文的主要研究工作及组织安排........................................................................ 2 2 相关理论与技术.............................................................................................................. 4

2.1系统需求分析......................................................................................................... 4 2.2 B/S模式介绍.......................................................................................................... 4 2.3 ASP.net技术 ........................................................................................................... 5

2.3.1 ASP.net的特点 ............................................................................................. 5 2.3.2 ASP.net页面访问数据库 ............................................................................. 5

3 系统总体设计.................................................................................................................. 7

3.1系统整体设计......................................................................................................... 7 3.2 角色识别................................................................................................................ 8 3.3 业务流程................................................................................................................ 8 3.4 数据库设计.......................................................................................................... 9 4 系统详细设计与实现.................................................................................................... 13

4.1首页模块............................................................................................................... 13 4.2分类查询模块....................................................................................................... 13 4.3 购书篮模块.......................................................................................................... 14 4.4 我的订单模块...................................................................................................... 16 4.5 后台管理模块...................................................................................................... 17

4.5.1 注册用户管理............................................................................................ 17 4.5.2 图书管理.................................................................................................... 18 4.5.3 订单管理.................................................................................................... 19 4.5.4 公告栏管理................................................................................................ 19

5 万能密码问题................................................................................................................ 21 6 结束语............................................................................................................................ 23 6.1 本文做了如下工作.............................................................................................. 23 6.2 进一步工作展望.................................................................................................. 23 参考文献............................................................................................................................ 24 致 谢................................................................................................................................ 25

1 绪论

1.1 课题背景

随着Internet的发展和普及,个人和企业要生存、要发展,就必须采取新的生存方式和竞争手段去适应Internet的发展。Internet本身具有开放性、全球性、低成本、高效率等特点。相比之下,传统商业就其商业格局、商业运作模式等缺点越来越明显。客观形势迫使我们必须重组原有的商业格局,使得传统的经营模式和经营理念发生巨大的变化。电子商务创造了巨大的利益和机会,在市场上发挥了巨大的作用。目前,我国网购用户达2亿,规模呈持续快速增长的势头。Internet的发展促进了电子商务的发展,另一方面,电子商务的发展也进一步推进Internet的发展。

当今社会,网络销售越来越受到重视,许多大型企业以及相关行业纷纷建立自己的网站,直接面向消费者销售业务和服务。来自全美图书协会的数字显示,超过80%的经销商都建立了自己的网站,其销售额逐年增长。但是现有大部分网站的设计没有给企业和客户直接带来更多的业绩与便利。经验表明:只有提供更人性化、实用性的销售网站才能树立自己的特点。

1.2 研究意义

由于网络已经覆盖全球,信息量巨大而且独具优势。借助这个良好的平台进行书籍的销售,读者足不出户就能选购自己需要的书本。网上书店近在咫尺,且永不关门,读者可以随时随地查询和订购图书。

与传统书店相比,网上书店具有全面且快速的图书检索功能,齐全的图书品种,方便快捷的配送服务,低廉的销售价格,直接准确的数据积累,灵活多样的营销平台,先进的互联网技术,完善的售后服务等优势。网上书店最突出的优点是:不再限制读者的购买时段,扩大和巩固了客户群,从而增加了书店的核心竞争力,节省实际开店时需要投入的成本和租用费用。

由于网上书店为大众提供便捷、廉价、高效的购书方式,极大地促进了文化的传播,具有长远的社会效益和经济效益。可以预言,网上书店将会迎来快速发展的美好前景,研究网上书店的设计与实现既具有理论意义又具有实践意义。

1.3 国内外现状分析

据了解,2007年亚马逊销售额为 120 亿美元,当当网和卓越网销售额加起来是 1亿美元,占我国网上销售的 75%以上。化学工业出版社销售中心副总经理邓云艳分析,1 亿美元的销售额和亚马逊 120 亿美元比起来相差甚远,再加上我国有庞大的网民基数和民众购买行为的改变,因此网上书店在我国存在着巨大的市

1

场潜力。

机械工业出版社市场部主任马明介绍,从 2005 年开始,网上销售在机械工业出版社总销售比重中只占 1%。2006 年网上销售比重达 2%,2007 年网上书店的销售又翻了一番,占到出版社整体销售的4%。2008还是在高速增长。马明说,从机械工业出版社来讲,预计今年的网上销售比重能达到 10%。马明预测在未来三至五年内网上销售占全国销售份额将达到 20%到 25%。

在国外,世界上第一家网上书店是1991年在美国联机公司(AOL)的网络上建立的“阅读美国”书店。1994年贝佐斯在西雅图成立的亚马逊网上书店,如今已成为全球最大网上书店,1998年的顾客总数为450万,销售额达6.1亿美元,股票市值100多亿美元,控制着美国80%的网上图书销售市场。亚马逊网上书店的成功在图书销售领域产生了巨大影响。1997年5月,美国最大的连锁书店巴诺书店也正式开办了网上书店。此外,美国较有名的网上书店还有肥脑网上书店、鲍德斯网上书店等。据统计,到1998年美国的网上书店已达1200多家。

随着网上书店问题的逐步解决和网络的普及、电子商务软硬件的发展以及人们观念的改进,网上书店也将不断地发展,总的来说,网上书店的发展趋势有如下几个方面:

(1)图书销售数字化。图书发行电子化是信息技术发展的必然趋势。它省去了图书配送这一重要而又难度很大的环节,有望成为销售盈利的突破口。

(2)信息服务特色化。信息服务在未来将成为网上书店赢得竞争优势的关键。网上书店的信息服务将更强调深度与可信度,注重文化氛围的营造,以专业化和特色化、人性化的服务来体现差异,避免重复,吸引读者。

(3)规模化与专门化。通过合作的方式统一配送渠道,减少成本,达到规模化要求;建设专门性书店,通过锁定集中性的市场形成竞争优势。

(4)出版业务一体化。改进优化传统的出版流程,开拓出版业务,网络出版将整合传统印刷形式,具有更大的自由度来拓展业务范围。

(5)集团化与联合化。通过激烈的竞争,将出现相互依赖相互补充的网上书店系统,以整合资源优势,促进市场的合理划分与有序竞争。

(6)业务发展多样化。网上书店将逐渐渗入图书发行、销售行业,成为重要甚至主要的图书销售渠道,网上书店的业务范围也将不断拓展。

1.4 本文的主要研究工作及组织安排

本文以ASP.net为开发工具,SQL Server 2005为后台数据库,采用B/S架构研发了一个完善的网上书店系统。通过本系统,能帮助客户快速地检索书籍,进行网上购书;而系统管理员则方便地进行会员管理、书籍入库、订单管理,使网上购书方便、安全、快捷。

2

本论文的组织结构如下:

第1章绪论。阐述论文工作的背景和意义

第2章相关理论与技术。分析网上书店系统的需求,介绍构建网上书店系统的相关技术及实现方法。

第3章系统总体设计。根据需求分析对系统进行功能模块划分,并阐述各个模块的具体功能,最后对数据库进行设计。

第4章系统详细设计与实现。对首页、分类查询、购书篮、我的订单、后台管理等模块进行深入研究,并给出实现算法。

第5章万能密码问题。对用户登录的安全问题进行控制。

第6章结束语。总结论文的主要工作,提出进一步深入研究网上书店系统的方向。

3

2 相关理论与技术

2.1系统需求分析

网上书店系统分为前台和后台两个子系统。前台子系统是面向客户的,主要完成图书分类、查询、排行、推荐、读者反馈及会员购书等。在设计网站时,根据所销售书籍的特点安排布局,书籍信息根据需要从数据库中提取,照顾客户浏览习惯,简化购物流程。网上购物的流程为:注册为会员→登录→选择书籍→收银台结账,生成网上订单。没有登录的用户为游客,不能进行购物,但可以查看书籍信息。

后台子系统融入了企业传统的促销理念,对图书进行分类管理,提供图书信息的添加,修改和删除等功能,支持图书的封面图片显示功能,从而增强了图书商品的宣传效果。对订单的管理是后台子系统中关键的部分,根据公司的需求,采用订单状态与库存的一致性。对于后台的客户管理则要提供便捷的查询方式,提供合理的管理操作。

2.2 B/S模式介绍

目前,网络应用软件运行的模式主要有两类:Client/Server模式、Brower/Server模式、前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,应用程序与数据库均装在服务器端,客户端只要有一个浏览器即可,维护、升级、功能扩充都很简便。

B/S模式以访问Web数据库为中心,以HTTP为传输协议,客户端通过浏览器访问Web服务器和与其相连接的后台数据库。其三层结构如图2-1所示。

图2-1 三层B/S结构示意图

B/S模式分为三个层次:

第一层是客户端即浏览器,该层是表示层。主要完成客户和后台的交互,显示和接收用户输入的数据,输出最终查询结果,为用户提供一种交互式操作的界面。客户端向指定的Web服务器提出服务请求,Web服务器依据HTTP协议把需要

4

的资料传给用户,显示在客户端WWW浏览器上。

第二层是Web服务器,该层是业务逻辑层。提供业务逻辑、事务调度、以及数据库连接,充当客户端与数据库之间的桥梁,完成客户的应用功能。当Web服务器接受客户请求,并与后台数据库连接,进行业务处理,后台数据库将处理结果返回Web服务器,再传至客户端。

第三层是数据库服务器,该层是数据访问层。主要实现管理后台数据库的功能,完成Web服务器的请求,对数据库中的表等文件进行操作,最后将结果返回Web服务器。

基于B/S模式的开发平台有ASP、PHP、JSP与ASP.net四种。它们各有所长,且都有相当数量的支持者。其中,ASP.NET不是ASP的简单升级,它不仅吸收了ASP技术的优点并改正了ASP中的某些缺憾,更重要的是,它借鉴了Java,VB语言的开发优势,从而成为Microsoft推出的新一代Active Server Page。ASP.NET是微软发展的新的体系结构.NET的一部分,其中全新的技术架构会让每个人的编程工作变得更简单。

基于上述考虑,用Brower/Server模式来设计网上书店系统,采用ASP.net搭配SQL Server2005作为开发工具,它既可运行于Internet,又可运行于内部的局域网。

2.3 ASP.net技术

2.3.1 ASP.net的特点

ASP.NET是微软推出的基于通用语言的编程框架,使用它可以在服务器端创建强大的网络程序,例如,商务网站、聊天室、论坛等,它是新一代编制企业网络程序的平台,为开发人员提供了一个崭新的网络编程模型。

首先,ASP.NET是基于.NET平台的,开发者可以使用.NET兼容的语言,所有.NET Framework技术在ASP.NET中都是可用的。

其次,ASP.NET在技术设计过程中充分考虑到程序的开发效率问题,可以使用所见即所得的HTML编辑器或其他的编程工具来开发ASP.NET程序,包括Visual Studio .NET版本。可将设计、开发、编译和运行集中在一起,大大地提高ASP.NET程序的开发效率。

2.3.2 ASP.net页面访问数据库

ASP.net页面访问数据库的接口为ADO.net,ADO.NET包含两大核心模块:.NET数据提供程序和DataSet数据集。

.NET数据提供程序提供了4个核心对象。Connection对象用于创建当前页面与数据库的连接。Command对象用于执行命令文本(包括SQL语句、表名、存储过

5

程名)。DataReader对象代表一个记录集,用户只能从中读取数据,不能写入数据。DataAdapter对象是连接DataSet对象和数据库的桥梁,负责将数据库中的数据取出后填充到DataSet对象,或者将数据存回数据库。

DataSet对象是ADO.NET的核心,代表内存中的一个数据库,它可以存储多个表以及各表间的关系。ADO.NET的对象模型如图2-2所示。

ASP.NET页面

DataReader DataSet DataAdapter Command Connection 数据库 图2-2 ADO.NET的对象模型

利用Connection、Command、DataReader对象可以对数据源进行插入、修改、删除和浏览操作。但DataReader对象使用“连接定向传输模式”,当用户要求访问数据源时,必须经过冗长的连接操作,当前用户会锁定数据源,其它用户无法访问该数据源。

利用Connection、DataAdapter、DataSet对象也可对数据源进行插入、修改、删除和浏览操作。DataSet对象使用“无连接传输模式”,当用户要求访问数据源时,无须经过冗长的连接操作,而且数据由数据源读入DataSet对象之后,便关闭数据连接,解除数据源的锁定,其它用户可以再使用该数据源,用户之间无须争夺数据源。

6

3 系统总体设计

3.1系统整体设计

本系统主要包括以下9个栏目:首页、分类查询、特价图书、我的订单、缺书登记、付款方式、客服中心、联系我们和后台管理。

1.首页:包括用户注册与登录、月销售排行榜、新书推介、公告栏。并在首页显示:设为首页、加入收藏、在线帮助。

2.分类查询:用户可以按图书名、ISBN号、出版社、分类、出版年份、作者中的一项或多项为关键字查询库存图书,查询每种图书的图书名、出版社、作者、价格、内容介绍,并把选中的图书放入购书篮中。如果用户未登录,就只能查询图书,无法将图书放入购书篮中。

3.特价图书:显示网上书店最新的优惠打折书籍,为用户提供书的详细信息及折扣,方便用户购买。

4.我的订单:

①当用户在分类查询中查询到自己喜爱的图书并执行【购买】,就会弹出购书篮页面,显示用户所购买图书的信息,包括图书名称、数量、单价、该类图书的小计、以及购书篮所有图书的总计。

②购书篮页面给出4个按钮:清空购书篮、继续购物、改变数量、结帐。 用户单击【继续购物】按钮,或者直接在分类查询页面中单击【购买】,就可以继续购买其他感兴趣的图书。

用户可修改购书篮各类图书的数量;或清空购书篮。 用户单击【结帐】按钮,就完成整个购书流程。 ③如果用户未登录,就无法进入[我的订单]栏目。

5.缺书登记:如果用户需要的图书书店暂时缺货,用户可以先作登记,书店会根据用户的反馈订货。

6.付款方式:显示3种付款方式以及具体要求。 ①货到付款:送货上门 ②邮局汇款:款到给货 ③银行电汇:款到给货

7.客服中心: 用户可以将自己对网上书店的意见与建议以留言形式发给书店,书店将第一时间处理用户的反馈信息。留言簿仅供用户发表关于图书方面的问题,并需经本站管理员审核后才会显示。

8.联系我们:为静态页面,主要介绍网站的性质、经营宗旨、联系方式。 9.后台管理:包括用户管理、图书管理、订单管理、公告栏管理。

7

3.2 角色识别

本系统设置三种用户角色:普通游客、注册用户、系统管理员,三类用户使用本系统的权限不同。

普通游客可以快速、详细查询图书,可以进入客服中心查看常见问答,可以进入联系我们的页面。普通游客在网上注册后,由管理员审核合格可转为注册用户。

注册用户具备普通游客的所有功能,同时,可以将查询的图书加入到购书车,可以对购书篮中的图书进行数量加减、删除。用户可以维护自己的注册资料,可以在客服中心提出建议或投诉。

系统管理员可以进入后台管理页面,可以进行用户管理,包括查询、删除注册用户,添加新的管理员;可以进行订单管理,包括查询、删除订单;可以进行图书管理,包括查询、修改、录入、上传图书封面图片。

3.3 业务流程

三类用户打开网站后,首先可以查看到由系统设置的热门书广告、随机出现最热图书及介绍,新书列表,折价书(折扣率<=0.8)列表。普通游客在有限的权限内查看图书信息或注册。管理员登录后即进入管理员的界面。注册用户登录后仍停留在主页界面,可以选择图书查询,用户订单管理,包括购书篮和订单的查、增、改、删操作,进入客服中心执行用户投诉或建议、修改资料和密码操作,用户查到所需图书时,可以按实际需求填写数量并加入购书篮,如篮中已有该书则数量累加(填写负数为减)。具体流程按角色分类可参见图3-1、图3-2、图3-3。

普通游客

登录网站 查询 网站主页 点击新特书或 滚动广告条 用户注册 分类查询页面 用户注册页面 图3-1 普通游客业务流程

输入账号、密码、六位随机验证码 管理员 登录网站 网站主页 N 通过验证 Y 用户管理 订单管理 8 后台管理页面 图书管理

图3-2 管理员业务流程

分类查询页面 我的订单页面 客服中心页面 通过验证 Y 记录用户ID和用户类型 输入账号、密码、六位随机验证码 登录网站 注册用户 网站主页 N 图3-3 注册用户业务流程

3.4 数据库设计

数据库管理系统统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。数据库管理系统还承担着数据库的维护工作,能够按照数据库管理员所规定的要求,保证数据库的安全和完整性。本网上书店系统的DBMS采用SQL Server 2005。数据库在一个MIS中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构可以提高数据存储的效率,保证数据的完整性与一致性,同时,合理的数据库结构也有利于程序的实现。

1.总体E-R图,如图3-4所示。

图3-4 总体E-R图

2.逻辑结构设计

用户 m 登记 n m 订购 n 图书 9

(1)注册用户表:存储注册用户的个人资料,表结构见表3-1。

表3-1 注册用户表

编号 1 2 3 4 5 6 7 8 9 10 字段名 用户名 真实姓名 密码 性别 电话号码 通信地址 邮政编码 E-mail 身份证号码 有效性 字段类型 varchar(10) varchar(8) varchar(8) varchar(2) varchar(20) varchar(40) varchar(6) varchar(20) varchar(20) Varchar(4) 表3-2 图书表 编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 字段名 书号 图书名 内容 作者 出版社 出版年月 单价 折扣率 库存量 图片 类别 点击数 是否新书 是否热门 图书简介 字段类型 varchar(20) varchar(40) text varchar(20) varchar(40) datetime float float int varchar(40) varchar(20) int bit bit text 说明 主键 0否,1是 0否,1是 说明 主键 未审、已审、禁用 (2)图书表:存储图书的详细信息和库存量,表结构见表3-2。

(3)购书篮表:暂时存储从书店中选中的图书,当点击“结算”时,这些图书就被转移到订单表中,不再保存在购书篮表。购书篮表的结构见表3-3。

10

表3-3 购书篮表

编号 1 2 3 4 5 6 字段名 用户名 书号 图书名 单价 折扣率 拟购数量 字段类型 varchar(10) varchar(20) varchar(40) float float int 表3-4 订单表 编号 1 2 3 4 5 6 7 见表3-5。

表3-5 缺书登记表

编号 1 2 3 4 5 6 7 8 字段名 用户名 书号 登记日期 图书名 作者 出版社 单价 拟订数量 11

说明 (4)订单表:存储每份订单的详细信息,表结构见表3-4。

字段名 订单号 用户名 书号 数量 金额 付款方式 订单状态 字段类型 varchar(10) 说明 主键 户表 varchar(20) int float varchar(8) varchar(2) 主键 货到付款、邮局汇款、银行电汇 新、确认、完成 (5) 缺书登记表:存储注册用户想购买但书店暂时没库存的图书,表结构

varchar(10) 外键,参照于注册用字段类型 varchar(10) varchar(20) datetime varchar(40) varchar(20) varchar(40) float int 说明 主键 主键 主键

(6)公告栏:存放在首页显示的公告栏信息,表结构见表3-6。

表3-6 公告栏

编号 1 2 3 4 5 字段名 ID 公告标题 公告内容 发布时间 Html标记否 字段类型 int varchar(50) text datetime bit 说明 主键 1是,0否 (7)管理员表:存储系统管理员的登录信息,表结构见表3-7。

表3-7 管理员表 编号 1 2 3 4 字段名 用户名 密码 姓名 权限 字段类型 varchar(10) varchar(8) varchar(8) 说明 主键 理员 (8)期刊表:存储各种期刊信息,表结构见表3-8。

表3-8 期刊表

编号 1 2 3 4 5 6 7 8

12

varchar(10) 普通管理员、超级管字段名 ID 期刊名 主办单位 地址 邮编 联系电话 出版年份 期号 字段类型 int varchar(20) varchar(20) varchar(40) varchar(6) varchar(20) datetime varchar(8) 说明 主键 4 系统详细设计与实现

4.1首页模块

1.首页的头部:由以几部分组成:

(1)站点LOGO:用photoshop制作,高:80,宽:200; (2)站点宣传语:用flash制作,高80,宽:470,

(3)快捷信息栏:这里是为了方便用户而设置的一些快捷操作,包括三个功能:设为首页、加入收藏、在线帮助。

(4)导航条:用于显示本系统的主要栏目,以方便用户操作。

2.首页的尾部:由管理员管理入口,站点计数器,客户留言入口,系统版权信息等几部分组成。

(1)站点计数器:当用户访问一次本站,站点计数器会自动加1。 (2)管理员管理入口:要实现远程管理,就必须提供管理入口,这个入口应该放在不显眼的位置,本站的管理就放在网站底部,任何人都可以在这里进入管理员登录页面,而且凭管理帐号与管理密码才能进入管理模块。

(3)站点版权信息:主要是说明网站的开发者,开发日期,有效日期等。 3.首页的主体:主体规划如图4-1所示。

图4-1 首页的主体规划

4.2分类查询模块

用户可以按书号、图书名、作者、出版社、出版年份、类别中的一项或多项为关键字查询库存图书,若未输入任何信息就直接单击【确定】按钮,则查询全部库存图书。用户界面如图4-2所示。

13

图4-2 分类查询界面

当用户单击【确定】按钮时,就能将符合条件的库存图书分页显示出来,用户界面如图4-3所示。若当前显示的是第1页,则“第一页”、“上一页”未带超链接,若当前显示的是最后一页,则“下一页”、“最后一页”未带超链接。

图4-3 库存图书

当注册用户单击【购买】,就能将中意的图书放入自己的购书篮中。普通游客只能查询图书,无法将图书放入购书篮中。

4.3 购书篮模块

1.向购书篮添加记录。

当用户点击图书后面的【购买】按钮,系统首先判断用户类型,若是注册用户,则将该图书的书号,图书名,原价,折扣、数量添加到购书篮中,如图4-4所示。实现代码为:

public static string sqlcon_str=ConfigurationSettings.AppSettings[\public static SqlConnection con=new SqlConnection(sqlcon_str);

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //1.取出欲购买图书的书号、用户名。 con.Open();

String Bid=Session[\当前书号

String bname=\书名,单价,折扣率,数量

14

Boolean yn=false; //是否存在该书

if(Session[\请先登录,才能购书\

String Uid = Session[\当前用户名

//2.从图书表中取出该书号对应的图书名,单价,折扣率存入bname、bpri、bf中。 Label2.Text = \当前书号:\当前用户:\ SqlCommand cmd = new SqlCommand(); cmd.Connection = con;

cmd.CommandText = \图书名,单价,折扣率 from 图书表 where 书号= '\+ Bid + \

SqlDataReader rs = cmd.ExecuteReader(); while (rs.Read()) {

bname =rs[\图书名\ bpri=rs[\单价\ bf=rs[\折扣率\ }

rs.Close();

//3.向购书篮表插入记录 bcout =TextBox2.Text; cmd.CommandText

=

\

into

('\

cmd.ExecuteNonQuery(); showmessage(\加入购书篮成功\ con.Close(); }

图4-4 购书篮页面

2.购书业务流程

15

当用户单击“继续购书”按钮,可以返回分类查询页面,继续选择欲购买的图书;单击“编辑”按钮,就能修改欲购图书的数量;单击“删除”按钮,就能删除购书篮中的图书。当用户在购书篮中点击“结算”后,用户所购买的图书信息将会直接上传到我的订单中,最后删除购书篮表中当前用户的图书记录。购书业务流程如图4-5所示。

是 是否继续 购书 否 结算金额 修改订单表 购书结束 图4-5 购书业务流程 修改数量/退书 是 向购书篮添加图书 提示用户未登录,请先登录。 当前用户是 否注册用户 否 单击[购买] 购书开始 4.4 我的订单模块

用户填写好订单(包括用户个人资料、配送信息、付款方式等)后,系统会将这些信息重新显示在屏幕上,让用户确认,若有错,则可以进行最后的修改,如果都已正确填写了,就选择支付方式并提交订单,订单页面如图4-6所示。

16

图4-6 “我的订单”页面

4.5 后台管理模块

此模块只供系统管理员进入,首先显示登录页面,系统管理员必须输入正确的用户名和密码,才能进入本模块。本模块的结构如图4-7所示。

后 台 管理 注册用户管理 图书管理 订单管理 公告栏管理 图4-7 后台管理模块

4.5.1 注册用户管理

(1)查看、修改注册用户:用于查看注册用户的个人资料,修改注册用户的有效性(未审、已审、禁用)。

系统首先分页显示全部注册用户的个人资料,每页显示30位注册用户,每位注册用户占一行,页面结构如图4-8所示,其中AA带有超链接,当单击AA超链接时,就会显示用户名AA的修改页面。

17

删除 □ :

用户名 AA :

真实姓名 BB :

密码 CC :

有效性 已审 :

图4-8 注册用户一览表

(2)删除注册用户:当选中每行的复选框,再单击页面底部的【删除】按钮,即可永久地删除注册用户的个人资料。当选中“全选”复选框,则可将本页的全部注册用户资料删掉。删除考生资料时,还要同时删除该用户的订单信息。 4.5.2 图书管理

(1)添加图书:包括单个添加图书、批量添加图书两种方式,“单个添加图书”模块用于录入书店新采购的图书资料,包括书号、图书名、内容、作者、出版社、出版年月、单价、折扣率、库存量、图片、类别、点击数、是否新书、是否热门、图书简介。系统必须提供一个机制,保证管理员录入的出版年月、类别的规范化。

“批量添加图书”模块适用于多个记录的添加,它将book.xls文件上传到站点的指定目录中,再将book.xls文件中的“图书”工作表导入到数据库的图书表中,然后自动删除上传到站点的Excel文件,如图4-9所示。

图4-9批量添加图书

实现算法如下:

设在FileUpload控件的 ID名为\,单击“上传Excel数据到数据库中”按钮就触发下面事件。

protected void Update_Click(object sender, EventArgs e) {

//上传“book.xls”,若服务器已存在同名的文件,则覆盖之。 String strPath=Server.MapPath(\ FileUpload1.SaveAs(strPath); //将Excel工作表插入到数据库中。 string str =

18

Convert.ToString(ConfigurationManager.ConnectionStrings[\ SqlConnection con = new SqlConnection(str); string

sql

=

\

INTO

SELECT

*

FROM

OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;DATABASE=\* from [图书表$]')\

SqlCommand cmd = new SqlCommand(sql,con); con.Open(); try {

cmd.ExecuteNonQuery(); } catch {

//把上传错误的文件删除

File.Delete(strPath);//若指定的文件不存在,则忽略此方法。 //转到报错页

Server.Transfer(\ }

con.Close();

LabelResult.Text = \批量插入成功!\ File.Delete(strPath); } }

(2)修改图书:用于查询、修改书店库存图书的资料。 (3)删除图书:用于删掉书店库存图书的资料。 4.5.3 订单管理

订单管理是系统管理最重要的部分。网上书店系统作为商业系统,与财务打交道显得尤其重要。订单管理模块有两个子模块组成:查看订单,删除订单。查看订单是查看所有用户的订单,包括已付款与未付款的。查看订单也是采用分页显示技术。删除订单是当用户已提交了订单可是又不想再购买了,那就把其订单删除。这是站在用户立场设计的部分,让用户有更多选择的空间。 4.5.4 公告栏管理

公告栏是首页的组成部分,网站新闻动态,时事等信息都是在公告栏公告。

19

公告栏管理模块包括三个子模块:添加公告,删除公告,更新公告。新公告添加成功后,将会在显示在公告栏的顶部。按发布时间的先后顺序来排序显示。

20

5 万能密码问题

万能密码指的是有些非法用户使用所谓的万能密码成功登录网站的情况。许 多网站在数据库中建立一张表用于存放用户名和密码以便用户的合法性验证,若 把对用户名和用户密码的验证放在了同一条语句就会导致的一个漏洞,而使用所 谓的万能密码就会使得这个条件判断语句恒为“真”。

例如,在登录验证中用以下SQL语句:

sql=\* from 注册用户表 where 用户名='\and 密码='\

若构造一个特殊的密码,如:be' or '1'='1 ,用户名为任意值,这时SQL语句变成:

sql=\系统用户表 where 用户名='2' and 密码='be' or '1'='1'\

因为or是逻辑“或”运算符,在判断两个条件时,只要其中一个条件成立,复合条件就会成立,上面select语句的条件总是成立的。

采用万能密码以后,即使使用非法的用户名或密码也可成功登录系统。解决方案是:使用javascript脚本,首先检查是否输入用户名或密码,若用户名或密码不空,则继续检查是否包含非法字符(如\,、“or”等)。若包含非法字符,则提醒用户重新输入,相应代码为:

Top