毕业设计论文(范文)_第1页
毕业设计论文(范文)_第2页
毕业设计论文(范文)_第3页
毕业设计论文(范文)_第4页
毕业设计论文(范文)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、毕 业 设 计(论 文) 网上商城购物系统网上商城购物系统 系系别:别:计算机工程系计算机工程系 专专 业业 名名称称: 学学 生生 姓姓名:名: 学学号:号: 指导教师姓名、职称指导教师姓名、职称:梁宝兰梁宝兰 助教助教 完成日期 2009 年 2 月 日 i 网上商城购物系统 摘 要 随着 internet 信息技术的高速发展,网上购物已经成为当今社会一种比较流行 的购物方式。企业网站在商务活动中发挥越来越大的作用:通过网络,实现及时发 布产品,实时更新产品信息,快速地处理订单等功能,更好地服务于客户。网上商 城购物系统使购物过程变得轻松、快捷、方便。 本系统共分两个部分:前台用户部分和后

2、台管理部份。在前台用户部分中,包 括用户在线注册/登录、定购商品、浏览/搜索商品、查询商品信息等操作;后台管 理部分包括:商品类别的管理,商品信息的管理、用户订单的管理、客户的管理。 目前类似的系统已比较成熟。本系统实现了网上商城购物系统最基本的功能模 块,项目进展比较顺利。作者作为该项目的主持人,完成了这些:项目开发总体方 案设计、需求分析、概要设计、各部分模块的详细设计码以及对项目的总结。 关键词关键词 网上商城,购物车,mysql 5,apache 2,php ii the system of online shopping abstract with the rapid develop

3、ment of infermantion technology happened in the internet, shopping online is getting a new-fashioned and popular shopping way. the shopping online system of the company,play an important role with the rapid economic development.the company can sell products online, also the company make issue of var

4、ious prompt information become easy. the shopping online system establishes a dummy shopping market to make the purchase process become easy,swift and convenient. main functions of this system are as follows: the shopping online system can be divided into two parts:foregrounding and management.the f

5、ormer includes online registration,ordering goods,browsing goods,inquiring goodsinformation,etc;the later includes management of goodsinformation and goodscategories,usersorder forms and clients. at present,some similar systems have been developed relatively mature. this system has been basically co

6、mpleted. as the compere of this item,the author had finished such steps:itemsdevlopment and organization,genaral projects designation,demand analysis,summary designation,whole designation and coding for modules,as well as summarizing this item. keywordskeywords:market online,shopping cart, mysql 5,a

7、pache 2,php iii 目 录 1 概述 .1 1.1 开发背景 .1 1.2 网上购物的现状 .1 1.3 论文组织 .2 2 功能需求分析 .3 2.1 设计思路 .3 2.2 系统的功能性需求 .3 2.3 非功能性需求 .3 2.4 可行性分析 .3 2.5 开发本系统选择的主要工具 .4 2.5.1 开发工具的选择 .4 2.5.2 数据库的选择 .6 3 系统设计 .7 3.1 系统设计 .7 3.2 系统主要功能模块结构 .7 3.3 部分模块的数据 .10 3.3.1 商品搜索数据流图 .10 3.3.2 用户购买商品数据流图 .11 3.4 数据库逻辑结构设计 .11

8、 4 系统功能的具体实现 .14 4.1 系统开发平台及环境配置 .14 4.1.1 开发平台 .14 4.1.2 环境配置 .14 4.2 数据库的生成与连接 .14 4.2.1 数据库的生成 .14 iv 4.2.2 数据库的连接 .14 4.3 公共文件的实现 .15 4.4 各子模块功能的实现 .15 4.4.1 网站的首页设置 .15 4.4.2 用户登录和注册 .16 4.4.3 查询模块 .19 4.4.4 浏览商品模块 .19 4.4.5 购物车模块 .22 4.4.6 结账台模块 .23 4.4.7 商品类别管理模块 .24 4.4.8 商品管理模块 .27 4.4.9 用户

9、管理模块 .28 4.4.10 订单管理模块 .29 5 系统测试 .31 5.1 基于 web 系统的测试 .31 5.2 部分模块的测试用例 .31 6 总结 .34 参考文献 .35 致 谢 .36 1 1 概述 1.1 开发背景 随着 internet 信息技术的高速发展,网上购物已经成为当今社会一种比较流行的 购物方式。不论是腰缠万贯的大富翁、时尚的白领丽人还是普通的工薪阶层,其中大 部分人可能都有过网上购物的经历。电子商务成为一个很热门的话题,网络上出现了 大量电子商务网站。网络购物系统有着成本低、用户检索方便、地域限制少的特点。 其实电子商务包括的内容是很多的,而当前具体的实际运

10、用中有两个非常成功的 主流应用,一类是 b2b(business to business),另一类是 b2c(business to consumer) 。b2b 主要是面向企业的,专门为企业提供采购、销售和结算等业务的平台, 这种平台对性能、安全和服务要求比较高。b2c 则是大家最熟悉的,它直接面向终端的 大众消费者。 网上商城购物系统实际上是属于 b2c 的。简单来说,网上购物就是把传统的商店 直接搬回家,利用 internet 直接购买自己需要的商品或者享受自己需要的服务。专 业地讲,它是交易双方从洽谈、签约以及贷款的支付、交货通知等整个交易过程通过 internet、web 和购物界面

11、技术化的 b2c 模式一并完成的一种新型购物方式,是电子商 务的一个重要组成部分。因此,有人将此视为一个面向全国乃至全世界的大而统的虚 拟商场。 1.2 网上购物的现状 网上购物在当今发达国家已经显示出较强的发展势头,它在推动国家经济增长方 面可以说又是一支崭新的力量。举例来说,gfk 最近一份针对德国网上购物者的调查指 出,在 2004 年上半年,德国的在线购物销售额达到 53 亿欧元。gfk 预计,2004 年全 年,德国在线购物销售额达到 110 亿欧元之多。相比之下,在我国网上购物还是比较 滞后。与短信、游戏等互联网业务相比,电子商务在中国的发展是相对落后的;与电 子商务发达的国家相比

12、,中国还处于起步阶段。但是,经过近几年的发展,有越来越 多的人认识到“网上订货、送货上门”的方便,也有越来越多的人也开始接受网上购 物。 由于中国庞大的互联网用户群和经济的快速发展,谁都不会否定电子商务在中国 的发展潜力。统计显示,2004 年,我国电子商务交易总额累计达到 4400 亿元人民币。 其中,上海电子商务的年交易额达到 743.19 亿元,同比增长 47%,北京、广州的电子 商务年交易额分别为 666 亿元和 230 亿元。2005 年 5 月 13 日在沪举行的 2005 中国国 际电子商务博览会传出消息,2005 年我国电子商务交易总额有望突破 6000 亿元人民币。 cnni

13、c 在其发布的中国互联网络热点调查报告中显示:在我国有 17.9%的网民在半 年内有过网络购物经历,在浏览过购物网站的网民中,有 29.6%的人在半年内有过网络 购物经历,有过网络购物经历的被访者中有超过 90%的人今后会继续进行网络购物;有 2 63.7%没有购物经历的网民表示今后会尝试网络购物。这些数据表明我国网上购物市场 有巨大的潜力。 1.3 论文组织 在介绍了网上商城购物系统的开发背景、国内外的现状后,本文将在后面的章节 里阐述建立网上商城购物系统的具体过程,具体组织结构介绍如下: 全文共分为六章: 第一章是概述。主要介绍系统开发的背景、意义以及国内外类似项目的研究现状, 对网上商城

14、购物系统在国内的发展作了比较详细的分析。 第二章主要介绍了本文的需求分析,需求分析是软件开发的非常重要的一个步骤, 因此在本章我们进行了比较详细的分析。通过对系统设计思路、开发工具的选择等分 析, ,为系统的设计及实现打下一个良好的基础。构建系统的总体结构图,并详细分析 了各模块的功能 第三章重点介绍了系统的结构和功能框架,构建系统的总体结构图,并详细分析 了各模块的功能。通过功能设计出本系统就采用 b/s 三层结构为系统软件架构,并从 整体到局部把系统的功能模块化,以系统结构图的形式表现出来;还有就是把这些功能 结构进行实体化。 第四章是本论文的重点,详细讲解了网上商城购物系统的建立方法及具

15、体步骤, 对各个子模块进行分析。对这些子模块做了详略不同的讲解,同时附上部分 php 代码 方便对照示例理解。 第五章为本文的测试部分,介绍了软件环境的配置及测试结果分析,在测试前提 出应测试出的问题,最后得出测试的结论。 第六章是总结部分,对所完成的系统进行总结。 3 2 功能需求分析 2.1 设计思路 网上商城购物系统采用 b/s 结构。b/s 架构是工 ntranet 上的一个典型的分布式信 息系统。b/s 结构只需对服务器端的应用平台进行开发和集成,减少了开发、安装和维 护费用。建设过程中主要有以下考虑: (1)减少系统对硬件的要求 系统主要运行于服务器上,即系统运行的硬件取决于服务器

16、。 (2)降低维护成本 系统的维护主要集中于服务器端。 (3)降低系统升级维护的难度 逻辑与视图的分离是的模块相对独立,在业务变更及系统升级和维护时,难度大 大降低,极大地提高了工作人员的工作效率。 在功能设计和系统实现方面,学校办公自动化系统将提供以下特点: (1)实用性 实现网上购物的一般流程,系统方便易用。 (2)操作简单 保证系统适合不同等级计算机水平的用户,系统操作尽可能简单。 (3)代码可读性好 要求系统结构清晰,代码简单可读,便于日后维护和扩展。 网上商城购物系统开发的总体任务是实现顾客购物与管理员管理的系统化、规范 化和自动化。 2.2 系统的功能性需求 网上商城购物系统共分两

17、个部分:前台用户部分和后台管理部份。为了安全性, 管理员登录后台管理部分采用 http 认证技术。前者包括用户在线注册/登录、浏览/搜 索商品、查询商品信息、订购商品、购物车、用户信息维护等功能。后台管理包括商 品类别管理,商品管理、订单管理、用户管理等模块。 2.3 非功能性需求 (1)安全性要求。所有访问数据库的操作,必须有日志。 (2)时间性要求。保证用户一次最简单查询工作在 1 分钟内完成或者简单的购物 流程在 3 分钟内完成。 (3)美观性要求。要求界面美观,操作简便。 2.4 可行性分析 随着计算机网络的发展,上网人数日益增多,人们已经习惯通过网上商城网络上 4 进行购物和接受服务

18、。因此,我们通过这样的方式,在计算机网络种商品的销售,能 够被广大用户所接受,可以拓宽企业的客户群。 开发网上商城购物系统的技术已经非常成熟,首先,从硬件上讲,计算机硬件速 度现在已经不是问题,大容量高速度的硬盘十分普遍,同时网络的速度普遍可以达到 100m,这些为系统的运行打下坚实的基础。从软件的角度上讲,数据库技术已经相当 成熟(目前用得比较多的有 sqlserver,oracle,mysql 等) ,并且处理能力也非常强, 这为数据的存储和处理打下了坚实的基础,同时,开发网站的工具也非常多(比如: asp,jsp,php 等) ,并且相当成熟。有了这些技术的支持,我们成功开发一个办公自动

19、 化系统没有任何技术风险。 2.5 开发本系统选择的主要工具 2.5.1 开发工具的选择 目前开发动态网站的主要工具有:asp,jsp 和 php。 asp:(1)使用 vbscript 简单易懂的脚本语言,结合 html 代码,即可快速地完成 网站的应用程序。 (2)无须 compile 编译,容易编写,可在服务器端直接执行。 (3) 使用普通的文本编辑器,如 windows 的记事本,即可进行编辑设计。(4)与浏览器无关 (browser independence),客户端只要使用可执行 html 码的浏览器,即可浏览 active server pages 所设计的网页内容。active

20、 serverpages 所使用的脚本语言均在 web 服 务器端执行,客户端的浏览器不需要能够执行这些脚本语言。(5)active server pages 能与任何 activex scripting 语言兼容。除了可使用 vb script 或 javascript 语言来设计外,还通过 plugin 的方式,使用由第三方所提供的其它脚本语言,譬如 rexx、perl、tcl 等。脚本引擎是处理脚本程序的 com(component object model)对象。 (6)可使用服务器端的脚本来产生客户端的脚本。(7)activex 服务器组件具有无限可扩 充性。可以使用 visual

21、basic、java、visual c、cobol 等程序设计语言来编写 你所需要的 activex server component。 php:数据库连接 php 可以编译成具有与许多数据库相连接的函数。php 于公元 1994 年由 rasmus lerdorf 开始计划发展,至 1995 年以 personal home page tools(php 即 tools)开始对外发表第一个版本。 php 的早期版本中,只提供了访客留 言本、访客计数器等简单的功能。随后在新的成员加入开发行列之后,同在 1995 年中, 第二版的 php 问世了,第二版定名为 php/fi(form inter

22、preter)。php/fi 并加入了 mysql 的支持,自此奠定了 php 在动态网页开发上的影响力。在 1997 年底,有一万五 干个 web 网站使用 php/fi;在 1997 年中,使用 php/fi 的 web 网站成长到超过五万个。 php 跟 apache 服务器紧密结合的特性,加上不断的更新及加入新的功能,并且它 几乎支持所有主流与非主流数据库,再以它能高速的执行效率,使得 php 在 1999 年中 的建站用户就超过了十五万。它的源代码完全公开,在 open source 意识抬头的今天, 5 它更是这方面的中流砒柱。不断地有新的函数库加入,以及不停地更新的活力,使得 p

23、hp 无论在 unix 或是 win32 的平台上都可以有更多新的功能。它提供丰富的函数,使 得在程序设计方面有着更好的支持。 php 与 mysql 是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据 库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变 化。phplib 就是最常用的可以提供一般事务需要的一系列基库。但 php 提供的数据库 接口支持彼此不统一,比如对 oracle,mysql,sybase 的接口,彼此都不一样。这也是 php 的一个弱点。 jsp:(1)将内容的产生和显示进行分离,使用 jsp 技术,web 页面开发人员可以使用 html

24、 或者 xml 标识来设计和格式化最终页面。使用 jsp 标识或者小脚本来产生页面上 的动态内容。产生内容的逻辑被封装在标识和 javabeans 群组件中,并且捆绑在小脚 本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和 beans 中,那么其 他人,如 web 管理人员和页面设计者,能够编辑和使用 jsp 页面,而不影响内容的产 生。在服务器端,jsp 引擎解释 jsp 标识,产生所请求的内容(例如,通过存取 javabeans 群组件,使用 jdbc 技术存取数据库) ,并且将结果以 html(或者 xml)页面 的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于

25、 html 的 web 浏览器的完全可用性。(2)强调可重用的群组件,绝大多数 jsp 页面依赖于可重用且跨 平台的组件(如:javabeans 或者 enterprise javabeans)来执行应用程序所要求的 更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件 为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使 得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化 页面开发,web 页面开发人员不会都是熟悉脚本语言的程序设计人员。javaserver page 技术封装了许多功能,这些功能是在易用的、与 jsp

26、相关的 xml 标识中进行动态内容 产生所需要的。标准的 jsp 标识能够存取和实例化 javabeans 组件,设定或者检索群 组件属性,下载 applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定 制化标识库,jsp 技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功 能建立自己的标识库。这使得 web 页面开发人员能够使用熟悉的工具和如同标识一样 的执行特定功能的构件来工作。jsp 技术很容易整合到多种应用体系结构中,以利用现 存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用 java 技术家族 的一部分,以及 java 2ee 的一个成员,jsp 技

27、术能够支持高度复杂的基于 web 的应用。 由于 jsp 页面的内置脚本语言是基于 java 程序设计语言的,而且所有的 jsp 页面都被 编译成为 java servlet,jsp 页面就具有 java 技术的所有好处,包括健壮的存储管 理和安全性。作为 java 平台的一部分,jsp 拥有 java 程序设计语言“一次编写,各处 执行”的特点。随着越来越多的供货商将 jsp 支持加入到他们的产品中,您可以使用 自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。 性能比较:有人做过试验,对这三种语言分别做回圈性能测试及存取 oracle 数据 6 库测试。在循环性能测试中,jsp

28、 只用了令人吃惊的四秒钟就结束了 20000*20000 的回 圈。而 asp、php 测试的是 2000*2000 循环(少一个数量级) ,却分别用了 63 秒和 84 秒。 (参考 phplib) 。数据库测试中,三者分别对 oracle 8 进行 1000 次 insert,update,select 和 delete:jsp 需要 13 秒,php 需要 69 秒,asp 则需要 73 秒。 总之,asp,php,jsp 三者都有相当数量的支持者,由此也可以看出三者各有所长。 选择开发工具的依据是:(1)能够满足项目的需要, (2)开发人员相当熟悉该工具。 由于本人对 php 熟悉,因

29、此选择 php 作为开发工具。 2.5.2 数据库的选择 目前使用比较多的数据库系统有 sql server、oracle、mysql 等。选择一个合适 的数据库是非常重要的。mysql 是最受欢迎的开源 sql 数据库管理信息,尽管 mysql 在 许多方面不如 oracl,但是其价格比较低,其性能完全能够满足中小企业的应用。上面 已提到 php 与 mysql 是现在绝佳的群组合。综合考虑,本系统数据库选择了 mysql。 7 3 系统设计 3.1 系统结构 系统结构如图 3-1 所示。 网上商城购物系统用三层结构:用户层web 服务层数据层。 图 3-1 系统结构 用户层:就是最终用户,

30、授权使用浏览器访问站点的用户。 web 服务层:是空间提供的 web 应用服务器,所有的业务逻辑结构和功能模块都部 署在这个层,响应用户要求,调用业务逻辑,访问数据。 数据层:也是空间提供的数据库服务器,所以数据都保存数据库服务器上。 3.2 系统主要功能模块结构 系统功能模块结构如图 3-2 所示: 图 3-2 系统功能结构图 网上商城购物系统 前台人力资源管理 用 户 模 块 查 询 模 块 浏 览 商 品 模 块 首 页 推 荐 模 块 商 品 类 别 管 理 模 块 商 品 管 理 模 块 用 户 管 理 模 块 订 单 管 理 模 块 购 物 车 模 块 结 账 台 模 块 8 在前

31、台,可以将系统分为用户模块,包括注册、登录、查看个人信息和查看个人 订单 4 个方面;查询模块;浏览商品模块包括商品的种类显示;首页推荐模块;购物 车模块;结账台模块。 在后台,可以将系统分为商品类别管理模块、商品管理模块、用户管理模块、订 单管理模块。 下面将介绍各个模块的具体功能设计。 1、用户模块 用户模块包含以下几个部分,如图 3-3 所示: 图 3-3 用户模块 (1)登录:注册用户必须登录后才可以购物。 (2)注册:提供给用户注册为会员的功能。 (3)查看个人信息:用户可以查看注册时所填信息,并且可以修改 e-mail 地址、 真实姓名和登录密码。 (4)查看个人订单:用户可以查看

32、个人订单列表已经订单的详细情况,包括所订 商品的具体信息及订货人的具体信息。 2、查询模块 在查询模块中,输入关键字,就可以进行查询了。查询结果有全部符合和任意符 合两种。 3、浏览商品模块 浏览商品模块包含以下几个部分,如图 3-4 所示: 图 3-4 浏览商品模块 (1)浏览商品种类列表:在网上商城购物系统的左方导航菜单中显示了商品列表 用户模块 登录注册 查看 个人 信息 查看 个人 订单 浏览商品模块 浏览 商品 种类 列表 浏览 商品 列表 商品 详细 内容 9 名称,并提供超链接显示商品列表。 (2)浏览商品列表:显示商品某种类的商品和此种类商品的数量。 (3)商品详细内容:显示商

33、品名称、图片、所属分类,商品详细介绍,是否为推 荐商品,显示加入购物车按钮和订购按钮(可以修改购买数量) 。 4、首页推荐模块 在购物系统首页中显示推荐商品的图片、名称、价格等信息,显示次序将最新发 布的商品放在前,如此类推。商品列表类目也有受推荐的商品,那些标题前面加“星 号”的,排列在列表的开头的商品就是推荐商品。 5、购物车模块 购物车模块包含以下几个部分,如图 3-5 所示: 图 3-5 购物车模块 (1)浏览购物车:显示商品图片、商品名称、商品单价、商品数量和总价(包括 每件商品的总价合计和所有商品总价合计) 。 (2)添加商品到购物车。 (3)编辑购物车:修改购物车中已存在商品的数

34、量,并更新购物车。 (4)取消购物车中的商品:将购物车中的商品删除。 (5)清空购物车:清空购物车中所有商品。 6、结账台模块 在购物车模块中通过点击按钮进入结账台,也可以在页面公用左边的导航菜单中 进入结账台。结账台的功能是用户填写收货人信息后生成订单。 7、商品类别管理模块 购物车模块包含以下几个部分,如图 3-6 所示: 图 3-6 商品类别管理模块 商品列表管理模块 建立 分类 修改 分类 删除 分类 购物车模块 浏览 购物 车 编辑 购物 车 清空 购物 车 取消 购物 车中 的商 品 添加 商品 到购 物车 10 (1)建立分类:建立新的商品类目名称。 (2)修改分类:通过选择分类

35、,修改它的名称。 (3)删除分类:删除商品的某类别。 8、商品管理模块 在商品管理模块中,显示所选择商品类别的商品列表,可以增加新的商品,也可 以通过链接修改商品的名称、价格、图片、所属分类等详细信息。 9、用户管理模块 在用户管理模块,显示所有注册用户的用户名、密码、注册时间等注册信息以及 用户数量。 10、订单管理模块 订单管理模块包括查看订单信息和修改订单状态 2 个部分,如图 3-7 所示: 图 3-7 订单管理模块 (1)查看订单信息:管理员在订单管理模块中查看订单列表,点击可查询该订单 的详细情况,包括收货人信息、商品清单、价格、数量等信息。同时,点击商品名称 可进入该商品的详细介

36、绍表单。 (2)修改订单状态:在订单状态中,有订单正在处理和已处理 2 种状态。管理员 可以点击按钮在两种状态中进行切换。已处理的订单显示处理的日期时间。 3.3 部分模块的数据流图 数据流图简称 dfd,是 sa 方法中用于表示系统逻辑模型的一种工具。它以图形的 方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能, 所以它是一种功能模型。 本系统的模块多,在这里只给出部分模块的数据流图。其中,基本图形符号: “”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;“” 方框表示数据的源点或终点。 3.3.1 商品搜索数据流图 订单管理模块 查看 订单 信息 修

37、改 订单 状态 11 图 3-8 商品搜索数据流图 3.3.2 用户购买商品的数据流图 图 3-9 用户购买商品的数据流图 3.4 数据库逻辑结构设计 数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用 程序的开发效率和程序的性能都是非常重要的。 根据系统需求,本系统在 mysql 5 数据库中建立了如下 5 个数据表。 (1) user 表(用户信息表) ,此表主要用于保存注册用户的基本信息,如表 3-1 所示。 表 3-1 user 表 字段名数据类型长度主键说明 接接收收 查查询询 用用户户 分分析析 查查询询 商商品品信信息息表表商商品品类类目目表表 商商品品关关键

38、键字字查查询询信信息息 用用户户 用用户户名名、 密密码码 网网上上商商城城 购购物物系系统统 浏浏览览 商商品品 用用 户户 信信 息息 选选择择 商商品品 要要购购买买的的商商品品 购购物物车车商商品品列列表表 好好 选选 的的 品品 商商 结结账账台台 商商 品品 列列 表表 信信 息息 确确定定 购购买买 信信息息管管理理员员 处处理理 订订单单 发发货货 商商 品品 信信 息息 订订单单订订购购的的商商品品 处处 理理 好好 的的 订订 单单 发发 货货 信信 息息 12 id 自动编号 10 是用户 id user_name 字符 30 否用户名 passwd 字符 30 否密码

39、u_type 字符 10 否用户类型:customer(普 续表 3-1 通用户)、admin(管理 员) email 字符 50 否电子邮件 realname 字符 30 否真实姓名 regdate 日期/时间默认否注册时间 (2) products 表(商品信息表) ,此表主要用于保存商品的详细情况,如表 3-2 所示: 表 3-2 products 表 字段名数据类型长度主键说明 product_id 自动编号 10 是商品 id category_id 整型 10 否商品类别 id product_name 字符 50 否商品名 price 浮点默认否价格 detail 文本默认否商品

40、详细说明 is_commend 短整型 1 否是否为推荐商品 photo 字符 255 否商品图片位置 post_datetime 日期/时间默认否商品上传时间 (3) categories 表(商品类目表) ,此表主要用于保存商品的分类,如表 3-3 所 示。 表 3-3 categories 表 字段名数据类型长度主键说明 category _id 自动编号 10 是商品类别 id category_name 字符 50 否商品类别名 (4) carts 表(购物车表) ,此表主要用于保存当前用户购物车的相关信息,如 表 3-4 所示。 表 3-4 carts 表 字段名数据类型长度主键说

41、明 13 cart _id 自动编号 10 是购物车 id session_id 字符 32 否当前用户的 session_id product_id 整型 10 否商品 id number 整型 10 否商品数目 (5) orders(订单表) ,此表主要用于保存发布的各种内容的相关信息,如表 3- 5 所示。 表 3-5 orders 表 字段名数据类型长度主键说明 order _id 自动编号 10 是订单 id,根据提交订单时 间转换而来 session_id 字符 32 否购物车的 session_id user_name 字符 30 否用户名 rec_name 字符 30 否收货人

42、姓名 email 字符 50 否电子邮件 address 字符 200 否收货人地址 total_price 浮点默认否所购商品总价 postcode 字符 10 否邮政编码 tel_no 字符 20 否收货人电话 content 文本默认否备注信息 state 短整型 1 否状态 sendtime 整型 10 否处理时间 14 4 系统功能的具体实现 4.1 系统开发平台及环境配置 4.1.1 开发平台 开发工具:dreamweaver 8 测试环境:apache 2,window xp 4.1.2 环境配置 系统在编写 php 之前,需要安装一个运行 php 的环境,即 apache 2

43、服务器。还需 要安装数据库,本系统选择 mysql 5。 4.2 数据库的生成与连接 4.2.1 数据库的生成 根据已经得到的数据库逻辑结构,在 mysql 5 数据库中创建数据表。为了防止网 页浏览者猜测出数据库存放路径而直接将数据库下载到客户端,窃取数据库中的数据 或者恶意地修改/删除数据库中的数据,数据库文件的后缀名可以更改为任何格式,在 数据库设计中是一种比较好的数据库保护措施。 4.2.2 数据库的连接 动态网页需要与数据库进行交互,每次交互都必须进行连接,为了提高代码的复 用性,在本系统中,将数据库的相关连接定义在一个叫 config.inc.php 的公共文件里, 凡是牵涉数据库

44、连接操作的网页只要该文件包含 include 进去,就可以调用该段初始 化代码程序。定义数据库连接的源代码如下: ?php /连接数据库的定义 define(db_user, root); /用户名 define(db_password, 3558883);/密码 define(db_host, localhost); /数据库主机地址 define(db_name, php_shop); /数据库 /打开数据库连接 $db = mysql_pconnect(db_host, db_user, db_password); if (!$db) die(数据库连接失败!); exit; /选择数据

45、库 15 mysql_select_db (db_name); ? 4.3 公共文件的实现 为了使代码能重复利用,实现代码的重用性,将一些常用的功能代码单独写在一 个文件内。在使用时用 include 关键字把这些代码包含到文件中即可。本系统把这些 内容包含在系统配置文件和公用文件中。其中系统配置文件 config.inc.php 包括系统 参数设置,公共函数设置,以及系统的初始化程序。在系统前台页面用到的公共文件 分别是 header.inc.php 和 footer.inc.php,在系统后台管理页面中用到的公共文件是 admin/header.php.以检查电子邮件地址格式是否正确的公共

46、函数为例,实现如下: /功能:检查电子邮件地址格式是否正确 /输入:电子邮件地址 /输出:true 或 false function checkemail($email) $check=/0-9a-za-z_-+0-9a-za-z_-+(.0-9a-za-z_-+)0,3$/; if(preg_match ($check, $email) return true; else return false; 4.4 各子模块功能的实现 4.4.1 网站的首页设置 系统首页分为左右两个部分,如图 4-1 所示。页面左侧为商城公告、搜索栏、登 录情况显示(如果用户已登录,则会显示“查看个人信息”和“查看

47、个人订单”按钮) 和网站导航内容。页面右侧可以分为“推荐”和“商品列表”两个栏目。 “推荐”栏目 是主要显示推荐商品的,是指那些在 products 表中 is_commend 字段值为 1 的商品。 “商品列表”栏目是按照商品分类目录显示的,每个商品的分类目录下,最多显示 5 件商品。单击商品名称后面的手推车图标可以将选中的商品放入购物车内。 16 图 4-1 首页 4.4.2 用户登录和注册 用户注册页面的作用是生成一个进行用户注册的表单界面。注册内容主要包括用 户名、密码、e-mail 地址和真实姓名等,其中真实姓名为可选内容。注册流程如图 4- 2 所示。注册表单提交后,程序将对提交的

48、数据进行合法性检验,并返回注册是否成功 的信息提示。其运行界面如图 4-3 所示。 图 4-3 用户注册页面 图 4-2 用户注册流程 开始 接接收收用用户户输输入入 的的用用户户名名 用用户户名名 重重复复吗吗? n 接接收收用用户户输输入入 的的密密码码 接接收收用用户户输输入入 的的e-mail e-mail 合合法法吗吗? 接接收收用用户户的的 其其它它信信息息 y 结束 17 通过该页面将数据提交到 add_user.php 页面做进一步检查并创建新用户记录。关 键代码如下: 0) exitmessage(该用户已经存在!); ? 用户登录页面则检查是否存在匹配的用户记录。用户登录界

49、面如图 4-4 所示。用 户匹配后,将用户名存放到 session 中。前台用户登录流程如图 4-5。如果在其他页面 中读取到该 session 值,说明用户已经登录,否则说明用户尚未登录。 18 图 4-4 用户登录页面 图 4-5 前台用户登录流程 用户登录后,则在网页左侧导航菜单中显示“查看个人信息”和“查看个人订单” 按钮。用户可以对个人信息进行维护,也可以查看订单。 而用户要登录后台界面,则除了在上述用户登录界面输入正确的管理员账户和密 码,还要经过 http 认证,关键代码如下: if ($_serverphp_auth_user=admin /成功登录 else header(w

50、ww-authenticate:basic realm=欢迎登录商城管理系统); header(http/1.0 401 unauthorized); die(请输入正确的账号与密码!); 界面如下: 程序获取 用户名和 密码 系统验证 进入前台 重新输入 用户名或 密码错误 用户名和 密码正确 19 图 4-6 后台用户登录验证 4.4.3 查询模块 在页面左侧的公用头部页面可以输入关键字查询商品,结果显示全部符合或者任 意符合关键字的商品列表以及数目统计。 下图为输入关键字电子商务系统的查询结果: 图 4-7 搜索商品结果 4.4.4 浏览商品模块 浏览商品模块包括浏览某类目商品列表和浏览

51、具体商品详细情况功能,并且可以 通过连接购买商品,进入购物车和结账台。除查看某类目商品列表和商品信息外,其 他功能要登录才能进行。 1、按分类查看商品列表 在页面左侧公用头部中,显示了商品分类的超级链接,用户点击链接可以进入该 分类商品列表。列出商品类别目录的核心代码如下: 20 ?php /列出商品目录 $sql = select * from categories order by category_name; $result = mysql_query($sql); while($row = mysql_fetch_array($result) echo ; echo htmlspeci

52、alchars($rowcategory_name); echo ; ? 如图 4-8 所示,此时可以在下拉式菜单中选择商品分类显示: 图 4-8 按分类查看商品 2、分页显示商品信息 程序根据选择的商品类别 catid,并读取满足条件的商品,计算满足的记录总数, 然后根据偏移量$offset 确定在数据库中获取记录的起始位置,从而确定分页条件。核 心代码如下: ?php $each_page = each_page; /每页最多允许显示的记录数 $offset = intval($_getoffset);/记录偏移量 $category_id = intval($_getcatid); /商

53、品类别 id 21 /取得该类商品记录总数 $sql = select count(*) from products where category_id=$category_id; $result = mysql_query($sql); $row = mysql_fetch_row($result); $total = $row0; /商品总数 /规范$offset if($offset $total) $offset = $total; ? ?php /为分页准备 /输出上一页的链接 $last_offset = $offset - $each_page; if($last_offset上

54、一页a href=?offset= 商品目录 商品信息 推荐商品 查询商品 购物车客户登记生成订单 下订单通知汇款 25 /检查类别名是否重名 $sql = select * from categories where category_name=$category_name; $result = mysql_query($sql); if(mysql_num_rows($result)0) /类别名已经存在,输出错误信息 exitmessage(类别名已经存在,请选择其他名称!); else /类别名不存在,添加新类别 $sql = insert into categories (categ

55、ory_name) values($category_name); $result = mysql_query($sql); exitmessage(新建类别已经成功!, category.php); /修改类别名称 elseif($action = rencat) /要修改类别没有选择 if(empty($category_id) exitmessage(请选择要修改的类别!); /类别名称没有填写 elseif(empty($category_name) exitmessage(请填写新的类别名称!); /检查类别名是否重名 $sql = select * from categories

56、where category_name=$category_name and 26 category_id$category_id; $result = mysql_query($sql); if(mysql_num_rows($result) 0) /类别名已经存在,输出错误信息 exitmessage(类别名已经存在,请选择其他名称!); else /类别名不存在,修改类别名 $sql = update categories set category_name=$category_name where category_id=$category_id; $result = mysql_qu

57、ery($sql); exitmessage(类别名称已经修改成功!, category.php); /删除类别 elseif($action = delcat) /要删除类别没有选择 if(empty($category_id) exitmessage(请选择要删除的类别!); /检查该类别下是否存在商品 $sql = select * from products where category_id=$category_id; $result = mysql_query($sql); if(mysql_num_rows($result) 0) /该分类下存在商品,无法删除类别 exitmes

58、sage(该类别下还存在商品,无法删除!); else /删除类别名 27 $sql = delete from categories where category_id=$category_id; $result = mysql_query($sql); exitmessage(类别已经删除成功!, category.php); else exitmessage(系统参数错误!); 4.4.8 商品管理模块 商品管理模块主要有下面 4 个文件:商品列表页面、商品信息添加页面、商品信 息编辑页面和商品信息删除页面。 1、商品列表页面 商品列表页面根据类别显示商品的详细列表,如图 4-15 所示

59、。 图 4-15 商品列表页面 2、商品信息添加页面 商品信息添加页面主要负责生成添加商品的表单界面,以及将提交的商品信息保 存到数据库中。如图 4-16 所示,商品信息除了商品分类、名称、单价、详细介绍等内 容,还允许上传一张商品图片,该图片的文件上传目录已预先在配置文件 config.inc.php 中定义: define(upload_path,dirname(_file_)./uploads/); 如果点击选框“推荐商品” ,该商品会被设置为推荐标记。 28 图 4-16 添加新商品页面 其中,星号标注的栏目必须填写,判定至少有一个错误时,将输出提示信息。 3、商品信息编辑页面 商品信

60、息编辑页面与商品信息添加页面相似,它主要扶着显示信息编辑的表单页 面,以及将编辑后商品信息数据更新到数据库中。页面如图 4-17 所示。 图 4-17 编辑商品信息页面 4、商品信息删除页面 商品信息删除页面主要负责从数据库删除商品数据。程序首先查询所要删除的商 品记录。如果记录中存在商品图片,程序也会将其删除。当单击商品列表中的“删除” 按钮时,页面弹出“确实要删除该商品吗?”的提问框,确认后返回删除成功与否的 提示页面。 4.4.9 用户管理模块 在此模块中,只提供查看注册用户信息的详细列表,不提供修改功能,页面如图 29 4-18 所示: 图 4-18 注册用户信息页面 4.4.10 订

温馨提示

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

评论

0/150

提交评论