基于PHP的电子商城的设计与实现.docx
《基于PHP的电子商城的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于PHP的电子商城的设计与实现.docx(32页珍藏版)》请在冰点文库上搜索。
基于PHP的电子商城的设计与实现
毕业设计(论文)
题目:
基于PHP的电子商城的设计与实现
学生姓名
学号0232
班级信息治理102202H
所属院(系)运算机科学与技术
指导教师
2021年5月20日
基于PHP的电子商城的设计与实现
摘要
随着运算机的普遍应用,人们在网上能够进行网上购物,网上交友,电子商务,网络营效等等。
网上商城作为电子商务其中一种表现形式在我国有了飞速的进展,具有必然的优势,但仍存在许多问题。
本文要紧分析了网上商城的组成情形,重点介绍了网站前台功能模块的详细思路和实现方式,和对后台数据库关键技术和部份源代码的详细说明。
该系统要紧用Smarty模板引擎,分离了php逻辑代码和外在HTML+CSS内容,使程序员改变程序的逻辑内容可不能阻碍到前端的页面设计,前端从头修改页面可不能阻碍到程序的程序逻辑,大幅度提高了购物商城的运行速度。
本购物商城实现了用户注册、登录、商品阅读和查询、对商品的购买利用购物车和用户定单的生成、结账等一系列功能。
关键词:
网上商城,PHP,MySQL
TheestoreBasedOnPHP
Abstract
Withtheextensiveapplicationofcomputers,Peoplecanbeonlineinonlineshopping,e-friends,e-commerce,networkoperatorsandsoonlineestoreasaformofe-commercewhichhasbeenrapiddevelopmentinChina,hascertainadvantages,buttherearestillmanyproblems.ThispaperanalyzesthemaincomponentsoftheInternetMall,thewebsitefocusesonthefuturefunctionoftherealizationofideasandmethodsindetail,aswellasthebackgrounddatabaseofkeytechnologiesandsomedetaileddescriptionofthesourcecode.ThesystemismainlyusedsmartytemplateenginephplogicalseparationofcodeandexternalHTML+CSScontent,allowsprogrammerstochangethelogicoftheprogramwillnotaffectthecontentofthefrontpagedesign,thefrontpagedoesnotaffectthere-edittheprogramlogicgreatlyimprovedtherunningspeedshoppingmall.Theshoppingmalluserregistration,login,browseandquerythegoods,forgoodspurchasedusingtheshoppingcartandusergeneratedorders,billingandaseriesoffunctions.
KeyWords:
estore,PHP,MySQL
第1章绪论
进入21世纪以后,知识经济的飞速进展对咱们的社会产生了庞大的阻碍。
IT业的飞速进展不单单带来了庞大的经济效益,也在慢慢改变着咱们的生活,其中阻碍最为普遍的确实是互联网了。
在那个新经济时期,互联网的迅猛进展制造了一个无边界的数字世界,产品和效劳几乎能够瞬时活着界各地交易,以网络和电子商务为要紧特点的新经济以不可争辩的事实席卷了全世界每一个行业。
而电子商务已经成为人们生活中不可或缺的一部份,愈来愈受到人们的关注。
电子商城指的是利用简单,快捷,低本钱的电子通信方式,生意两边不碰面面在网上开展的各类商贸活动。
在全世界知识经济和信息化高速进展的今天,信息化是决定企业成败的关键因素,信息的有效利用成为新经济模式中企业增强竟争力的重要手腕。
电子商务作为一种崭新的商务运作模式,愈来愈受到企业的重视。
电子商务的魅力在于它能打坏现存的一切链条结构,让产品群,客户群,技术群,物流群等从头排队,优化组合,为企业业务的从头组合提供无穷商机,开辟新的竞争领域,形成新的利益分派格局。
利用电子购物系统对购物信息进行治理,具有着手工购物所无法比拟的优势,例如:
足不出户,查看方便,存储量大,保密性好,本钱低等。
这些优势能够极大地提高信息治理的效率,也是知足了购物者的购物需求。
基于电子商务所连带出的的商品交易方案,电子结帐方案和信息平安方案等,已慢慢成为国际信息技术市场竞争的核心。
在电子商务慢慢流行的时期,消费者在实现网上消费的同时,将对政府治理行为提出新的要求,国外在这方面已经有很完善的法律法规加以约束。
国内在这方面也在不断的尽力,可是有时候不免会发生在网上购买的商品,买回来以后和描述的有专门大不同,造成消费者的损失。
在目前那个时期,最好是选择比较可信的知名电子商务网站进行购物,最大程度的幸免被骗被骗和财产损失。
estore购物商城是利用眼下比较流行的Linux+Apache+PHP+MySQL所开发的基于Web的电子商务系统。
旨在为用户提供便利的互联网购物平台和优质的购物体验[1]。
第2章系统需求分析
系统需求分析
随着科学的进步,电子商务也进展的超级迅速,人们追求的是方便快捷的生活方式,通过Internet选购商品,不需要花费太多的时刻去逛商场,坐在电脑前就能够够买到喜爱的商品,很符合人们的心愿。
本系统的关键是在具有大体功能的基础上,保证操作简单和界面美观,并要顾客专门快适应系统的同时考虑系统的平安性。
系统可行性分析
在开发项目之前需要进行可行性分析,以减少项目的开发风险。
可行性分析要紧包括经济可行性,技术可行性,操作可行性等。
(1)经济可行性
经济可行性主若是对项目的经济效益进行评判。
本网站开发只需要运算机、相关开发软件和资料的支持。
本系统开发简单,利用方便,操作简单,用户不需要进行专业培训即可利用本系统。
该网站投入利用后将方便商家和用户的利用而且能够节约大量人力物力资源,因此本网站的开发在经济上是可行的。
(2)技术可行性
技术可行性要紧考虑现有的硬软件平台可否知足开发者的需要,现有的技术条件可否顺利完成开发工作。
本网站采纳PHP+MySQL+Apach开发环境。
PHP是一种流行的平平稳固的网页开发技术,MySQL数据库是性能卓越的数据库,超级适合中小型网站的开发。
Apach是功能壮大的开源网页效劳器。
PHP,MySQL和Apache搭配可组成良好的开发环境。
本网站利用Eclipse工具开发。
Eclipse是一个开放的可扩展开发平台。
就其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。
因此本网站的开发在经济上是可行的。
(3)操作可行性
随着科学技术的日趋进展,互联网技术已经在各个领域取得了普遍地应用。
传统的销售方式存在的问题愈来愈明显,而信息化、网络化的网上购物商城那么凸显出庞大的优势。
该网站功能壮大、操作方便,用户只需熟悉大体的上网操作即可利用该系统。
因此该网站的开发在操作上是可行的。
综上所述,网上购物商城在经济上,技术上和操作上都是可行的,且开发该网站会带来必然的经济效益和社会效益。
第3章系统概述
系统的开发背景与意义
系统开发的背景
21世纪的今天,网络在人们生活中已经日趋盛行,愈来愈多人已经离不开网络。
人们已经再也不知足于了解最新信息,查找资料等一些传统的网络利用方式,而是过渡到娱乐,购物等新兴的网民生活。
网上购物,成了现今广大群众的时尚。
而商家,也慢慢重视起网络的作用,充分利用起网络的低本钱,高效性来宣传企业形象和销售商品。
因此,为了方便广大群众,知足商家的需求,有必要成立一个业务进展框架系统,标准网上业务的开展,提供完善的网络资源,平安保障,平安的网上支付和有效的治理机制,有效地实现资源共享,实现真正的电子商务。
为此我专门构建了estore电子商城系统。
estore电子商城是基于WEB开发的一套B2C的电子商务网站。
B2C也确实是BusinesstoCustomers[2]。
本系统以构建网上购物网站为目标,能够让顾客通过阅读网站购物,选择自己中意的商品并下单购买。
不但能让所有效户能够方便快速买到种类繁多,价廉质优的商品,而且也能够节省大量的时刻和金钱。
让卖方在有效操纵本钱的同时,大幅提升销量而且不受地域与时刻的限制。
利用现代化的电子及网络技术,为企业和客户搭建一个互动平台。
降低企业运营本钱的同时,方便客户购物,达到共赢的目的。
一方面,企业减少了地面店铺的租凭费用,减少了宣传货物的广告费用,减少了雇佣员工的费用;另一方面,电子及网络技术使得企业运作加倍速捷方便,为企业博得宝贵的时刻和商机[3]。
关于客户来讲,客户省去了逛实体商城的时刻,同时能够将自己的需求迅速地反馈给企业,使自己的需求能够更好地取得知足。
系统开发的意义
网上购物商城系统的建设,能够成立起电子商务效劳的门户站点,是现实社会到网络社会的真正表现,为广大网上商家和网络客户提供一个适合中国国情的电子商务网上生存环境和商业运作空间[4]。
网上购物商城的建设,不单单是低级网上购物的实现,它能够有效地在Internet上构架平安的和易于扩展的业务框架表现,实现企业对企业、企业对用户和用户到用户等应用环境,推动电子商务在中国的进展。
最近几年来,我国电子商务进展超级迅速。
在加入WTO后,市场将加倍开放,咱们的企业不单单是只面对国内的用户了,而是全面面对全世界了,因此企业为了花最小的代价和本钱来扩大自己的阻碍力和市场力,大多项选择择导入电子商务,因此导入电子商务的企业比例将持续增加,中国将成为电子商务在全世界进展最快,潜力最大的地域之一[5]。
本系统还涉及到如何配置软件环境变量,如何成立数据库,如何利用MySQL数据库等操作。
通过本设计,能够巩固自己所学专业知识,同时能够增强自己的检索资料能力,实际动手能力,分析问题的能力,解决问题的能力。
系统的功能概述
estore电子商城要紧实现网上购物的整个流程,用户进入该商城,能够看到整个商城的首页面,若是有账号,能够直接在首页面进行登录,若是还未注册账号,要先注册成为estore电子商城的合法用户,注册信息要紧包括昵称,密码,头像,有效证件等信息,注册成功后,那么用户就能够够登录estore电子商城首页,在首页用户能够随意阅读商品,能够通过商城的商品展现,查找相关商品,也能够通过度类来进行商品购买,当点击商品时就能够够阅读它的详细信息,包括市场价钱,本店价钱,库存量等一系列信息,若是碰到想要购买的商品时,登录用户就能够够通过页面右下角的阿里旺旺和商家进行联系,然后通过购物车功能,把想购买的商品先放进购物车中然后能够选择结账或继续购买商品;当用户找到全数想要购买的商品后,能够对购买的商品进行数量上的修改,当所有都确信后,用户能够点击结账按钮,进行结账效劳;结账时,系统会再一次要求用户填写资料(联系、地址等),确保能把购买商品送到顾客那里,并生成定单,以后用户还能够在定单治理中查看到自己的定单信息。
点击注销以后,系统会提示退出成功,至此就完成了一次完整的购物流程。
系统的设计原那么和要求概述
参照各模块的功能与具体的特点,咱们设计的整个网上购物网站应达到以下目的:
①稳固性。
整个系统应能稳固运行,硬件配置的局部改变可不能阻碍整体的正常运行,其它系统的过失可不能致使办公自动化系统无法正确运作。
②准确性。
系统治理员按操作指南操作产生的权限数据,和所有前台用户的操作与数据库原定产生转变的实际状态应严格维持一致,杜绝错误记录,数据错位等情形的显现。
③平安性。
所有数据按时备份,在数据库中预留一个或多个最高权限帐户名及密码,幸免用户误操作而造成没必要要的损失。
④可保护性。
界面风格或其它可能的参数化改变(如增加新功能等)不需要从头编写源代码,用户能够自己完成。
⑤独立性。
每一个功能模块尽可能独立,减少与其它模块之间的耦合性,尽可能做到按客户的需求能够选择安装那些模块,不安装那些模块。
⑥易利用性。
网上购物网站的界面与操作人员的交互性好,与主机间利用Browser/Server(阅读器/效劳器)结构。
第4章系统的开发环境及相关技术
系统的开发工具及环境
操作系统:
Windows7;
开发工具:
Eclipse;
编程语言:
PHP;
数据库系统:
MySQL;
系统的相关技术简介
PHP技术介绍
PHP(PHP:
HypertextPreprocessor的缩写,中文名:
“超文本预处置器”)是一种通用。
吸收了,和的特点,入门门坎较低,易于学习,利用普遍,要紧适用于开发领域[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]
MySQL数据库介绍
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等多种数据库连接途径。
⑨提供用于治理、检查、优化数据库操作的治理工具。
⑩支持大型的数据库。
能够处置拥有上万万条记录的大型数据库。
Smarty模板介绍
Smarty是一个利用写出来的,是目前业界最闻名的模板引擎之一。
它分离了和外在的内容,提供了一种易于治理和利用的方式,用来将本来与代码混杂在一路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页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到那个静态的HTML文件中来,这相当于挪用一个静态的HTML文件。
④插件技术:
Smarty能够。
插件实际确实是一些自概念的函数。
⑤模板中能够利用if/elseif/else/endif。
在模板文件利用判定语句能够超级方便的对模板进行格式重排。
不适合利用Smarty的地址:
①需要实时更新的内容。
例如像股票显示,它需要常常对数据进行更新,这种型的程序利用smarty会使模板处置速度变慢。
②小项目。
小项目因为项目简单而美工与程序员兼于一人的项目,利用Smarty会在必然程度上丧失PHP开发迅速的优势。
HTML+CSS介绍
HTML(HyperTextMark-upLanguage),即超文本标记语言或超文本链接标示语言,是目前网络上应用最为普遍的语言,也是组成网页文档的要紧语言。
设计HTML语言的目的是为了能把寄存在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一路,形成有机的整体,人们不用考虑具体信息是在当前电脑上仍是在网络的其它电脑上。
咱们只需利用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能寄存在网络的另一台电脑中。
HTML文本是由HTML命令组成的描述性文本,HTML命令能够说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部份,其中头部描述阅读器所需的信息,而主体那么包括所要说明的具体内容[14]。
另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。
它许诺网页制作人成立文本与图片相结合的复杂页面,这些页面能够被网上任何其他人阅读到,不管利用的是什么类型的电脑或阅读器。
HTML标签一般是英文辞汇的全称(如块引用:
blockquote)或缩略语(如“p”代表Paragraph),但它们的与一样文本有区别,因为它们放在单书名号里。
故Paragragh标签是
,块引用标签是
。有些标签说明页面如何被格式化(例如,开始一个新段落),其他那么说明这些词如何显示(使文字变粗)还有一些其他标签提供在页面上不显示的信息--例如题目。
关于标签,需要记住的是,它们是成双显现的。
每当利用一个标签--如
,那么必需以另一个标签
将它关闭。注意“blockquote”前的斜杠,那确实是关闭标签与打开标签的区别。
可是也有一些标签例外。
比如,标签就不需要。
大体HTML页面以DOCTYPE开始,它声明文档的类型,且它之前不能有任何内容(包括换行符和空格),不然将使文档声明无效,接着是标签,以终止。
在它们之间,整个页面有两部份--题目和正文。
题目辞--夹在
和标签之间--那个词语在打开页面时出此刻屏幕底部最小化的窗口。正文那么夹在
和之间--即所有页面的内容所在。页面上显示的任何东西都包括在这两个标签当中[15]。
CascadingStyleSheets(层叠样式表),从九十年代初HTML被发明开始样式表就以各类形式显现了,不同的阅读器结合了它们各自的样式语言,读者能够利用这些样式语言来调剂网页的显示方式。
一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该如何被显示。
但随着H