版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业论文题 目: 基于php的网上购物网站 院系名称: 专业班级: 学生姓名: 学 号: 指导教师: 教师职称: 12摘要随着internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于internet技术的发展,也将越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。本设计尝试用php在网络上架构一个动态的网上商品购物网站,以使每一位顾客不用出门在家里就能够通过上网来轻松购物。本文
2、详细介绍了基于php的网上购物系统的系统结构设计、实现方法和操作流程,并介绍了系统各个模块的主要功能和数据库设计及功能。该系统采用b/s结构,采用php技术进行动态窗体页面的设计。后台数据库选用mysql 数据库。系统设计并实现了会员注册及登录模块,会员基本信息模块,会员购物模块,产品搜索模块,管理员商品管理模块,用户管理模块,订单管理模块,信息管理模块等一系列功能模块。最后,对网上购物系统进行了系统测试,各个模块功能运行良好。关键字:internet,php,b/s,网上购物系统 title php-based shopping inline system abstractalong wit
3、h the development of internet technology, daily life can not go on without the network. the life and work of the social people of future will depend on the development of digital technology more and more , digitization, networking, electronization, virtual more and more. e-commerce presses close to
4、peoples life day by day along with the development of network too.developing course and present application state and development trend of internet can believe network technology will change life and working way of us greatly, and even change the values of the society to some extent.this paper tries
5、 to build up a dynamic e-commerce website in the network with php, so that each customer neednt go out and can do some shopping easily through internet at home 。 this paper describes system structure design, implementation method and operation process based on php, and introduces main functions of v
6、arious modules about the system and database design. the system uses b/s structure, and conducts design of dynamic form page by php technology. background database selects mysql database. system design realizes a series of function modules such as user registration and landing module, user basic inf
7、ormation module, shopping module, searching goods module, the management of goods ,the management of user,the management of orders ,the management of news and so on. finally, the paper tests shopping inline system, and the result finds that kinds of modules operate well.keyword: internet,php,b/s ,e-
8、shopping目 次1 绪论11.1开发背景及意义11.2 国内外电子商务现状11.3本文研究的内容31.4 开发可行性分析31.4.1 管理上的可行性31.4.2 技术上的可行性31.4.3 经济上的可行性41.4.4法律可行性41.4.5执行可行性42 系统需求分析52.1目标和任务52.2 系统功能分析52.2.1 功能性需求概述52.2.2系统流程分析72.2.3 系统目录结构82.3数据库分析92.3.1 数据库需求分析92.3.2数据库概念结构设计92.4系统开发环境102.4.1 硬件平台102.4.2 服务器平台102.4.3 开发工具102.4.4 技术构架102.6数据字
9、典112.6.1数据元素112.6.2数据存储。113系统概要设计133.1系统结构设计133.1.1 系统体系结构133.1.2 系统总体功能结构143.1.3 系统总体物理结构163.2数据库结构设计173.2.1数据库概念结构设计173.2.2数据库逻辑设计174系统详细设计224.1系统设计224.2 公共模块设计224.2.1 数据库公共模块224.2.2 common.php和golbal.php单元234.3产品模块设计234.3.1 产品类型设计234.3.2 产品添加设计234.3.3 产品信息查询254.4前台页面模块设计264.4.1首页设计264.4.2 产品详细信息2
10、74.4.3 购物车设计284.4.4结账处理294.4.5 会员注册和登录页面设计294.4.6 会员账户管理304.5 订单管理模块设计304.6会员管理模块设计325 系统测试335.1系统测试335.1.1 测试的目的335.1.2测试的准则335.1.3测试的方法335.2 单元测试实例345.3 综合测试355.4系统的维护主要包括四个方面35总结36致 谢38参考文献391绪论1.1开发背景及意义电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境
11、下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。即电子商务web(服务器)it(信息技术)+企业业务。电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务(b2b)、企业与消费者之间的电子商务(b2c)、企业与政府之间的电子商务(b2g)、政府与消费者之间的电子商务(g2c)、企业内部的电子商务。电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子
12、商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。1.2 国内外电子商务现状以下是根据cnnic(中国互联网络信息中心)公布的中国b2c电子商务发展报告来进一步分析目前的网上购物的现状。(主要引用其中的分析图表)图1-1选择网上购物的原因图1-1用户网购原因从上面的图可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。图1-2用户选择商品配送的方式 图1-2用户选择商品配送的方式 从上面的图中可以看出人们总希望直
13、接可以拿到物品,而不需要耽搁自己的时间,如果是送货上门,也可以当面检查所购的物品,这也表现出人们对厂商信誉的担忧。 图1-3 用户认为目前网上交易存在的最大问题 图1-3用户认为目前网上交易存在的最大问题从上面的图中可以看出目前两个最严重的问题是安全性和产品服务。1.3本文研究的内容本文详细介绍了基于php的网上购物系统的系统结构设计、实现方法和操作流程,并介绍了系统各个模块的主要功能和数据库设计及功能。该系统采用b/s结构,采用php技术进行动态窗体页面的设计。后台数据库选用mysql 数据库。系统设计并实现了会员注册及登录模块,会员基本信息模块,会员购物模块,产品搜索模块,管理员商品管理模
14、块,用户管理模块,订单管理模块等一系列功能模块。最后,对网上购物系统进行了系统测试,各个模块功能运行良好。1.4 开发可行性分析1.4.1管理上的可行性把企业业务延伸到internet上,建立电子商务网站,对运营商业企业来说,是企业对外展示信息,从事商务活动的窗口和界面。因此,高中层管理人员不会对此有很大的抵触情绪,主管领导也能够相应的支持。 1.4.2技术上的可行性 根据系统目标需求分析得结果来看,不需要通过购买专业软件,仅采用phpstudyadmin为开发环境,apachec为服务器,选择php语言就可以解决相关的问题,从而保证系统功能的实现。1.4.3经济上的可行性商业企业在运营过程中
15、 ,经常会遇到产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。1.4.4执行可行性本系统采用ie浏览界面,是大家熟悉的,对于用户只需要具有一般的计算机知识的人员都可以轻松上手。而且整个系统采用最友好的交互界面,简洁明了,不需要对数据库非常了解。因此,该系统的操作是可行的。2系统需求分析2.1目标和任务网上购物基于b/s模式, 通过对一些典型电子商
16、务网站的考察、分析,并结合企业要求, 开发一套拥有前后台的信息化管理系统,需满足以下要求:l 统一友好的操作界面,保证系统的易用性;l 商品分类详尽,可按不同类别查看商品信息;l 为客户提供通过一个购物车模型就能够购买多个商品项的机制;l 提供简单的安全模型,让客户必须先进行登录,才允许购买购物车的内 容;l 设计网站后台操作平台,管理网站的各项基本数据。l 对不同的管理者设置不同的权限; 系统的主要任务有: a,处理对象:主要涉及的数据有:商品、顾客(会员)、顾客组、管理员(用户)、管理员组、订单、邮寄方式等。 b,处理功能要求:本系统完成商品、顾客(会员)、管理员(用户)、订单等之间的功能
17、联系,形成一个有效的循环系统。具体包括以下几点:1,顾客注册为会员;2,管理员发布商品;3,订单管理;4,顾客组管理;5,管理员权限的管理等。2.2系统功能分析2.2.1功能性需求概述在线购物系统是商家和购买者直接接触的桥梁,商家通过管理在线购物系统,向购买者发布、展示产品,而购买者也通过网站和商家交流、订购产品,从而达到现实交易的目的。 在这个交易过程前,商家需要将产品信息录入,并且在前台显示出来,这其实就是一个信息发布系统,顾客在看到产品后,可能会有许多的问题,也就是需要针对产品留言,然后企业做出相应的回答,这个留言也属于信息发布的一部分。在交易过程中,顾客一般是不允许匿名购买的,顾客需要
18、留下现实的个人信息才能收到现实中的产品,相信作为顾客,也很愿意方便线下联系。接着是在线模拟交易过程,顾客完成所有的选取后,就可以付账了,这里需要和支付网关连接。付账之后就是企业方通过后台的程序发现有新交易并进行线下处理。在交易完成后,企业方需要对近期销售情况进行统计,如会员资料的查询、修订等。通过对电子交易流程的划分,在线购物系统的系统功能主要由3部分组成:信息发布系统、会员管理系统和电子交易系统。电子商务的本质更趋向于电子交易,也就是前台和客户打交道的页面。通过细化系统功能,很明显电子交易部分是重点,电子交易页面需要完成哪些功能呢?逛在线购物系统和逛超市相似,进入超市时,顾客习惯拿购物筐或者
19、购物车,再开始逛。逛超市时会不断查看想买的东西,直到确定买的那个产品的位置,在确定的过程中,会不断将其他物品放到购物车中,然后再将不适合的东西拿出,一直到结账。在选取物品时会发现,超市总是把相关的产品放在一个位置,以方便消费者,同时消费者也会拿出两个相同类型的东西进行比较。通过对超市购物的分析,了解了应该如何去模拟一个现实的交易过程。首先,需要一个产品的展示,方便顾客查询,还要有产品比较的数据,更有助于消费者比较,选择自己满意的产品;然后,要有一个购物车,方便顾客查看自己选中的产品,也可以把需要购买的产品放入购物车或者从购物车中拿出不需要的产品;最后是结账,和超市结账有很大区别,电子商务不允许
20、匿名买卖。付账和收到产品之间有一个相对较长的时间,而且企业和顾客也不是面对面的,企业需要收集有效的信息,才能把产品送到顾客手中,所以结账时要确定用户是否登录,以收集用户的资料。通过以上分析可知,本系统分成两个模块:前台浏览模块和后台管理模块。前台浏览模块可再分为两个模块:产品浏览模块和购物模块,涉及产品首页浏览、推荐产品浏览、产品列表,以及查看产品详细内容、查看评论等功能。购物模块主要充当购物车作用,包括选取产品、对比产品、会员注册、登录及网上支付等功能。后台管理模块可分为3个模块:会员管理模块、产品管理模块和订单管理模块。后台管理模块主要涉及产品分类目录管理,以及产品内容的管理。会员管理模块
21、主要是查看和修改,包括管理会员的基本资料以及购买的产品等详细信息。订单管理模块主要涉及对顾客订购的产品管理,按照订单的状态大致分为待处理的订单和已经处理的订单。本系统的结构图如图2-1所示:电子商务网站前台浏览后台管理购物模块会员管理模块产品管理模块选取产品会员注册查看会员资 料会员登录在线支付新订单产品修改产品发布会员购买产品待发订单已发订单产品浏览模块订单管理模块完成交易订单用户管理模块图2-1 系统结构图2.2.2系统流程分析 在后台管理模块中,管理员需要先添加产品栏目分类,再进入产品列表页面,选择指定的产品栏目进行产品添加操作。在会员提交订单之后,管理员可以通过订单管理模块查看订单,并
22、根据实际情况更改订单状态,管理员也可以通过会员管理模块查看会员信息。前台界面则是会员选取需要购买的商品,并提交订单。后台管理的流程图如图2-2所示。产品分类维护管理首页导航条产品添加产品列表不通过通过会员列表登录验证会员编辑订单列表产品修改产品删除会员查看图2-2 后台管理流程图2.2.3系统目录结构系统目录结构的规划非常重要,这样可以更加方便管理程序,体现出清晰的思路。通过对系统结构的分析,可以按照功能模块来划分系统目录结构。如图2-3所示:图2-3 目录结构由图可以看出,系统文件保存在dzsw目录中,其下有13个子目录:admin目录主要保存后台管理的程序:data主要保存一些log信息,
23、方便以后的查看:htmlarea目录保存文本编辑代码:includes目录保存公共模块中的代码,如mysql连接之类的封装类等;install目录保存安装程序,方便把系统移植到其他的机器上,也方便初始化网站;js目录包括程序中需要使用的javascript程序;languages目录主要是为了界面的多国语言需要设计的,根据不同语言的需要调用不同的文件;modules目录保存连接支付网关的程序;myaccount目录保存关于本站的一些信息;styles目录保存网站的样式文件;templates目录保存模板文件;upload目录保存所有的上传文件,这个文件夹需要特别关照,在发布网站后,这个目录中的
24、任何东西都是不能执行的,否则将产生隐患。2.3数据库分析2.3.1数据库需求分析数据库需求分析是所有数据库系统设计的最重要一步,在这个步骤里需要对系统的所有数据存储进行分析和整理,以便得出具有稳定性和扩展性的存储结构,这也是数据建模的过程。通过分析,不难得出主要有4个重要的实体对象,即产品分类存储表、产品内容存储表、订单存储表及会员存储表。 这4个表是在线购物系统的核心,所有的产品必须归属于某个类别,而这些产品分类的类别是不固定的,所以就需要一个分类存储表来存储产品的分类栏目。2.3.2数据库概念结构设计根据以上对数据库的分析,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面
25、的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。下面是在线购物系统的e-r模型图顾客表顾客编码 i顾客名称va100identifier_1 邮递方式订单表顾客组设置表邮递方式编码i邮递名称 va100邮递费用va100订单编码 i 顾客 id i产品 id i支付方式 i组编码 i 组名称 va100打折优惠 iidentifier_1 identifier_1 identifier_1 评论产品列表产品编码 i .产品名称 va100评论编码 i 评论内容 va100identifier_1 identifier_1 图2-4 e-r图2.4系统开发环境
26、2.4.1硬件平台 系统所需的硬件平台:p以上的cpu,512m以上内存,硬盘80g以上,windows xp操作系统。2.4.2服务器平台 www服务器:apache。数据库软件:mysql。2.4.3开发工具 开发工具使用:phpstudyadmin2.4.4技术构架系统采用b/s技术架构2.6数据字典2.6.1数据元素名字:会员名称描述:顾客用来登陆网站的唯一标识数据类型:字符长度:96名字:产品id描述:用来表示产品的唯一标识数据类型:整型长度:10名字:订单id描述:用来表示顾客订单的唯一标识数据类型:整型长度:8名字:管理员id描述:用来表示管理员的唯一标识数据类型:整型长度:4名
27、字:邮寄方式id描述:用来表示邮递的唯一标识数据类型:整型长度:8名字:顾客组id描述:用来表示打折顾客组的唯一标识数据类型:整型长度:62.6.2数据存储名字:顾客信息描述:注册为会员的个人信息组成:自动编号id,用户名(email),密码,组名,消费金额,注册日期。名字:顾客组信息描述:存储顾客的打折优惠组成:自动编号,名称,折扣。名字:产品信息描述:发布的产品的信息描述组成:自动编号id,产品名称,产品单位,产品价格,产品描述。名字:订单信息描述:会员发出订单的信息组成:自动编号id,用户联系方式,订单内容,邮寄方式。名字:管理员信息描述:系统管理的信息组成:管理员id,管理员名称,管理
28、员类别,管理员密码。名字:邮寄方式信息描述:送货方式信息组成:方式编号id,名称,费用。3系统概要设计3.1系统结构设计系统结构设计是结构化系统分析与结构化程序设计之间的接口。结构化系统设计运用了一套标准的设计准则工具,采用模块化方法进行新系统层次关系和模块分解设计,结构化系统设计的核心是模块分解设计,其基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于一套标准的设计准则和图表工具,通过“自上而下”的逐层分解,把系统划分为多个大小适当、功能明确、具有一定独立性、并易于实现的模块,从而把复杂系统设计转化为多个简单模块的设计。3.1.1系统体系结构目前,web项目较
29、为流行的开发模式是三层逻辑体系结构,本系统的开发按照windows dna (windows distributed internet application,分布式互联网应用结构),采用基于xml的三层b/s体系结构。windows dna提供了一种开发三层结构web应用程序的通用方法是一个电子商务开发的良好环境。mvc的设计思想简介,mvc的设计思想将平台划分为表现层、业务层、数据访问层、数据库层。表现层(presentation tier)对应于mvc的v(view),负责系统的表示逻辑,主要是每个.php 页面。 业务层(business tier)体现系统的业务逻辑。业务层起到了bu
30、siness delegate的作用,屏蔽了表示层,有利于重用业务模型。数据访问/集成层(data access/integration tier)负责进行数据访问及系统间交互操作。数据访问组件负责与关系型数据库打交道,进行具体的增删改查(crud)操作。系统集成代理/适配器组件负责与软件产品和外部系统打交道,交换数据和消息。数据访问/集成层组件意识不到业务层的具体逻辑,通过约定的接口让业务层来调用。mvc三层逻辑体系结构如图3-1所示。mysql数据访问层(dal)业务逻辑层(bll)php web form图3-1 三层逻辑体系结构3.1.2系统总体功能结构根据系统分析的结果数据流程图所描
31、述的系统的逻辑模型,把数据流程图上各个处理模块进一步分解,确定系统的层次结构关系,把逻辑模型变为物理模型。在管理信息系统的设计过程中,系统划分的一般原则如下:1)、子系统要具有独立性。即应把相对独立的事务处理过程作为一个子系统。这样的子系统具有较高的内聚性,与其它的藕合较弱,便于软件开发、使用及日后系统维护。2)、子系统的划分结果应使数据冗余度较小。应避免部分数据在多个子系统中出现,尤其是修改,以保证系统的安全性、可靠性和数据的一致性。3)、子系统的划分应能满足目前和日后管理上的需要,功能应齐全,操作要方便且为今后发展留有接口。4)、子系统的划分应以该单位的管理职能为依据。应尽量避免过分依赖于
32、组织机构,以防止机构变更后为系统带来不必要的麻烦。从公司的组织结构上出发,把整个管理信息系统划分成多个子系统。每个子系统的功能相对独立,但是子系统之间有必要的数据联系。对电子购物商城系统的数据流图采用变换中心法和事务中心法进行分析,对其逐步进行功能分解,直到分解成为含义明确、功能单一的单元功能模块,从而得到系统的功能模块结构图,即系统的功能图。如图3-2,反映了电子购物商城的系统功能模块的划分。图3-2 电子购物系统功能模块结构图1、前台模块详细功能描述其中,用户信息管理以及订单和购物车是禁止匿名用户访问的内容。(1)商品信息模块:商品浏览(首页显示部分普通商品列表)、特价商品浏览(首页显示特
33、价商品列表)、商品分类浏览、商品详细信息。(2)购物车模块:添加商品到购物车、购物车信息修改、结账。(3)用户信息管理模块:注册新用户、登录、用户修改密码、用户个人资料管理。(4)订单模块:查询个人订单列表、查询某笔订单的详细信息、取消订单。2、后台模块详细功能描述(1)管理员信息管理:管理员登录、添加新管理员、删除管理员、修改密码。(2)商品信息管理:添加新商品、修改商品信息、删除商品。 (3)订单管理:管理订单是否确认、是否付款、是否发货、是否归档,并且对相应信息进行查询。3.1.3系统总体物理结构电子购物各个部门在不同的地点办公,网络拓扑结构以交换机为基础,各部门通过主交换机连接到公司主
34、服务器,电子购物有不同办公地点。根据这个特点,系统利用微机局域网作为系统的基本物理结构。为了提高系统的可靠性和可扩展性,网络采用以网络集线器为基础,以双绞线为传输介质的星型结构。在每个业务发生点以及每个管理员分别配制微型计算机作为系统结点工作站,系统功能的实现,子系统间的数据共享与交互通过网络服务器完成。电子购物的系统网络拓扑图如图3.3所示。图3.3 电子购物商城系统网络拓扑图系统具体物理配置如下:利用公司已经架设好的企业局域网,主服务器采用:服务器、交换机、网络集线器,传输介质采用10m屏蔽双绞线为介质的星型网络拓扑结构,服务器作为系统功能实现和数据共享中心,应具有较好的性能和可靠性。在此
35、基础上再配上一台提供web服务的服务器和一台mysql数据库服务器即可实现对本系统的全部物理支持。系统具体硬件配置如下:1)、www服务器:inter p4 2.4 512m ddr rom 80gb 硬盘。2)、数据库服务器:inter p4 2.4 512m ddr rom 80gb 硬盘。3)、客户机:目前流行的pc兼容机。4)、网络连接设备:路由器、交换机、打印机、扫描仪等。系统具体软件配置如下:1)、操作系统:microsoft公司windown2000server,网络协议采用tcp/ip协议, 客户机windows 2000/xp。2)、www服务器:apache.3)、数据库软
36、件:mysql。3.2数据库结构设计3.2.1数据库概念结构设计根据需求分析中的结果,数据库的关系模型设计如下:会员(顾客id,顾客名称,顾客组,消费金额,注册日期,联系方式)产品(产品编号,产品名称,售价,数量,图片,备注)管理员(管理员编号,密码,管理员组)订单(编号,顾客名称,内容,备注)顾客组(id,类别,名称,折扣)管理员组(id,类别,名称,权限)邮寄方式(id ,名称,费用计算)3.2.2数据库逻辑设计 经过需求分析,概念结构设计,了解了系统的存储结构需求后,可以得出8个表结构,即顾客组设置表、顾客表、产品评论表、产品列表、订单表和邮递方式表、管理员表、管理员组表。 顾客组设置表
37、是为了存储顾客的打折优惠,这里记录的事组的打折信息。表结构如表3-1所示表3-1顾客组设置表(usergroups)结构序 号字 段描 述类型和长度主 键可 空默认值1groupid自动编号smallint(6)是否无2classes类型varchar(30)否否无3grouptitle组名称varchar(30)否否无4groupdiscount折扣float否否0顾客信息表主要是记录顾客的详细信息,其中groupid是指定顾客组的编号,用户的名称采用email,记录用户的登录时间可以方便的查看最后的登录时间,这样有助于对客户的跟踪服务。表结构如表3-2所示表3-2 顾客信息表(custom
38、ers)结构序 号字 段描 述类型和长度主 键可 空默认值1customers_id自动编号smallint(6)是否无2email用户名称varchar(30)否否无3grouid组名称int(10)否否无4regdate注册时间int(10)否否05lastvisit最后登录时间int(10)否否06money消费总金额decimal(15.2)否否07qqqq联系方式varchar(30)否否无8msnmsn联系方式varchar(30)否否无产品评论表主要是针对产品的评论信息,其中products_id就是产品的编号,date_add就是记录产品的添加时间,viewed是表示这条评论被
39、浏览的次数。表结构如表3-3所示表3-3 产品分类表(classes)结构序 号字 段描 述类型和长度主 键可 空默认值1rid自动编号mediumint(8)是否无2email用户名称varchar(30)否否无3products_id产品 idint(10)否否无4review评论内容text否否05date_added添加时间int(10)否否06viewed被浏览次数mediumint(8)否否0产品的信息列表记录的是产品的基础信息,包括产品的价格、重量、名称、所属分类、详细描述等字段。表结构如表3-4所示表3-4产品表(products)结构序 号字 段描 述类型和长度主 键可 空默
40、认值1products_id自动编号mediumint(8)是否无2classes_id分类编号mediumint(8)否否无3name产品名称varchar(64)否否无4model产品单位varchar(64)否否无5image产品展示图片链接varchar(64)否否无6price产品价格decimal(15.2)否否07weight产品重量decimal(5.2)否否08description产品描述text否否无9manufacturer生产厂商varchar(64)否否无订单表主要记录的就是用户订单的详细信息,包括购买人、购买人的联系方式、产品的价格、邮寄方式等信息。由于每次用户可
41、能会定购多种产品,所以订单将分成两个表来记录,一张用来记录联系信息,一张表用来记录联系信息和产品之间的关联。表结构如表3-5和表3-6所示表3-5订单表联系信息(orders)结构序 号字 段描 述类型和长度主 键可 空默认值1order_id自动编号mediumint(8)是否无2d_name用户联系姓名varchar(100)否否无3cid会员idint(10)否否无4d_street_address会员地址varchar(100)否否无5d_tel_mobile会员联系方式varchar(100)否否无6orders_status订单状态varchar(100)否否无7shipping_
42、method邮递方式int(10)否否无表3-6订单产品信息关联表(orders_products)结构序 号字 段描 述类型和长度主 键可 空默认值1opid自动编号mediumint(8)是否无2orderd_id于orders表关联idint(10)否否无3products_id产品关联idint(10)否否无4price产品价格decimal(15.2)否否05final_price最终价格decimal(15.2)否否0邮寄方式表主要是为计算邮寄费用产生的,不同的邮寄方式会带来不同的邮寄费用。表结构如表3-7所示表3-7 邮寄方式表(shipping)结构序 号字 段描 述类型和长度
43、主 键可 空默认值1id自动编号mediumint(8)是否无2shippingname费用名称varchar(200)否否无3fee费用计算公式varchar(200)否否无管理组设置表是为了存储管理员的不同管理权限。表结构如表3-8所示表3-8管理组设置表(admingroups)结构序 号字 段描 述类型和长度主 键可 空默认值1admingroupid自动编号smallint(6)是否无2classes类型varchar(30)否否无3grouptitle组名称varchar(30)否否无4allow_class_see查看会员组float否否05allow_class_add添加会员
44、组int(10)否否06allow_class_delete删除会员组int(10)否否07allow_product_see查看商品int(10)否否08allow_product_edit编辑商品int(10)否否09allow_product_add上传商品int(10)否否010allow_product_delete删除商品int(10)否否0管理员信息表主要是记录管理员的信息。表结构如表3-9所示表3-9 管理员信息表(customers)结构序 号字 段描 述类型和长度主 键可 空默认值1admin_id自动编号smallint(6)是否无2name名称varchar(30)否否
45、无3password密码varchar(30)否否无4admingroupsid管理组varchar(30)否否无5createdate创建时间int(10)否否无6lastvisit最后登录时间int(10)否否无4系统详细设计4.1系统设计在系统总体设计阶段已经提到过本系统采用mvc体系架构,但mvc架构具体是怎么实现的呢?下面我将介绍系统的具体实现功能。4.2 公共模块设计 结构合理的系统都是经过改良的,将共同的东西取出来放置到相同的地方供引用和调用时设计系统必须要做的工作。4.2.1数据库公共模块 php中将创建数据库连接connection 独立出来做成公用的文件是最常用的做法,我将
46、其命名为config.php,放置在include目录下。这个目录用来存储供整个系统公用的目录。当页面需要使用数据库连接时,只需要通过php的引用公用文件即可,这样不但避免了每个页面都编写数据连接,而且也能避免当数据连接发生变化时去修改每一个页面的麻烦。db_mysql.php中使用了两种方式来获取与数据库连接:一种是获取已有的连接mysql_pconnect($dbuser,$dbpw),这样无须重复的建立连接,节约了资源:另外一种方式是mysql_connect($dbhost,$dbuser,$dbpw),这种方式是获取一个新的连接。在获取连接资源时,通常会传递3个参数,这里分别是$db
47、host,$dbuser,$dbpw,代表的是带有端口号的主机地址,登录用户名和密码。config.php中的定义代码如下所示:define(db_server,localhost);/数据库服务器define(db_server_username,root);/数据库用户名define(db_server_password,);/数据库密码define(db_database,shoopdb);/数据库名4.2.2 common.php和golbal.php单元common.php是公共函数的文件,将公共函数独立出来可以大大节约编程时间及编程量,也为后期维护带来很大方便。global文件是对
48、全局变量的处理。4.3产品模块设计4.3.1产品类型设计 产品一般有大类和小类之分,多级栏目使用树结构来展示。可以单击编辑和删除来修改。分类列表如图4-1所示。图4-1分类列表分类编辑修改分类名称和是否在页面显示。如图4-2所示图4-2分类修改列表4.3.2产品添加设计 把产品作为一个类封装起来可方便对产品进行各种处理。includes中的ducts_p.php和ducts.php文件就是对产品的封装。 首先,添加产品的基本信息,如图4-3所示。图4-3 产品的基本信息添加添加完产品的基本信息后单击提交按钮,系统会向服务器端提交产品的基本信息,之后就会自动转向详细信
49、息添加页面;如果添加产品基本信息不成功,将转向错误显示页面。完成提交后,程序会自动转向产品详细信息添加页面。该页面分为5个子页面。如图4-4所示图4-4 详细信息添加页面如添加错误可以修改如图4-5所示图4-5商品分类修改页面商品图片添加页面如图4-6所示图4-6 商品图片添加页面4.3.3产品信息查询查询页面如图4-7所示,可以通过商品名称、状态、基本信息、详细说明来查找产品信息图4-7 查询页面图4-8 查询结果列表4.4前台页面模块设计 这里主要涉及产品的前台展示和购物车的编码制作等。4.4.1首页设计 作为在线购物系统,首要的任务是展示产品。除了展示产品,还可以加入其他元素来丰富页面。
50、为了在有限的首页空间展示最吸引客户的信息,可把特价产品和新到产品的前5名展示在首页,如图4-9所示。图4-9首页商品展示页面在设置前台时,会把这些信息缓存起来,以方便再次调用此页面时不需要再次读取数据库,这样可以提高读取效率,也可以减轻服务器端的压力。fmon.php中的cacheexists($filename,$pam=)函数就是用来验证是否在硬盘中有缓存,如果没有,将生成缓存文件。cacheeesxists($filename,$pam=)的实现代码如下所示:function cacheexists($filename,$lpam=) if($pam=) $pam=$file
51、name;/if(!file_exists(dir_shoopd.”data/cache/cache_”.$filename.”.php”)updataecache($pam);return dir_shoopd.”data/cache/cache_”.$filename.”.php”;4.4.2产品详细信息用户在首页上看到感兴趣的产品后,对商品做进一步的了解。图4-10为商品的详细信息介绍:图4-10 商品详细信息介绍单击“您对此商品有话要说,您可以点击这里发表评论。”后就进入评论页面。可以看到url/dzsw/writerviems.php?products_id=23,这里是把商品的编号传递到评论页面,找到评论商品的id。客户端评论页面如图4-11:图4-11 商品评论输入页面评论提交后,首先判断消费者是否已经登录,如果用户已经登录,需要把评论信息和会员昵称关联起来。需对email进行验证,使用的是正则表达式。在添加评论之后返回商品展示页面,就可以看到针对商品的评论了,如图4-12所示:图4-12 评论页面4.4.3购物
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论