基于PHP的电子商城的设计与实现Word格式.docx
《基于PHP的电子商城的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于PHP的电子商城的设计与实现Word格式.docx(40页珍藏版)》请在冰点文库上搜索。
在这个新经济时代,互联网的迅猛发展创造了一个无边界的数字世界,产品和服务几乎可以瞬时在世界各地交易,以网络和电子商务为主要特征的新经济以不可争辩的事实席卷了全球每一个行业。
而电子商务已经成为人们生活中不可或缺的一部分,越来越受到人们的关注。
电子商城指的是利用简单,快捷,低成本的电子通信方式,买卖双方不谋面面在网上开展的各种商贸活动。
在全球知识经济和信息化高速发展的今天,信息化是决定企业成败的关键因素,信息的有效利用成为新经济模式中企业增强竟争力的重要手段。
电子商务作为一种崭新的商务运作模式,越来越受到企业的重视。
电子商务的魅力在于它能打碎现存的一切链条结构,让产品群,客户群,技术群,物流群等重新排队,优化组合,为企业业务的重新组合提供无限商机,开辟新的竞争领域,形成新的利益分配格局。
使用电子购物系统对购物信息进行管理,具有着手工购物所无法比拟的优点,例如:
足不出户,查看方便,存储量大,保密性好,成本低等。
这些优点能够极大地提高信息管理的效率,也是满足了购物者的购物需求。
基于电子商务所连带出的的商品交易方案,电子结帐方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点。
在电子商务逐渐流行的时代,消费者在实现网上消费的同时,将对政府管理行为提出新的要求,国外在这方面已经有很完善的法律法规加以约束。
国内在这方面也在不断的努力,但是有时候难免会发生在网上购买的商品,买回来之后和描述的有很大差别,造成消费者的损失。
在目前这个阶段,最好是选择比较可信的知名电子商务网站进行购物,最大程度的避免上当受骗和财产损失。
estore购物商城是使用眼下比较流行的Linux+Apache+PHP+MySQL所开发的基于Web的电子商务系统。
旨在为用户提供便捷的互联网购物平台和优质的购物体验[1]。
第2章系统需求分析
2.1系统需求分析
随着科学的进步,电子商务也发展的非常迅速,人们追求的是方便快捷的生活方式,通过Internet选购商品,不需要花费太多的时间去逛商场,坐在电脑前就可以买到喜欢的商品,很符合人们的心愿。
本系统的关键是在具备基本功能的基础上,保证操作简单以及界面美观,并要顾客很快适应系统的同时考虑系统的安全性。
2.2系统可行性分析
在开发项目之前需要进行可行性分析,以减少项目的开发风险。
可行性分析主要包括经济可行性,技术可行性,操作可行性等。
(1)经济可行性
经济可行性主要是对项目的经济效益进行评价。
本网站开发只需要计算机、相关开发软件和资料的支持。
本系统开发简单,使用方便,操作简单,用户不需要进行专业培训即可使用本系统。
该网站投入使用后将方便商家和用户的使用并且可以节约大量人力物力资源,所以本网站的开发在经济上是可行的。
(2)技术可行性
技术可行性主要考虑现有的硬软件平台能否满足开发者的需要,现有的技术条件能否顺利完成开发工作。
本网站采用PHP+MySQL+Apach开发环境。
PHP是一种流行的安全稳定的网页开发技术,MySQL数据库是性能卓越的数据库,非常适合中小型网站的开发。
Apach是功能强大的开源网页服务器。
PHP,MySQL和Apache搭配可组成良好的开发环境。
本网站使用Eclipse工具开发。
Eclipse是一个开放源代码的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
所以本网站的开发在经济上是可行的。
(3)操作可行性
随着科学技术的日益发展,互联网技术已经在各个领域得到了广泛地应用。
传统的销售方式存在的问题越来越明显,而信息化、网络化的网上购物商城则凸显出巨大的优势。
该网站功能强大、操作方便,用户只需熟悉基本的上网操作即可使用该系统。
所以该网站的开发在操作上是可行的。
综上所述,网上购物商城在经济上,技术上和操作上都是可行的,且开发该网站会带来一定的经济效益和社会效益。
第3章系统概述
3.1系统的开发背景与意义
3.1.1系统开发的背景
21世纪的今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。
人们已经不再满足于了解最新信息,查找资料等一些传统的网络使用方式,而是过渡到娱乐,购物等新兴的网民生活。
网上购物,成了当今广大群众的时尚。
而商家,也逐渐重视起网络的作用,充分利用起网络的低成本,高效性来宣传企业形象和销售商品。
因此,为了方便广大群众,满足商家的需求,有必要建立一个业务发展框架系统,规范网上业务的开展,提供完善的网络资源,安全保障,安全的网上支付和有效的管理机制,有效地实现资源共享,实现真正的电子商务。
为此我专门构建了estore电子商城系统。
estore电子商城是基于WEB开发的一套B2C的电子商务网站。
B2C也就是BusinesstoCustomers[2]。
本系统以构建网上购物网站为目标,可以让顾客通过浏览网站购物,选择自己满意的商品并下单购买。
不但能让所有用户能够方便快速买到种类繁多,价廉质优的商品,而且也可以节省大量的时间和金钱。
让卖方在有效控制成本的同时,大幅提升销量并且不受地域与时间的限制。
利用现代化的电子及网络技术,为企业和客户搭建一个互动平台。
降低企业运营成本的同时,方便客户购物,达到双赢的目的。
一方面,企业减少了地面店铺的租凭费用,减少了宣传货物的广告费用,减少了雇佣员工的费用;
另一方面,电子及网络技术使得企业运作更加快捷方便,为企业赢得宝贵的时间和商机[3]。
对于客户来说,客户省去了逛实体商城的时间,同时可以将自己的需求迅速地反馈给企业,使自己的需求可以更好地得到满足。
3.1.2系统开发的意义
网上购物商城系统的建设,可以建立起电子商务服务的门户站点,是现实社会到网络社会的真正体现,为广大网上商家以及网络客户提供一个适合中国国情的电子商务网上生存环境和商业运作空间[4]。
网上购物商城的建设,不仅仅是初级网上购物的实现,它能够有效地在Internet上构架安全的和易于扩展的业务框架体现,实现企业对企业、企业对用户以及用户到用户等应用环境,推动电子商务在中国的发展。
近年来,我国电子商务发展非常迅速。
在加入WTO后,市场将更加开放,我们的企业不仅仅是只面对国内的用户了,而是全面面对全世界了,所以企业为了花最小的代价和成本来扩大自己的影响力和市场力,大多选择导入电子商务,所以导入电子商务的企业比例将持续增加,中国将成为电子商务在全球发展最快,潜力最大的地区之一[5]。
本系统还涉及到如何配置软件环境变量,如何建立数据库,如何使用MySQL数据库等操作。
通过本设计,可以巩固自己所学专业知识,同时可以增强自己的检索资料能力,实际动手能力,分析问题的能力,解决问题的能力。
3.2系统的功能概述
estore电子商城主要实现网上购物的整个流程,用户进入该商城,可以看到整个商城的首页面,如果有账号,可以直接在首页面进行登录,如果还未注册账号,要先注册成为estore电子商城的合法用户,注册信息主要包括昵称,密码,头像,有效证件等信息,注册成功后,则用户就可以登录estore电子商城首页,在首页用户可以随意浏览商品,可以通过商城的商品展示,查找相关商品,也可以通过分类来进行商品购买,当点击商品时就可以浏览它的详细信息,包括市场价格,本店价格,库存量等一系列信息,如果遇到想要购买的商品时,登录用户就可以通过页面右下角的阿里旺旺和商家进行联系,然后通过购物车功能,把想购买的商品先放进购物车中然后可以选择结账或者继续购买商品;
当用户找到全部想要购买的商品后,可以对购买的商品进行数量上的修改,当所有都确定后,用户可以点击结账按钮,进行结账服务;
结账时,系统会再一次要求用户填写资料(联系电话、地址等),确保能把购买商品送到顾客那里,并生成订单,之后用户还可以在订单管理中查看到自己的订单信息。
点击注销之后,系统会提示退出成功,至此就完成了一次完整的购物流程。
3.3系统的设计原则和要求概述
参照各模块的功能与具体的特点,我们设计的整个网上购物网站应达到以下目的:
①稳定性。
整个系统应能稳定运行,硬件配置的局部改变不会影响整体的正常运行,其它系统的差错不会导致办公自动化系统无法正确运作。
②准确性。
系统管理员按操作指南操作产生的权限数据,和所有前台用户的操作与数据库原定产生变化的实际状态应严格保持一致,杜绝错误记录,数据错位等情况的出现。
③安全性。
所有数据定时备份,在数据库中预留一个或多个最高权限帐户名及密码,避免用户误操作而造成不必要的损失。
④可维护性。
界面风格或其它可能的参数化改变(如增加新功能等)不需要重新编写源代码,用户可以自己完成。
⑤独立性。
每一个功能模块尽量独立,减少与其它模块之间的耦合性,尽可能做到按客户的需求可以选择安装那些模块,不安装那些模块。
⑥易使用性。
网上购物网站的界面与操作人员的交互性好,与主机间使用Browser/Server(浏览器/服务器)结构。
第4章系统的开发环境及相关技术
4.1系统的开发工具及环境
操作系统:
Windows7;
开发工具:
Eclipse;
编程语言:
PHP;
数据库系统:
MySQL;
4.2系统的相关技术简介
4.2.1PHP技术介绍
PHP(PHP:
HypertextPreprocessor的缩写,中文名:
“超文本预处理器”)是一种通用开源脚本语言。
语法吸收了C语言,Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域[6]。
PHP的文件后缀名为.php。
PHP也是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
PHP可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多[7]。
PHP的特性包括:
①PHP独特的语法混合了C,Java,Perl以及PHP自创新的语法。
②PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
③PHP支持几乎所有流行的数据库以及操作系统。
④最重要的是PHP可以用C,C++进行程序的扩展!
[8]
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP其优势为:
①开放的源代码:
所有的PHP源代码事实上都可以得到。
②PHP是免费的:
和其它技术相比,PHP本身免费且是开源代码。
③PHP的快捷性:
程序开发快,运行快,技术本身学习快。
嵌入于HTML:
因为PHP可以被嵌入于HTML语言,它相对于其他语言。
编辑简单,实用性强,更适合初学者。
④跨平台性强:
由于PHP是运行在服务器端的脚本,可以运行在UNIX,LINUX,WINDOWS,MacOS下。
⑤效率高:
PHP消耗相当少的系统资源。
⑥图像处理:
用PHP动态创建图像。
⑦面向对象:
在PHP4、PHP5中,面向对象方面都有了很大的改进,PHP完全可以用来开发大型商业程序。
⑧专业专注:
PHP支持脚本语言为主,同为类C语言。
[9]
4.2.2MySQL数据库介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性[10]。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小,速度快,总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
和其他的大型数据库例如Oracle,DB2,SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
LAMP目前Internet上流行的网站构架方式是LAMP和LNMP,即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器[11]。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱,就可以建立起一个稳定、免费的网站系统。
该系统特性为:
①使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
②支持AIX,FreeBSD,HP-UX,Linux,MacOS,NovellNetware,OpenBSD,OS/2Wrap,Solaris,Windows等多种操作系统。
③为多种编程语言提供了API。
这些编程语言包括C,C++,Python,Java,Perl,PHP,Eiffel,Ruby和Tcl等。
④支持多线程,充分利用CPU资源。
⑤优化的SQL查询算法,有效地提高查询速度。
⑥既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
⑦提供多语言支持,常见的编码如中文的GB2312,BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
⑧提供TCP/IP,ODBC和JDBC等多种数据库连接途径。
⑨提供用于管理、检查、优化数据库操作的管理工具。
⑩支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
4.2.3Smarty模板介绍
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。
它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离[12]。
简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
早在1999年后期,就已经开始为模板引擎写说明文档。
在完成这个文档之后,开始尝试用C写一个模板引擎,并有希望被包含到PHP里去。
在撞上了许多的技术难题的同时,“什么是模板应该做的,什么不该做”这个问题,也被热烈的讨论着。
从这些经验决定应该用PHP将模板引擎写成一个类,让任何觉得合适的人使用它。
所以就有了Smarty。
(注:
这个类以前从来没有公开发表过)。
这个类几乎达到了我们所有的要求:
常规变量替换,支持包括其他模板,使用配置文件集成设置,嵌入PHP代码,限制‘if’语句的作用,还有更多的可以多层嵌套的健壮的动态区块[13]。
它用常规表达式做到这一切,于是代码变得相当令人费解。
在每次调用的时候,都要去解析那些语法和常规表达式,于是在大型应用的时候,它显然慢了下来。
在程序员的眼光看来,最大的问题还是使用PHP脚本建立和处理模板和动态区块的所有必要工作。
我们应该如何使他变得更简单?
我们可以想象Smarty应该有怎样的最后表现。
我们知道PHP代码如果没有了模板解析的开销将有多快,我们也知道从一般的美工看来PHP语言是多么的“恐怖”,然而这一切可以被一种更简单的模板语法掩饰掉。
我们应该怎样把这两种方法的长处结合起来?
于是,Smarty诞生了……
Smarty的主要有点是:
①速度:
采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
②编译型:
采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
③缓存技术:
Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
④插件技术:
Smarty可以自定义插件。
插件实际就是一些自定义的函数。
⑤模板中可以使用if/elseif/else/endif。
在模板文件使用判断语句可以非常方便的对模板进行格式重排。
不适合使用Smarty的地方:
①需要实时更新的内容。
例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。
②小项目。
小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。
4.2.4HTML+CSS介绍
HTML(HyperTextMark-upLanguage),即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。
我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容[14]。
另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。
它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
HTML标签通常是英文词汇的全称(如块引用:
blockquote)或缩略语(如“p”代表Paragraph),但它们的与一般文本有区别,因为它们放在单书名号里。
故Paragragh标签是<
p>
,块引用标签是<
blockquote>
。
有些标签说明页面如何被格式化(例如,开始一个新段落),其他则说明这些词如何显示(<
b>
使文字变粗)还有一些其他标签提供在页面上不显示的信息--例如标题。
关于标签,需要记住的是,它们是成双出现的。
每当使用一个标签--如<
,则必须以另一个标签<
/blockquote>
将它关闭。
注意“blockquote”前的斜杠,那就是关闭标签与打开标签的区别。
但是也有一些标签例外。
比如,<
input>
标签就不需要。
基本HTML页面以DOCTYPE开始,它声明文档的类型,且它之前不能有任何内容(包括换行符和空格),否则将使文档声明无效,接着是<
html>
标签,以<
/html>
结束。
在它们之间,整个页面有两部分--标题和正文。
标题词--夹在<
head>
和<
/head>
标签之间--这个词语在打开页面时出现在屏幕底部最小化的窗口。
正文则夹在<
body>
/body>
之间--即所有页面的内容所在。
页面上显示的任何东西都包含在这两个标签之中[15]。
CascadingStyleSheets(层叠样式表),从九十年代初HTML被发明开始样式