1、摘 要 随着Internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,也将越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。 本课题主要基于电子商务的基本原理,运用PHP开发技术搭建一个动态的网上商城的电子商务网站。它是在Windows系统环境下,以Mysql数据库开发平台,Apache网络信息服务器,采用PHP(HypertextPreprocessor)技术开
2、发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。关键字:电子商务,网络购物,数据库开发,PHP开发技术Abstract Alongwiththedevelopmentofinternettechnology,dailylifecannotgoonwith outthenetwork.Thelifeandworkofthesocialp
3、eopleoffuturewilldependonthedevelopmentofdigitaltechnologymoreandmore,digitization,networking, electronization,virtualmoreandmore.E-commercepressesclosetopeopleslifedaybydayalongwiththedevelopmentofnetworktoo.DevelopingcourseandpresentapplicationstateanddevelopmenttrendofInternetcanbelievenetworktec
4、hnologywillchangelifeandworkingwayofusgreatly,andevenchangethevaluesofthesocietytosomeextent. This paper mainly based on the basic principles of electronic commerce, electronic commerce website using PHP development technology to build a dynamic online store. It is in the Windows environment, with M
5、ysql database development platform, Apache Internet information server, using PHP (Hypertext Preprocessor) technology development online shopping system. The system is divided into front and back two parts, the front desk for consumers, including commodity display, membership registration, shopping
6、cart management, merchandise management, order management and other functional modules; the background by the administrators, including commodity management, purchase management, order management, system management and other functional modules. These functions are implemented, for merchants to provi
7、de the platform of electronic business affairs is a dynamic, interactive, with the provision of goods, system management and other functions. Keywords:The development of e-commerce, online shopping, database, PHP Technology 第 37 页 目录摘 要.1Abstract.21 绪言.51.1 电子商城的定义.51.2 系统设计的背景.51.3 系统开发的目的和意义.51.4
8、php技术的介绍.62 开发工具及技术选择.72.1 b/s结构的概述.72.2 apache简介.72.3 mysql数据库.82.4 客户与服务器.92.5 开发工具的使用.112.6 ci框架的简介.113 系统实现的目标.133.1 系统总体目标设计.133.2 系统的可行性研究.133.2 需求分析.143.4 系统功能结构图.164 系统设计.174.1 系统设计.174.2 开发运行环境.174.3 数据库设计.175 系统的详细设计.245.1 网站前台设计.24 5.1.1 前台总框架.24 5.1.2 用户管理模块.25 5.1.3 商品浏览.29 5.1.4 购物车模块.
9、305.2 后台部分.31 5.2.1 后台总体框架.31 5.2.2 管理员登陆.32 5.2.3 商品管理.32 6 测试报告.34 7 总结.36致谢.36参考文献.36 1 绪言1.1 电子商城的定义 电子商城源于英文E-Commerce,简写为E-shop。顾名思义,其内容包含两个方面:一是电子方式,二是商贸活动。 (电子商城)指的是利用简单,快捷,低成本的电子通信方式,买卖双方不谋面面在网上开展的各种商贸活动。在全球知识经济和信息化高速发展的今天,信息化是决定企业成败的关键因素,信息的有效利用成为新经济模式中企业增强竟争力的重要手段。 电子商务作为一种崭新的商务运作模式,越来越受到
10、企业的重视。电子商务的魅力在于它能打碎现存的一切链条结构,让产品群,客户群,技术群,物流群等重新排队,优化组合,为企业业务的重新组合提供无限商机,开辟新的竞争领域,形成新的利益分配格局。1.2 系统设计的背景21世纪的今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。人们已经不再满足于了解最新信息、查找资料等一些传统的网络使用方式,而是过渡到娱乐、购物等新兴的网民生活。网上购物,成了当今广大群众的时尚。而商家,也逐渐重视起网络的作用,充分利用起网络的低成本、高效性来宣传企业形象和销售商品。因此,为了方便广大群众,满足商家的需求,我们专门构建网上商城系统。1.3 系统开发的目的和意义
11、 长期以来,大部分的销售活动,都是面对面的销售,如:店铺销售、广交会、上门推销等。这些销售活动,都会受到地域、时间、环境等方面的影响,从而给企业、公司等的销售管理带来极大的不便。而且信息的人工管理,也存在诸多缺点。而网上商城,正好能全面解决这样的问题。产品生产-销售-客户订单管理系统软件为企业、公司等的销售管理带来了极大的方便。产品生产-销售-客户订单管理系统能够为用户提供可靠的信息储存和快捷的信息处理手段。作为计算机应用的一部分,使用计算机对企业、公司的产品销售信息进行管理,具有手工管理所无法比拟的优点。因此,开发这样一套管理系统成为很有必要的事情,它能够具体化、合理化的管理单位的销售信息情
12、况,用结构化的思维方式去了解计算机的工作原理。 1.4 php技术的介绍 PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。PHP安装它
13、可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。PHP的特性包括:1、开放的源代码:所有的PHP源代码事实上都可以得到。2、PHP是免费的:和其它技术相比,PHP本身免费且是开源代码。3、php的快捷性:程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语
14、言,它相对于其他语言。编辑简单,实用性强,更适合初学者。4、跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。5、效率高:PHP消耗相当少的系统资源。SiteTeam企业自助建站软件是一部专业为搜索引擎营销(网站优化/SEO)而设计,操作极简单,网站极稳定、故障自动修复、在线升级维护、建站速度极快、专为大众上网营销而设计的完全免费开源企业建站系统!6、图像处理:用PHP动态创建图像7、面向对象:在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。8、专业专注:PHP支持脚本语言为主,同为类C语言
15、。 2 开发工具及技术选择2.1 b/s结构的概述 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互 。 B/S最大的优点就是可以在任何地方进行操作而不用安装
16、任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。 2.2 Apache的简介 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验Internet网络,后来逐步扩充到各
17、种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎
18、所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。Apache web服务器软件拥有以下特性:支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程支持通用网关接口支持基于IP和基于域名的虚拟主机支持多种方式的HTTP认证集成Perl处理模块集成代理服务器模块支持实时监视服务器状态和定制服务器日志支持服务器端包含指令(SSI)支持安全Socket层(SSL)提供用户会话过程的跟踪支持FastCGI通过第三方模块可以支持Java Servlets如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。2.3 mysql数据库 MySQL是一个开
19、放源码的小型关联式数据库关联系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低
20、总体拥有成本。MySQL目前Internet上流行的网站构架方式是L(Linux+Apache+MySQL+PHP/Perl/Python)和LNMP(Linux+Nginx+MySQL+php/per/Python),即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。 Mysql系统特性1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性2支持AI
21、X、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8提供TCP
22、/IP、ODBC和JDBC等多种数据库连接途径。9提供用于管理、检查、优化数据库操作的管理工具。10支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11支持多种存储引擎。2.4 客户与服务器 www世界里可以包括现有的Internet 各种网络资源服务,通过统一资源(Uniforom Resource Location ,URL)指明通讯协定以及地址的方式,取得网络上各种的服务。 Web由客户与服务器组成,如下图所示: 客户由TCP/IP加上web浏览器组成,web服务器由http加后台处理数据库组成。Httpd是web服务器的通用名称,通过程序在服务器上运行的web服务器程序。客户的
23、浏览器和服务器用TCP/IP的http(超文本传输协议)建立连接,使得呵护与服务器二者的超文本传输变的容易,所有的客户及web服务器统一使用TCP/IP,统一分配ip,使得客户和服务器的逻辑链接变成简单的点对点的链接。URL实现了单文档在整个国际互联网主机中的定位,客户的请求通过web服务器的公用网关接口(CGI,Common Gateway Interface)可以很好地与后台的各种类型数据接口。 HTTP是基于客户机/服务器模型的信息分布方式,原意为“请求/响应模型”、即信息文件存放在服务器上,用户通过程序向服务器发出请求并访问服务器上的数据。HTTP通过客户机和服务器彼此互相放松消息的方
24、式工作。客户机可向服务器按多用途的国际邮件扩充协议(MIME,Multipurpose Internet Mail ExtensionProtocol)类型发送或接受信息,最常用的是GET,HEAD和POST。客户机按格式发送请求:GET URL,接着收到从服务器制定地点返回的文档文件。包括HTTP的版本,请求的状态(成功、没找到、被否认等)和文档MIME类型。HEAD请求则是要求服务器发送文件头信息,和GET请求的返回相比,仅少了文档主体。POST请求则是要求服务器接收信息,信息的形式可以是发向新闻组的信息形式,也可以通过web页面向服务器提交信息,通过服务器设定的CGI完成。 正是如此巨大
25、的需求促进了web开发技术的飞速进步。从Javascript到JavaApplet到Flash,从Html到Dhtml到Xml,从CGI到PHP,web开发技术已远非当年的吴下阿蒙了。如今的web开发无论是前台界面的表现形式与技术,还是后台数据的计算、管理和维护,都已经发生了深刻的变化。这些现代WEB技术为网站或应用开发提供了强有力地支持,他们正向着现代化软件技术所指导的组件化,框架化稳步前进。2.5 开发工具的使用 开发工具:Sublime Text 2 Sublime Text 2 的简介 Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器。 Sublime T
26、ext具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。 Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。 Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API ,
27、Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。 2.6 CI框架的简介 CI,CodeIgniter,是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。 CodeIgniter是由Ellislab公司的CEORickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统Expressio
28、nEngine。 CodeIgniter的主要特性如下:* 基于 MVC 体系* 超轻量级* 对数种数据库平台的全特性支持的数据库类* Active Record 支持* 表单与数据验证* 安全性与 XSS 过滤* Session 管理* 邮件发送类,支持附件,HTML 或文本邮件,多协议(sendmail, SMTP 和 Mail)及更多。* 图像处理类库(剪裁,缩放,旋转等)。支持 GD,ImageMagick 和 BetPBM* 文件上传类* FTP 类* 本地化* 分页* 数据加密* 基准测试* 全页面缓存* 错误日志* 应用程序评测* 日历类* User-Agent 类* Zip 编
29、码类* 模板引擎类* Trackback 类* XML-RPC 类库* 单元测试类* “搜索引擎友好”的 URL* 灵活的 URI 路由* 支持钩子和类扩展* 大量的辅助函数 3 系统实现的目标3.1 系统总体目标设计 网站分为两部分,第一部分为网站前台部分,包括网站的登陆页面以及前台展示页面,其中前台展示页面之后呈现商品展示页面。之后可以将物品加入购物车,呈现购物车显示页面。第二部分是网站后台数据库管理部分,主要为商品数据库管理,分别针对商品数据的上传、修改、更新以及删除动作。3.2 系统的可行性研究 可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础
30、上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面内容。 (1)经济可行性 主要是指一个新的系统开发需要的投资费用和收来的运行费用,并发估计的新系统的收益进行比较,看是否有利。 (2)时间可行性 这包括系统在目前的环境下能否正常运行,运行后期所引起的各方面变化,以及这些变化对社会消费者的因素所产生的影响。 (3)技术可行性 利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中常需要考虑
31、的一个问题。 (4)社会可行性 系统是否适应人类社会文明的发展,是否能够真正为社会所承认并为社会所利用,是否具有很好的社会意义。 决定可能性的主要因素是:只要资源和时间不加以限制,所有的项目都是可行的。然由于资源匮乏和所交付实践限制的困扰,使得基于计算机的系统开发变得比较困缓,因此,尽早对软件项目的可行性做出细致而谨慎的评估时十分必要的。如果在定义阶段及早发现将来可能出现的问题,及早做出决定。可以避免大量的人力、财力、实践上的浪费。 本系统采用PHP+Mysql+Apache进行开发,其中前台用HTML嵌入PHP进行页面开发和管理用户界面,提示信息完善,界面友好有亲和力;后台采用Mysql数据
32、库开发和管理数据库,部分关键内容采用事务处理机制,具有很强的错误处理能力。本系统的开发环境使用现在特别流行的开源Apache服务器,使用方便、运行稳定、安全可靠。PHP+Mysql+Apache这个国际公认的网站开发黄金组合在电子商务系统开发上,得到广泛的应用。如易趣网、百度有啊、ecshop等大型电子商务网站。综上所述,本系统在技术方面是可行的。 3.3 需求分析 初步调查 本次调查主要是通过自己亲身体验现在各大 B2C 网站的购物流程,如卓越网、百度有啊、淘宝网、京东商城等等,熟悉其实现购物的方式,了解其管理的运作方式和管理业务流程,分析现在B2C网上商城的基本运行情况和不足并探讨其需求。
33、同时,参考了相关网站的调查分析报告等。 用户需求分析 随着互联网的高速发展,Web应用技术也得到了迅速提高。电子商务平台便是基于这些互联技术发展起来的。而基于B/S体系结构的网上购物系统正是电子商务的典型,系统简单却功能强大 由于客户端服务器(C/S)应用程序可维护性差,而且对客户端计算机要求功能必须相当强大。为了解决这个缺点,浏览器服务器(B/S)应用程序应运而生。客户端只要求安装有浏览器,就可以与服务器连接,运行整个应用程序。与此同时,由于服务端与客户端分离,应用程序的版本不管如何更新,都只会在服务器端进行,这样客户端可以节省大量资源和时间。近年来,B/S结构越来越受到企业和公司等的喜爱和重用,选择B/S结构是当前电子商务系统开发的明智之举,能充分适应市场的需求。本系统便是采用B/S结构进行开发的。 购物流程图: 3.4 系统功能结构图 4 系统设计4.1 系统设计 系统主要包括网站前台页面和网站后台管理页面。前台页面主要负责商品的显示信息,便于用户查找各种商品以及商品信息