基于php网上商城系统毕业设计

获取项目源文件,联系Q:1415736481,可指导毕设,课设

摘 要

随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。本文主要分析了网上商城的主要组成情况,包括网站的设计目标,框架结构,数据流程和网站的主要特点等,重点介绍了网站前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。

 

关键词:网上商城,PHP,MYSQL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NET MATKET

   Abstract

With the extensive application of computers, people have no longer feel unfamiliar with the network. The rapid development in science and technology today, computer information technology and all walks of life to carry out an effective combination. People can be online in online shopping, e-friends, e-commerce, network operators and so efficient. The face of strong network function, in some ways must have a sound system can play the full network. This paper analyzes the main components of the Internet Mall, including the site's design objectives, the framework structure, data flow and the main features of the site and so on, the website focuses on the future function of the realization of ideas and methods in detail, as well as the background database of key technologies and some detailed description of the source code.

 

Key words:Shopping-Online,PHP,MYSQL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

1  绪论... 1

2  网上商城的意义和发展趋势... 2

2.1 开发背景... 2

2.2创建的意义... 2

2.3 网上商城电子商务的现状... 2

2.4 网上商城的发展趋势... 3

2.5 网站初步计划... 3

2.6 系统需求分析与可行性分析... 4

3 网站的开发工具及其环境... 5

3.1 网站的开发工具... 5

3.2 PHP技术简介... 6

3.3 PHP的配置... 6

3.4 数据库的选择... 8

3.5 PHP的运行环境... 9

4  本网站的基本设计思路... 10

4.1 网站开发的设计思想... 10

4.2 系统设计的总体规则... 10

4.3 网上商城的主要功能... 10

4.3.1 用户登录... 10

4.3.2 用户权限... 10

4.3.3 商品查询... 11

4.3.4 货架... 11

4.3.5 购物车... 11

4.4 主页的设计... 12

5 网上商城的详细设计... 13

5.1 网上商城的系统流程图... 13

5.2 网上商城的功能模块... 13

5.2.1 用户登录... 13

5.2.2 物品浏览... 15

4.2.3 物品阅读... 18

4.2.4 物品查询... 19

4.2.5 后台管理... 19

4.2.6 物品添加... 22

5.3 网上商城的主要功能模块流程图... 23

5.3.1 用户登录流程图... 23

5.3.2 商品搜索流程图... 23

5.3.3 商品管理流程... 24

5.3.4 购物车流程图... 24

6  设计总结... 25

6.1 设计特点及创新点... 25

6.2 个人收获... 25

7  系统的开发原理... 26

7.1 基于PHP技术的系统结构模型... 26

 

7.2 系统的功能特点及系统功能结构... 26

8  结论... 28

参 考 文 献... 29

致 谢... 30

 

 

1  绪论

进入21世纪以后,知识经济的飞速发展对我们的社会产生了巨大的影响。IT业的飞速发展不仅仅带来了巨大的经济效益,也在逐渐改变着我们的生活,其中影响最为广泛的就是互联网了。从事IT业工作的人都知道,互联网蕴藏着巨大的“金矿”,如何从这个巨大的财富中获得一份属于自己的财富,需要的不仅仅是努力和勤奋,更多的是知识和技术,只有掌握了知识和技术才有可能成为知识经济时代成功的淘金者。

近年来,随着Internet的迅猛发展,远程信息、网上聊天、分布式多媒体系统、电子商务等网络应用系统的相继问世,为信息处理的网络化展示了美好的前景。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2  网上商城的意义和发展趋势

2.1 开发背景

企业建立网站之后可以得到包括用自己企业域名设置的电子邮箱一系列增值服务。这样不仅可以宣传公司形象,而且可以大大地提高企业通信效率,因而大大提高工作效率与市场竟争能力,并极大地降低经营成本,最终使企业走向成功。利用网站迅速地向代理商或合作伙伴进行企业与企业间的产品销售、市场开发各种交流等合作,加强同代理商和合作伙伴的联系和沟通,从而演变成网上商城,为客户提供更好,更全面的服务。

Internet影响着人类的生活,90年代网络技术不未完全成熟的时候,或许尚有人可以置身事外。毕竟,网站提供的服务,如果通过一般的方法也可以达到!想要买股票,只需拨通证券业务员的专线电话就可以了,不一定非要打开计算机,连上Internet才行。再者,对于上网查数据这种事情,其实也不是对每一个人都那么方便。但是,有一天你突然发现身边的亲朋好友可以很方便地通过一个小小的盒子就完成银行转帐,轻易地获得股票信息,无聊时看几则笑话开怀一笑,利用花店服务送花给老婆……等种种子活动时,有时是凭借一个叫做PDA的东西,有时是使用手机,有时是来到冰箱前对着屏幕说了些话,或是按了几下之后完成 的。试问,有谁能在一股网络旋风之后还说“这些与我无关”呢?

首先简单介绍一下什么是网上商城系统,网上商城系统一般是由专业网络技术公司开发的网上开店程序。使用者无需任何专业网络知识,即可建立一个自己的功能强的的网上商城。对于常见的产品发布,订单处理等操作都有现成的WEB在线管理,开店者登录后台管理即可进行商品维护和订单管理。

    1. 创建的意义

⑴ 对消费者来说,让消费者在不出家门的情况下购买到称心如意的商品。

⑵ 网上购物对企业来说,给他们带来更多商机的同时,也给他们创造更大的利润。

2.3 网上商城电子商务的现状

因特网的快速发展已经为企业提供了许多战略机遇,网上购物作为一种新的购物方式,为企业提供了新的销售渠道。虽然现阶段我国网上购物市场与发达国家差距很大,但是互联网经过多年的发展以后,人们对于网络的依赖会越来越强烈,网络正在不知不觉中改变着现今社会的生活状态和生活方式,随着上网人数的急剧增加,网上购物前景非常值得期待,所以电子商务领域潜在的商机是商家必须注意的。
电子商务是个人和公司通过计算机及远程网路系统进行的各种电子商务交易活动。从传统意义上说,电子商务的定义仅限于电子数据的交换,并把它作为已经建立了契约关系的公司之间进行电子商务交易的主要手段。近几年来,随着万维网的出现及迅速普及,Internet作为有效的商业信息的交通通道被广为接受,电子商务的内涵被大大的拓宽和延伸了,它涵盖了在网上互不相识的个人及公司之间的商业交易。自从电子商务出现在人们的视野中,电子商务就在全世界范围内受到了格外的关注,并得到了迅速的发展。从实用角度看,目前电子商务网站的普遍存在是购买者难以找到所希望购买的商品甚至用户在耗费很大的经历与时间后即使找到了自己想要的产品,最后却由于各种原因而放弃购买。很多报道指出,推销商们普遍对目前的网络行销感到失望,尽管如此,电子商务无疑是目前最好的在线商品展示的媒体和工具。然而,网上产品展示的目的不仅仅是展示产品,而更重要的是通过让客户更多地了解产品而提高产品的购买率。因此,电子商务目前所面临的挑战之一就是网站的设计,如何使得网页能够有效地展示自己的产品,同时方便用户的使用,使用户以愉悦的心情选购称心如意的商品。

 

2.4 网上商城的发展趋势

在Internet广泛应用的今天,网上购物已成为人民消费的一种方式,网上购物为消费者提供了极大的方便,节省了消费者的购物时间。

随着我国改革开放的不断深入,经济的飞速发展,企业想要生存、发展,要想在激烈的市场竞争中立于不败之地,越来越多的商家将自己的商品信息发布到网络上面,使得更多的消费者能够在了解、熟悉自己的商品的同时选购自己的商品,

通过对网上商城的详细调查,搜查了大量的资料,从系统结构的组织,功能的实现,技术要求以及可行性等多方面进行考虑,认为本网站是一个适应现今市场要求的计算机信息管理系统,具有一定的实际开发价值和使用价值。

2.5 网站初步计划

经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:

  1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。
  2. 能够完成管理员对网站的商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(外理订单、发货查询)、会员管理(会员审查)、操作管理(管理员添加、管理员审查、管理员退出)的功能。
  3. 能过电子商品的名称,电子商品的分类进行搜索。

2.6 系统需求分析与可行性分析

需求分析阶段是确定目标系统究竟“做什么?”主要是确定目标系统必须具备哪些功能、性能和其他要求。通常用数据流图、数据字典和简要的算法表示系统的目标逻辑模型,以征得用户确认。
需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,必须准确、完整地体现用户的要求。因此,分析人员对于该阶段的工作必须予以高度重视,谨慎实施,加强开发人员内部以及用户的信息交流与沟通。最后提交需求规格说明书,以文档、图表的开工形成本阶段成果。
可行性研究的目的是使用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我具体从下面三个方面考虑:

技术上的可行性
由于网上商城的开发已有一定的时期,而且有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。

经济上的可行性
由于所开发的是个网上商城,要求并不是很高,普通的计算机都可以实现,所以从各方面来说都是可行的。
(3)社会上的可行性
网上销售对企业来说是提高经济效益的方法之一,网上购物对消费者来说可以更方便的买到想要的商品,所以本系统应该是会受到欢迎的。
(4)结论
通过各方面条件的调查和研究,对项目的可行性做出结论,此项目的开发是可行的。

 

3 网站的开发工具及其环境

3.1 网站的开发工具

在目前市场上众多的网络程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率和提高。各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利和工具,却没有弹性和语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程序语言的弹性,却没有分理处的工具作配合,即便函是一些即使非常简单的界面处理动作,也会严重的浪费程序设计师的宝贵时间。而PHP是一个非常理想选择。PHP是建立在公共语言运行环境上的,可以用在服务器端构造一个强大的WEB应用程序的编程框架。

    与以往的WEB开发的模式相比,PHP展现了几个重要的优势:

执行效率的大幅提高 PHP是把基于通用语言的程序在服务器上运行。不像以前的PHP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。

PHP公司,成立于1999年,由Zeev Suraski and Andi Gutmans两位开源PHP的缔造者和建筑师共同创建,因此有了Zend名称的由来。由于他们的国际技术的权威性,Zend公司和他的创建者在PHP以及开源团体中持续处于领导的核心地位,对于PHP的迅猛发展起到了强力推动作用。Zend公司是一个PHP应用的企业和个人都可以寻求到专业技术解决方案的PHP领先公司。

Zend公司的投资商是包括Azure Capital Partners Index VenturesPlatinum Venture Capita在内的非常有实力的投资公司,最重要的是IT行业领先的SAPIntel也是Zend公司的投资商。Zend公司得到了来自IBMOracleSun公司的大力支持,和IBMOracle达成了战略合作伙伴,共同推动PHP的发展

Zend Technology, Inc.The PHP Company

  公司名称:Zend 科技公司

  总部: Cupertino, CA 美国

  国际业务:Ramat-Gan, 以色列

  中国技术支持中心: 8610 51657885

  创立: 199911月,创始人:Andi Gutmans Zeev Suraski, and Doron Gerstel

  背景: 由PHP架构师、开源Zend Engine 和持续创新PHP的领导者共同设立

  商业行业: Web 应用平台提供者

  主要产品: 企业级产品和服务,确保企业关键PHP应用的开发、调配和管理

  主要客户:包括汉莎航空、迪斯尼、波音、OrangeElectronic Arts在内的超过8,000 家客户

  主要投资商:Azure Capital Partners, Index Ventures, Intel Capital, Platinum Venture Capital, SAP Ventures and Walden Venture Capital (Israel)

 

 

3.2 php技术简介

Windows下的Apache+Mysql+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

  随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。

  LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。

 

3.3 系统架构

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。

随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。由于相对于C/S结构,B/S结构拥有巨大的优越性,所以B/S结构成为现在应用的主流技术。

 

3.4 数据库的选择

mysql是基于客户端/服务器模式的新一代大型关系型数据库管理系统,它在电子商务、管理系统和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,对数据库中的数据有效的管理,并采用有效的措施实现数据的完整性和数据的安全性。

用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供了不同的数据库语言。关系数据库管理系统几乎都是提供关系数据库标准语言——SQL。

SQL的全称是Structured Query Language,即结构化查询语言。SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。

SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  SQL同时也是数据库脚本文件的扩展名。

  SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

  结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxporo、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。

  美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSI SQL-92。ANSI SQL-92有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准。

  SQL语言包含4个部分:

  1. 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
  2. 数据操作语言(DML),例如:INSERT、UPDATE、DELETE语句。
  3. 数据查询语言(DQL),例如:SELECT语句。
  4. 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

SQL语言包括三种主要程序设计语言类别的陈述式:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2005是Microsoft公司于2005年推出的版本。

MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008116号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL

  MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

  MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在海豚命名的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

   与其他的大型数据库例如OracleDB2SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

目前Internet上流行的网站构架方式是LAMPLinux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

可以使用命令行工具管理MySQL数据库(命令mysql mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL AdministratorMySQL Query Browser

  phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。

  phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。

另外,还有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。

 

3.5 javascript,html介绍

HTML(HyperText Mark-up Language)

即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

  另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。神奇吗?一点都不神奇,因为现在你看到的就是这种语言写的页面!

  也许你听说过许多可以编辑网页的软件,事实上,你不需要用任何专门的软件来建立HTML页面;你所需要的只是一个文字处理器(如Office Word/记事本/写字板/Gedit/OpenOffice.org等等)以及HTML的工作常识。其实你很快就会发现,基础的HTML语言简直容易死了。

  HTML只不过是组合成一个文本文件的一系列标签。它们像乐队的指挥,告诉乐手们哪里需要停顿,哪里需要激昂。

  HTML标签通常是英文词汇的全称(如块引用:blockquote)或缩略语(如“p”代表Paragraph),但它们的与一般文本有区别,因为它们放在单书名号里。故Paragragh标签是

,块引用标签是

。有些标签说明页面如何被格式化(例如,开始一个新段落),其他则说明这些词如何显示(使文字变粗)还有一些其他标签提供在页面上不显示的信息--例如标题。

  关于标签,需要记住的是,它们是成双出现的。每当使用一个标签--如

,则必须以另一个标签
将它关闭。注意“blockquote”前的斜杠,那就是关闭标签与打开标签的区别。但是也有一些标签例外。比如,标签就不需要。

  基本HTML页面以DOCTYPE开始,它声明文档的类型,且它之前不能有任何内容(包括换行符和空格),否则将使文档声明无效,接着是标签,以结束。在它们之间,整个页面有两部分--标题和正文。

  标题词--夹在和标签之间--这个词语在打开页面时出现在屏幕底部最小化的窗口。正文则夹在和之间--即所有页面的内容所在。页面上显示的任何东西都包含在这两个标签之中。

那么让我们建立一个简单的范例吧,非常容易的。第一步,当然是要建立一个新的文本文件(记住,如果你在使用比较复杂的文字处理器,就应该用“纯文本”或“普通文本”来保存),将它命名为“xxxx.html”。(随便你起一个什么名字,扩展名也可是HTM)。然后你可以用浏览器将它打开,你会看见最简单的自己做的页面。

Cascading Style Sheets(层叠样式表)

从九十年代初HTML被发明开始样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。

但随着HTML的成长,为了满足设计师的要求,HTML获得了很多显示功能。随着这些功能的增加外来定义样式的语言越来越没有意义了。

1994年哈坤•利提出了CSS的最初建议。伯特•波斯(Bert Bos)当时正在设计一个叫做Argo的浏览器,他们决定一起合作设计CSS。

当时已经有过一些样式表语言的建议了,但CSS是第一个含有“层叠”的主意的。在CSS中,一个文件的样式可以从其它的样式表中继承下来。读者在有些地方可以使用他自己更喜欢的样式,在其他地方则继承,或“层叠”作者的样式。这种层叠的方式使作者和读者都可以灵活地加入自己的设计,混合各人的爱好。

哈坤于1994年在芝加哥的一次会议上第一次展示了CSS的建议,1995年他与波斯一起再次展示这个建议。当时W3C刚刚建立,W3C对CSS的发展很感兴趣,它为此组织了一次讨论会。哈坤、波斯和其他一些人(比如微软的托马斯•雷尔登)是这个项目的主要技术负责人。1996年底,CSS已经完成。1996年12月CSS要求的第一版本被出版。

1997年初,W3C内组织了专门管CSS的工作组,其负责人是克里斯•里雷。这个工作组开始讨论第一版中没有涉及到的问题,其结果是1998年5月出版的第二版要求。到2004年为止,第三版还未出版。

  1. 1996年W3C正式推出了CSS1。
  1. 1998年W3C正式推出了CSS2。
  2. CSS2.1是W3C现在正在推荐使用的。
  3. CSS3现在还处于开发中。

Javascript

是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。

JavaScript的正式名称是"ECMAScript"。这个标准由ECMA组织发展和维护。ECMA-262是正式的JavaScript标准。这个标准基于JavaScript(Netscape)和Jscript(Microsoft)。Netscape (Navigator 2.0)的Brendan Eich发明了这门语言,从1996年开始,已经出现在所有的 Netscape和Microsoft浏览器中。ECMA-262的开发始于1996年,在1997年7月,ECMA会员大会采纳了它的首个版本。

在1998年,该标准成为了国际ISO标准(ISO/IEC 16262)。这个标准仍然处于发展之中。

在 2005年12月,ECMA发布ECMA-357标准(ISO/IEC 22537)出台,主要增加对扩展标记语言XML的有效支持。

能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠样式表),这里主要讲Javascript。那么Javascript是什么东东?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。 Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司Navigator 3.0以上版本的浏览器都能支持Javascript程序,微软公司Internet Explorer 3.0以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。

JavaScript使网页增加互动性。JavaScript使有规律地重复的HTML文段简化,减少下载时间。JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI 验证。JavaScript的特点是无穷无尽的,只要你有创意。

 

4  本网站的基本设计思路

4.1 网站开发的设计思想

网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(处理订单、发货查询)、会员管理(会员审查)、操作管理(管理员添加、管理员审查、管理员退出)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的新品速递、商品热卖、商品分类或电子商品搜索功能,找到自己想要买的水果,装入购物车,提交进行购买。

网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。

4.2 系统设计的总体规则

无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:

简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。

针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。

实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。

4.3 网上商城的主要功能

4.3.1 用户登录

后台管理登录时要求检验用户名、密码,为防止非法用户直接在浏览器键入某个页面的URL地址而直接进入页面,在每个静态页面头部包含一段JSP脚本程序,该文件取出用户的用户名,而非法用户该值为空,将重新定位到登录界面。

为了保护用户个人信息的安全性,对注册用户和网站后台管理人员的登录密码均采用了MD5 加密方式[8]。

4.3.2 用户权限

后台管理员可以设置三种不同的管理权限:管理、添加和查看。添加人员只能添加、修改、删除商品资料;查看人员可以管理商品评论和用户订单;管理员拥有本站所有管理权限。

4.3.3 商品查询

为了方便顾客购物,我们分别设置了普通查询和高级查询供用户来进行选择查询,用户可以通过设置详细查询信息查找所需商品。

4.3.4 货架

在网上商城商品分类页面中,用户可以直接点击在电子货架上的六个商品大类,进入详细分类进行购物。

4.3.5 购物车

购物车是网上商城最核心的部分,它记录了顾客在购买商品过程中的数据变化情况,最后结算和发送订单都要依赖于购物车中记录的商品信息。本商城系统中的收藏架即实现购物车的功能:显示已购商品,添加商品,取消商品,更新数量并重新计价,结算并通知订单程序,每次顾客发送完订单后自动清空。

不难理解,购物车实际上是顾客在购物过程中用来存放所购物品信息的一个临时的数据缓冲区,因此它必须存在于购物的整个周期,即在顾客登录网站时自动创建(此时为空),在购物过程中不断增删变化,在每次结算并发送完订单后清空,等待下一次购物,在顾客离开网站时自行撤销;并且要求同时参与购物的顾客的购物车必须相互独立。为达到这些目的,可以采用cookie的方法,这样每次用Web服务器打开一个会话,会得到一个Cookie。这个Cookie严格用于将客户端的浏览器和为该会话预留的服务器内存链接起来,当会话结束时撤销;而且对同一网站,不同的访问用户,它们拥有各自的Cookie,所以在此我们就可以利用Cookie实现购物车的功能,具体方法为:当用户注册并登录网站后,在客户端创建一个名称为bookshop的Cookie,里面记录了有关用户的信息。

购物车具有如下功能:(1)点击每一商品名称可以查看该商品的详细信息。通过链接可以激活网页程序;(2)单击“删除”将清空所选购商品;(3)单击“我要结账”按钮,出现发货信息页面,此时要求客户填写订单详细信息。 (4)如果用户单击“确认结账”按钮,将激活发货程序。

客户通过商品浏览,把所选购的物品放入购物车,然后在详细确定付款方式与送货方式后,就可以向网站发送订货单,具体方法是在银行付款后,管理员确认。订单完成至此客户完成了一次购物过程,余下的工作,就需要后台管理完成。

4.4 主页的设计

该主页面一目了然,没有太多的链接,但对主要的功能全部实现,

见图4.1:

 

                                 图4.1 网站首页

 

代码如下:

require "conf/config.php";

if ($siteclose_flag)

{

    echo $sitereason;

    exit();

}

session_start();

require("link.php");

?>

<?php echo $sitename ?> -- 首页

 

   

   

   

     

       

         

       

     

           

             

               

             

             

                

             

             

               

             

           

用户登录

                 

width="100%">

                   

                     

                     

                       

                       

                     

                     

                       

                       

                     

                     

                       

                     

                     

                       

                     

                     

                   

                 

                          

                          用户名

                          

                       

密 码

                         

                  type=password>

                       

                         

                           

                         

                         

                       

                  src="images/forget.gif" width=11>  我忘记了密码,

                  href="password.php">

                  color=#ce0929>请点击这儿!

               

         

     

     

       

          

       

       

         

       

       

         

       

     

产品分类

           

$db->query("select id,name from $class_t where up_id=0");

$h=0;

while($db->next_record())

 {

   echo "num_rows().");\">[ ".$db->f("name")." ]
\n";

   echo "

\n";

   $db2->query("select id,name from $class_t where up_id=".$db->f("id"));

   $i=0;

   while($db2->next_record())

   {

    if ($i%2 == 0) echo "

\n";

    echo "

";

    $i++;

   }

   echo "

";

    echo "f("id")."&text=".$db2->f("name")."&sh=$h\" class=\"clink03\">".$db2->f("name")."";

    echo "

";

   $h++;

 }

?>

         

     

     

     

      

{

 

 echo "亲爱的 ".$login_name.",您好!欢迎您光临!";

}

else

 echo "亲爱的顾客,您好!欢迎您光临! [请登录] ";

echo " 上次登录时间:".$cookielogintime;

 

  if ($f) $tmp="where class_id=$f";

  

  if ($up_id)

    $tmp="where up_id=$up_id";

  if ($sf)

     $tmp="where class_id=$sf";

     

  if (!$page) $page=1;

  $db->query("select null from $goods_t ".$tmp);

  $total_num=$db->num_rows();//得到总记录数

  $totalpage=ceil($total_num/$num_to_show);//得到总页数

  $init_record=($page-1)*$num_to_show;

  $db->query("select id,name,image,price_m,price,state

   from $goods_t $tmp

   order by id DESC limit $init_record, $num_to_show");  

?>

     

       

         

       

     

           

           

     

       

         

  $i=0;

  while($db->next_record())

  {

  if ($i%2==0) echo "

";

?>

         

         

       $i++;

       }

       ?>

       

     

           

             

               

             

             

               

               

               

             

             

               

             

             

               

             

           

                 

           echo "";

            ?>

               

 

                  f('id')."' class='softtitle' target='_blank'>".stripslashes($db->f('name')).""; ?>

                 

                  零售价:

                  f('price_m'); ?>

                 

                  会员价:

                  size=2>

           if ($user_price)

             if (isset($login_name))

                echo $db->f('price');

             else

               echo "";

           else

              echo $db->f('price');

            ?>

                 

                  状态:

                 

           if ($db->f('state')==0)  echo "有货";

           if ($db->f('state')==1)  echo "缺货";

           ?>

                 

                 

                 

                 

         

       
" method="post" name="form8" onSubmit="return check_page('form8.page')">

         

           

         

       

     

总计:

             

  $page1=$page-1;

  $page2=$page+1;

  if ($page1 < 1) echo "首页 上一页 ";

  else echo "首页 上一页 ";

  if ($page2 > $totalpage) echo "下一页 尾页 ";

  else echo "下一页 尾页 ";

?>

              当前页:

             

               

             

              转到第

             

             

           

   

     

       

       

         

         

         

       

       

         

       

       

     

            src="images/jiao.gif" width=5>

            height=21 src="images/bikegif.gif" width=35>

            height=1 src="images/spacer.gif" width=3>

            src="images/gwc_new.gif" width=116>

           

            width="100%">

             

             

               

             

             

               

             

             

                

             

             

           

                  src="images/spacer.gif" width=1>

                 

                  width="99%">

                   

                   

                     

                   

                   

                 

               

                  src="images/spacer.gif"

        width=1>

         

     

     

     

       

         

       

     

 

 

 

 

 

 

 

 

 

 

 

 

5 网上商城的详细设计

5.1 网上商城的系统流程图

网上商城系统流程图见图5.1

 

 

 

 

网上购物系统平台

用户管理

 

管理员管理

 

充值

 

搜索

 

添加小类

添加大类

商品添加

商品审查

操作管理

 

商品名称

 

商品类别

 

商品资料

 

用户删除

 

充值金额

用户注册

商品交易

 

 

                           图5.1 系统流程图

5.2 网上商城的功能模块

5.2.1 用户登录

     该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。见图 5.2

 

                       图5.2 用户登录界面

5.2.2 物品浏览

该模块负责分页列出网站所有物品的信息,包括标题、类型、来源地字段及发布日期,每种物品的标题被做成一个超链接,点击它们就能跳转页面进行物品查询。见图5.3

 

 

                      图5.3 物品浏览界面

5.2.3 用户注册

见图5.4:

 

                        图5.4 物品信息界面

5.2.4 用户修改信息

见图5.5:

 

图5.5 物品查询界面

5.2.5 后台管理

该模块负责登录的注册用户曾购买未成功且未删除的物品信息,用户可以对该种物品进行删除、修改。除系统管理员外不具有对该种物品的处理权限,所以不同用户进入此页面将显示不同的内容。见图5.6

 

图5.6 后台管理界面

5.2.6 物品添加

管理员录入一种物品所需要的内容,包含标题、关键字、类型、来源地、发布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。该模块还负责编辑状态下的更新,这时,它将根据取得的Title字段值对页面控件初始化。如图5.7

 

图5.7 物品添加界面

5.2.7 添加商品种类

如图5.8

 

图5.8 商品种类添加

5.2.8 订单管理

如图5..9

 

图5.9 订单管理

 

5.2.9 会员管理

如图5.10

 

图5.10 会员管理

 

5.3 网上商城的主要功能模块流程图

5.3.1 用户登录流程图

用户登录流程图见图5.8

 

用户登录

取得用户名和密码

将ID存入session中

查询用户是否存在

核对密码是否正确

登录成功

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图5.8 用户登录流程图

5.3.2 商品搜索流程图

 

商品搜索流程图见5.9

 

 

 

开始搜索

输入条件

搜索结果

查看商品

购物车

下订单

继续搜索

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

图5.9  商品搜索流程图

5.3.3 商品管理流程

商品管理流程图见图5.10

 

商品管理

查询商品

修改,删除

满意否

返回

添加商品

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

                     图5.10 商品管理流程

5.3.4 购物车流程图

购物车流程图见图5.11

 

 

 

购物车

查看商品

满意吗

下订单

调整商品

 

 
   

 

 

 

 

 

 

 

 

 

 

 

 

 

图5.11 购物车流程图

 

 

 

 

6  设计总结

6.1 设计特点及创新点

   我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Wed技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往买水果的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。

该网上商城系统可以在mysql操作系统平台上运行,Web服务器为IIS,数据库服务器为php开发工具采用的wamp和DreamWeaver。其工作流程为:用户登录通过权限判断,普通用户只能浏览和查询物品,注册用户除了可以完成普通用户的操作外,还可以进入购买和物品详细信息的操作。注册用户除系统管理员外不能对物品进行删改操作。

6.2 个人收获

 两年的艰苦跋涉,2个多月的精心准备,毕业论文终于到了划句号的时候,心头照例该如释重负,但写作过程中常常出现的辗转反侧和力不从心之感却挥之不去。论文写作的过程并不轻松,工作的压力时时袭扰,知识的积累尚欠火候,于是,我只能一次次埋头于图书馆中,一次次在深夜奋笔疾书。第一次花费如此长的时间和如此多的精力,完成一篇具有一定学术价值的论文,其中的艰辛与困难难以诉说,但曲终幕落后留下的滋味,值得我一生慢慢品尝。

最重要的是我对建设网站深一步了解,不懂地方也找老师或同学解决了,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力,为以后的发展得到了很大帮助。

 

 

 

7  系统的开发原理

7.1系统的功能特点及系统功能结构

(1)操作简单、界面友好:完全控件式的页面布局,使得物品的录入工作更简便;许多选项包括物品类别、来源地等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

(2)即时可见:对物品的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。

(3)功能完善:包括常见网站的物品管理的各个方面:物品录入、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时物品的管理要求。

(4)方便移植:针对不同的物品,只需要稍作修改就可以做出适合本物品特点的网站购物管理系统!

 

 

 

 

8  结论

毕业设计是专科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的网上商城系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。这是我们都希望看到的也正是我们进行毕业设计的目的所在。

虽然毕业设计内容繁多,过程繁琐但我的收获却更加丰富。各种系统的适用条件,各种软件的选用标准,各种工具的了解,我都是随着设计的不断深入而不断熟悉并学会应用的。和老师的沟通交流更使我从经济的角度对设计有了新的认识也对自己提出了新的要求。在设计过程中一些页面的设计让我很头痛,原因是由于系统本身设计受到颜色搭配的美观,而又必须考虑本专业的一些要求规范,从而形成了一些矛盾点,这些矛盾在处理上让人很难斟酌,正是基于这种考虑我意识到:要想更完美的进行一次设计,与其他专业人才的交流沟通是很有必要的,这其中也包括更好的了解客户的各种心里要求,更要从行业的高度看待一些大局上的问题更好的处理各种矛盾。

提高是有限的但提高也是全面的,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。

顺利如期的完成本次毕业设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。在这次的毕业设计中虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统.。

 

你可能感兴趣的:(基于php网上商城系统毕业设计)