基于php的电子商城的设计与实现

基于php的电子商城的设计与实现

ID:12505568

大小:1.95 MB

页数:40页

时间:2018-07-17

上传者:xinshengwencai
基于php的电子商城的设计与实现_第1页
基于php的电子商城的设计与实现_第2页
基于php的电子商城的设计与实现_第3页
基于php的电子商城的设计与实现_第4页
基于php的电子商城的设计与实现_第5页
资源描述:

《基于php的电子商城的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

毕业设计(论文)题目:基于PHP的电子商城的设计与实现学生姓名学号201022040232班级信息管理102202H所属院(系)计算机科学与技术指导教师2014年5月20日2 基于PHP的电子商城的设计与实现摘要随着计算机的广泛应用,人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。网上商城作为电子商务其中一种表现形式在我国有了飞速的发展,具有一定的优势,但仍存在许多问题。本文主要分析了网上商城的组成情况,重点介绍了网站前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。该系统主要用Smarty模板引擎,分离了php逻辑代码和外在HTML+CSS内容,使程序员改变程序的逻辑内容不会影响到前端的页面设计,前端重新修改页面不会影响到程序的程序逻辑,大幅度提高了购物商城的运行速度。本购物商城实现了用户注册、登录、商品浏览和查询、对商品的购买使用购物车以及用户订单的生成、结账等一系列功能。关键词:网上商城,PHP,MySQLIV TheestoreBasedOnPHPAbstractWiththeextensiveapplicationofcomputers,Peoplecanbeonlineinonlineshopping,e-friends,e-commerce,networkoperatorsandsoefficient.theonlineestoreasaformofe-commercewhichhasbeenrapiddevelopmentinChina,hascertainadvantages,buttherearestillmanyproblems.ThispaperanalyzesthemaincomponentsoftheInternetMall,thewebsitefocusesonthefuturefunctionoftherealizationofideasandmethodsindetail,aswellasthebackgrounddatabaseofkeytechnologiesandsomedetaileddescriptionofthesourcecode.ThesystemismainlyusedsmartytemplateenginephplogicalseparationofcodeandexternalHTML+CSScontent,allowsprogrammerstochangethelogicoftheprogramwillnotaffectthecontentofthefrontpagedesign,thefrontpagedoesnotaffectthere-edittheprogramlogicgreatlyimprovedtherunningspeedshoppingmall.Theshoppingmalluserregistration,login,browseandquerythegoods,forgoodspurchasedusingtheshoppingcartandusergeneratedorders,billingandaseriesoffunctions.KeyWords:estore,PHP,MySQLIV 目录摘要IIAbstractIII第1章绪论1第2章系统需求分析22.1系统需求分析22.2系统可行性分析2第3章系统概述43.1系统的开发背景与意义43.1.1系统开发的背景43.1.2系统开发的意义43.2系统的功能概述53.3系统的设计原则和要求概述6第4章系统的开发环境及相关技术74.1系统的开发工具及环境74.2系统的相关技术简介74.2.1PHP技术介绍74.2.2MySQL数据库介绍84.2.3Smarty模板介绍94.2.4HTML+CSS介绍114.2.5Javascript介绍13第5章系统的设计与实现155.1系统的功能模块15IV 5.2功能模块流程图155.3后台数据库设计175.3.1创建使用MySQL数据库175.3.2创建表18第6章系统编码显示236.1用户注册页面236.2用户登陆页面246.3商品列表页面256.4商品详情页面266.5购物车页面276.6订单详情页面28第7章总结30参考文献31致谢32附录33IV 第1章绪论进入21世纪以后,知识经济的飞速发展对我们的社会产生了巨大的影响。IT业的飞速发展不仅仅带来了巨大的经济效益,也在逐渐改变着我们的生活,其中影响最为广泛的就是互联网了。在这个新经济时代,互联网的迅猛发展创造了一个无边界的数字世界,产品和服务几乎可以瞬时在世界各地交易,以网络和电子商务为主要特征的新经济以不可争辩的事实席卷了全球每一个行业。而电子商务已经成为人们生活中不可或缺的一部分,越来越受到人们的关注。电子商城指的是利用简单,快捷,低成本的电子通信方式,买卖双方不谋面面在网上开展的各种商贸活动。在全球知识经济和信息化高速发展的今天,信息化是决定企业成败的关键因素,信息的有效利用成为新经济模式中企业增强竟争力的重要手段。电子商务作为一种崭新的商务运作模式,越来越受到企业的重视。电子商务的魅力在于它能打碎现存的一切链条结构,让产品群,客户群,技术群,物流群等重新排队,优化组合,为企业业务的重新组合提供无限商机,开辟新的竞争领域,形成新的利益分配格局。使用电子购物系统对购物信息进行管理,具有着手工购物所无法比拟的优点,例如:足不出户,查看方便,存储量大,保密性好,成本低等。这些优点能够极大地提高信息管理的效率,也是满足了购物者的购物需求。基于电子商务所连带出的的商品交易方案,电子结帐方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点。在电子商务逐渐流行的时代,消费者在实现网上消费的同时,将对政府管理行为提出新的要求,国外在这方面已经有很完善的法律法规加以约束。国内在这方面也在不断的努力,但是有时候难免会发生在网上购买的商品,买回来之后和描述的有很大差别,造成消费者的损失。在目前这个阶段,最好是选择比较可信的知名电子商务网站进行购物,最大程度的避免上当受骗和财产损失。estore购物商城是使用眼下比较流行的Linux+Apache+PHP+MySQL所开发的基于Web的电子商务系统。旨在为用户提供便捷的互联网购物平台和优质的购物体验[1]。-1- 第2章系统需求分析2.1系统需求分析随着科学的进步,电子商务也发展的非常迅速,人们追求的是方便快捷的生活方式,通过Internet选购商品,不需要花费太多的时间去逛商场,坐在电脑前就可以买到喜欢的商品,很符合人们的心愿。本系统的关键是在具备基本功能的基础上,保证操作简单以及界面美观,并要顾客很快适应系统的同时考虑系统的安全性。2.2系统可行性分析在开发项目之前需要进行可行性分析,以减少项目的开发风险。可行性分析主要包括经济可行性,技术可行性,操作可行性等。(1)经济可行性经济可行性主要是对项目的经济效益进行评价。本网站开发只需要计算机、相关开发软件和资料的支持。本系统开发简单,使用方便,操作简单,用户不需要进行专业培训即可使用本系统。该网站投入使用后将方便商家和用户的使用并且可以节约大量人力物力资源,所以本网站的开发在经济上是可行的。(2)技术可行性技术可行性主要考虑现有的硬软件平台能否满足开发者的需要,现有的技术条件能否顺利完成开发工作。本网站采用PHP+MySQL+Apach开发环境。PHP是一种流行的安全稳定的网页开发技术,MySQL数据库是性能卓越的数据库,非常适合中小型网站的开发。Apach是功能强大的开源网页服务器。PHP,MySQL和Apache搭配可组成良好的开发环境。本网站使用Eclipse工具开发。Eclipse是一个开放源代码的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。所以本网站的开发在经济上是可行的。-35- (3)操作可行性随着科学技术的日益发展,互联网技术已经在各个领域得到了广泛地应用。传统的销售方式存在的问题越来越明显,而信息化、网络化的网上购物商城则凸显出巨大的优势。该网站功能强大、操作方便,用户只需熟悉基本的上网操作即可使用该系统。所以该网站的开发在操作上是可行的。综上所述,网上购物商城在经济上,技术上和操作上都是可行的,且开发该网站会带来一定的经济效益和社会效益。-35- 第3章系统概述3.1系统的开发背景与意义3.1.1系统开发的背景21世纪的今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。人们已经不再满足于了解最新信息,查找资料等一些传统的网络使用方式,而是过渡到娱乐,购物等新兴的网民生活。网上购物,成了当今广大群众的时尚。而商家,也逐渐重视起网络的作用,充分利用起网络的低成本,高效性来宣传企业形象和销售商品。因此,为了方便广大群众,满足商家的需求,有必要建立一个业务发展框架系统,规范网上业务的开展,提供完善的网络资源,安全保障,安全的网上支付和有效的管理机制,有效地实现资源共享,实现真正的电子商务。为此我专门构建了estore电子商城系统。estore电子商城是基于WEB开发的一套B2C的电子商务网站。B2C也就是BusinesstoCustomers[2]。本系统以构建网上购物网站为目标,可以让顾客通过浏览网站购物,选择自己满意的商品并下单购买。不但能让所有用户能够方便快速买到种类繁多,价廉质优的商品,而且也可以节省大量的时间和金钱。让卖方在有效控制成本的同时,大幅提升销量并且不受地域与时间的限制。利用现代化的电子及网络技术,为企业和客户搭建一个互动平台。降低企业运营成本的同时,方便客户购物,达到双赢的目的。一方面,企业减少了地面店铺的租凭费用,减少了宣传货物的广告费用,减少了雇佣员工的费用;另一方面,电子及网络技术使得企业运作更加快捷方便,为企业赢得宝贵的时间和商机[3]。对于客户来说,客户省去了逛实体商城的时间,同时可以将自己的需求迅速地反馈给企业,使自己的需求可以更好地得到满足。3.1.2系统开发的意义-35- 网上购物商城系统的建设,可以建立起电子商务服务的门户站点,是现实社会到网络社会的真正体现,为广大网上商家以及网络客户提供一个适合中国国情的电子商务网上生存环境和商业运作空间[4]。网上购物商城的建设,不仅仅是初级网上购物的实现,它能够有效地在Internet上构架安全的和易于扩展的业务框架体现,实现企业对企业、企业对用户以及用户到用户等应用环境,推动电子商务在中国的发展。近年来,我国电子商务发展非常迅速。在加入WTO后,市场将更加开放,我们的企业不仅仅是只面对国内的用户了,而是全面面对全世界了,所以企业为了花最小的代价和成本来扩大自己的影响力和市场力,大多选择导入电子商务,所以导入电子商务的企业比例将持续增加,中国将成为电子商务在全球发展最快,潜力最大的地区之一[5]。本系统还涉及到如何配置软件环境变量,如何建立数据库,如何使用MySQL数据库等操作。通过本设计,可以巩固自己所学专业知识,同时可以增强自己的检索资料能力,实际动手能力,分析问题的能力,解决问题的能力。3.2系统的功能概述estore电子商城主要实现网上购物的整个流程,用户进入该商城,可以看到整个商城的首页面,如果有账号,可以直接在首页面进行登录,如果还未注册账号,要先注册成为estore电子商城的合法用户,注册信息主要包括昵称,密码,头像,有效证件等信息,注册成功后,则用户就可以登录estore电子商城首页,在首页用户可以随意浏览商品,可以通过商城的商品展示,查找相关商品,也可以通过分类来进行商品购买,当点击商品时就可以浏览它的详细信息,包括市场价格,本店价格,库存量等一系列信息,如果遇到想要购买的商品时,登录用户就可以通过页面右下角的阿里旺旺和商家进行联系,然后通过购物车功能,把想购买的商品先放进购物车中然后可以选择结账或者继续购买商品;当用户找到全部想要购买的商品后,可以对购买的商品进行数量上的修改,当所有都确定后,用户可以点击结账按钮,进行结账服务;结账时,系统会再一次要求用户填写资料(联系电话、地址等),确保能把购买商品送到顾客那里,并生成订单,之后用户还可以在订单管理中查看到自己的订单信息。点击注销之后,系统会提示退出成功,至此就完成了一次完整的购物流程。-35- 3.3系统的设计原则和要求概述参照各模块的功能与具体的特点,我们设计的整个网上购物网站应达到以下目的:①稳定性。整个系统应能稳定运行,硬件配置的局部改变不会影响整体的正常运行,其它系统的差错不会导致办公自动化系统无法正确运作。②准确性。系统管理员按操作指南操作产生的权限数据,和所有前台用户的操作与数据库原定产生变化的实际状态应严格保持一致,杜绝错误记录,数据错位等情况的出现。③安全性。所有数据定时备份,在数据库中预留一个或多个最高权限帐户名及密码,避免用户误操作而造成不必要的损失。④可维护性。界面风格或其它可能的参数化改变(如增加新功能等)不需要重新编写源代码,用户可以自己完成。⑤独立性。每一个功能模块尽量独立,减少与其它模块之间的耦合性,尽可能做到按客户的需求可以选择安装那些模块,不安装那些模块。⑥易使用性。网上购物网站的界面与操作人员的交互性好,与主机间使用Browser/Server(浏览器/服务器)结构。-35- 第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]-35- 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是开放源码软件,因此可以大大降低总体拥有成本。-35- 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程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。-35- 早在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可以自定义插件。插件实际就是一些自定义的函数。-35- ⑤模板中可以使用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标签是

,块引用标签是

。有些标签说明页面如何被格式化(例如,开始一个新段落),其他则说明这些词如何显示(使文字变粗)还有一些其他标签提供在页面上不显示的信息--例如标题。-35- 关于标签,需要记住的是,它们是成双出现的。每当使用一个标签--如
,则必须以另一个标签
将它关闭。注意“blockquote”前的斜杠,那就是关闭标签与打开标签的区别。但是也有一些标签例外。比如,标签就不需要。基本HTML页面以DOCTYPE开始,它声明文档的类型,且它之前不能有任何内容(包括换行符和空格),否则将使文档声明无效,接着是标签,以结束。在它们之间,整个页面有两部分--标题和正文。标题词--夹在和标签之间--这个词语在打开页面时出现在屏幕底部最小化的窗口。正文则夹在和之间--即所有页面的内容所在。页面上显示的任何东西都包含在这两个标签之中[15]。CascadingStyleSheets(层叠样式表),从九十年代初HTML被发明开始样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。但随着HTML的成长,为了满足设计师的要求,HTML获得了很多显示功能。随着这些功能的增加外来定义样式的语言越来越没有意义了。1994年哈坤•利提出了CSS的最初建议。伯特•波斯(BertBos)当时正在设计一个叫做Argo的浏览器,他们决定一起合作设计CSS。当时已经有过一些样式表语言的建议了,但CSS是第一个含有“层叠”的主意的。在CSS中,一个文件的样式可以从其它的样式表中继承下来。读者在有些地方可以使用他自己更喜欢的样式,在其他地方则继承,或“层叠”作者的样式。这种层叠的方式使作者和读者都可以灵活地加入自己的设计,混合各人的爱好。哈坤于1994年在芝加哥的一次会议上第一次展示了CSS的建议,1995年他与波斯一起再次展示这个建议。当时W3C刚刚建立,W3C对CSS的发展很感兴趣,它为此组织了一次讨论会。哈坤、波斯和其他一些人(比如微软的托马斯•雷尔登)是这个项目的主要技术负责人。1996年底,CSS已经完成。1996年12月CSS要求的第一版本被出版。-35- 1997年初,W3C内组织了专门管CSS的工作组,其负责人是克里斯•里雷。这个工作组开始讨论第一版中没有涉及到的问题,其结果是1998年5月出版的第二版要求。到2004年为止,第三版还未出版。l1996年W3C正式推出了CSS1。l1998年W3C正式推出了CSS2。lCSS2.1是W3C现在正在推荐使用的。lCSS3现在还处于开发中。4.2.5Javascript介绍JS是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。JavaScript的正式名称是"ECMAScript"。这个标准由ECMA组织发展和维护。ECMA-262是正式的JavaScript标准。这个标准基于JavaScript(Netscape)和Jscript(Microsoft)。Netscape(Navigator2.0)的BrendanEich发明了这门语言,从1996年开始,已经出现在所有的Netscape和Microsoft浏览器中。ECMA-262的开发始于1996年,在1997年7月,ECMA会员大会采纳了它的首个版本。在1998年,该标准成为了国际ISO标准(ISO/IEC16262)。这个标准仍然处于发展之中。在2005年12月,ECMA发布ECMA-357标准(ISO/IEC22537)出台,主要增加对扩展标记语言XML的有效支持。能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript,VBScript,DocumentObjectModel(DOM,文档对象模型)、Layers和CascadingStyle-35- Sheets(CSS,层叠样式表),这里主要讲Javascript。那么Javascript是什么东东?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。Javascript是由Netscape公司开发的一种脚本语言(scriptinglanguage),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司Navigator3.0以上版本的浏览器都能支持Javascript程序,微软公司InternetExplorer3.0以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。Javascript和Jscript基本上是相同的,只是在一些细节上有出入。Javascript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。JavaScript使网页增加互动性。JavaScript使有规律地重复的HTML文段简化,减少下载时间。JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证[16]。JavaScript的特点是无穷无尽的,只要你有创意。-35- 第5章系统的设计与实现5.1系统的功能模块图5.1系统功能模块图(1)用户注册功能:用户可注册自己的账号,包括昵称,密码,头像选择等基本信息。(2)用户登陆功能:用户输入已注册的账号、密码,验证成功后登陆estore购物商城系统。(3)商品浏览功能:点击商品图片可进入商品详情页面,查看商品详情并加入购物车。(4)加入收藏夹功能:可以将商品加入收藏夹,然后继续购物,或清空收藏夹里的商品。(5)购买商品功能:在购物车内,可以修改商品数量,自动计算所加入的所有商品总额。5.2功能模块流程图(1)注册流程图用户注册流程为:输入新用户昵称,检查用户名是否已经被注册过,如果是则重新进行新昵称注册,直至检查用户名未被注册过,显示用户名可用之后,设置密码,密码不符合要求,重新设置密码,直至密码符合要求,显示密码符合要求之后,继续填写剩下的注册信息,完成之后,系统会将新注册的用户名,密码保存到数据库中,页面显示,注册成功。具体流程图如下图5.2所示。-35- 图5.2注册模块流程图(2)登录流程图用户登录流程为:查询用户名是否存在,若不存在,则显示用户名或者密码错误,请重新登录,否则输入密码进行核对,密码检验错误之后,系统会显示用户名或者密码错误,重新进行登录,密码检验正确之后,系统会将此用户的ID存入到session中,系统显示登录成功。具体流程图如下图5.3所示。图5.3登录模块流程图(3)商品浏览流程图-35- 商品浏览流程为:用户登录成功之后,进入系统首页面进行商品的浏览,可以通过类别搜索商品也可以直接点击商品图片进入商品的详情介绍,如果遇到满意的商品,可以添加到收藏夹或购物车,如果不满意,可以回到系统首页继续浏览商品。具体的流程图如下图5.4所示。图5.4商品浏览模块流程图(4)购物车流程图购物车流程为:将商品添加到购物车后,可以在购物车查看新添加的商品,如果不满意,可以清空购物车,重新继续选择商品,或者直接在购物车内进行商品数量的调整,如果对购物车内的商品觉得满意,就可以去收银台进行下订单的操作。具体流程图如下图5.5所示。图5.5购物车模块流程图5.3后台数据库设计5.3.1创建使用MySQL数据库首先创建数据库:createdatabaseld1302_estore;其次使用该数据库:use-35- ld1302_estore。5.3.2创建表(1)用户信息表用户信息:用户ID,用户昵称,用户密码,注册时间,最近登录日期,电子邮箱,性别,生日,头像,有效证件等。用户信息建表语句为:CREATETABLEIFNOTEXISTS`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(50)NOTNULL,`password`varchar(40)NOTNULL,`reg_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',`lastlogintime`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',`email`varchar(50)NOTNULL,`sex`varchar(40)DEFAULTNULL,`birthday`datetimeDEFAULTNULL,`img`varchar(100)DEFAULTNULL,`id_card`varchar(50)DEFAULTNULL,`state`tinyint(1)NOTNULLDEFAULT'0',`integral`int(11)NOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=66;用户信息表具体如下表5.1所示。表5.1用户信息表字段名类型宽度是否允许为空备注idint11否主键usernamevarchar50否passwordvarchar40否Reg_datedatetime否lastlogintimedatetime否emailvarchar50否sexvarchar40是birthdaydatetime是-35- imgvarchar100是表5.1(续)Id_cardvarchar50是statetinyint1否interalint11否(2)商品种类信息表商品种类信息:商品ID,商品名称,商品大类的ID,添加商品时间。商品种类信息建表语句为:CREATETABLEIFNOTEXISTS`category`(`id`int(11)NOTNULLAUTO_INCREMENT,`cat_name`varchar(50)NOTNULL,`pid`int(11)NOTNULLDEFAULT'0',`add_cat_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=12;商品种类信息表具体如下表5.2所示。表5.2商品种类信息表字段名类型宽度是否允许为空备注idint11否主键cat_namevarchar50否pidint11否add_cat_datedatetime否(3)商品信息表商品信息:商品ID,上面名称,本店价格,商品描述,商品小图片,商品大图片,分类ID,上架时间(默认),销售方式的名称,销售方式的价格,商品点击量,商品总评分数,商品市场价格,商品库存量,商品状态等。商品信息建表语句为:CREATETABLEIFNOTEXISTS`goods`(`id`int(11)NOTNULLAUTO_INCREMENT,`good_name`varchar(100)NOTNULL,-35- `store_price`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'本店的价格',`good_detail`textCOMMENT'商品介绍',`good_min_img`varchar(100)DEFAULTNULLCOMMENT'小图片',`good_max_img`varchar(255)DEFAULTNULLCOMMENT'大图片',`cat_id`int(11)NOTNULLDEFAULT'0'COMMENT'分类id',`good_shelves_date`datetimeNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'上架时间(默认)',`good_sellway`varchar(50)NOTNULLCOMMENT'销售方式的名称',`good_sellprice`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'销售方式的价格',`good_clicks`int(11)NOTNULLDEFAULT'0'COMMENT'商品点击数',`good_scores`int(11)NOTNULLDEFAULT'0'COMMENT'商品总评分数',`market_price`decimal(65,0)NOTNULLDEFAULT'0'COMMENT'商品市场价格',`good_acount`int(11)NOTNULLDEFAULT'0'COMMENT'商品库存量',`good_way`int(11)NOTNULLDEFAULT'0'COMMENT'商品状态',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=31;商品信息表具体如下表5.3所示。表5.3商品信息表字段名类型宽度是否允许为空备注idint11否主键good_namevarchar100否store_pricedecimal11否good_detailtext是good_min_imgvarchar100是good_max_imgvarchar255是cat_idint11否good_shelves_datedatetime否good_sellwayvarchar50否good_sellpricedecimal11否good_clicksint11否good_scoresint11否market_pricedecimal11否good_acountint11否-35- good_wayint11否(4)购物车信息表购物车信息:ID,商品ID,购物数量,单价价格,订单ID。购物车信息建表语句为:CREATETABLEIFNOTEXISTS`orderdetail`(`id`int(11)NOTNULLAUTO_INCREMENT,`good_id`int(11)NOTNULLDEFAULT'0',`good_num`int(11)NOTNULLDEFAULT'0'COMMENT'购物数量',`unit_price`decimal(11,0)NOTNULLDEFAULT'0'COMMENT'单价价格',`order_id`int(11)NOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=48;购物车信息表具体如下表5.4所示。表5.4购物车信息表字段名类型宽度是否允许为空备注idint11否主键good_idint11否good_numint11否unit_pricedecimal11否order_idint11否(5)订单信息表订单信息:ID,用户ID,订单总额,订单状态(1发货0不发),订单接收人,订单地址,订单人的电话,邮箱,订单时间,订单号码。订单信息建表语句为:CREATETABLEIFNOTEXISTS`orders`(`id`int(11)NOTNULLAUTO_INCREMENT,`user_id`int(11)NOTNULLDEFAULT'0',`order_account`int(11)NOTNULLDEFAULT'0'COMMENT'订单总额',`order_state`tinyint(1)NOTNULLDEFAULT'0'COMMENT'订单状态(1发货0不发)',`order_username`varchar(50)NOTNULLCOMMENT'订单接受人',`order_address`varchar(50)NOTNULLCOMMENT'订单地址',`order_phone`varchar(50)NOTNULLCOMMENT'订单人的电话',-35- `order_email`varchar(50)NOTNULLCOMMENT'邮箱',`order_time`datetimeNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'订单时间',`order_number`varchar(100)NOTNULLCOMMENT'订单号码',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=31;表5.5订单信息表字段名类型宽度是否允许为空备注idint11否主键user_idint11否order_accountint11否order_statetinyint1否order_usernamevarchar50否order_addressvarchar50否order_phonevarchar50否order_emailvarchar50否order_timedatetime否order_numbervarchar100否-35- 第6章系统编码显示6.1用户注册页面用户注册界面register.tpl。新用户必须进行注册,为了能及时发货给用户以及随时联系用户,系统必须记录每一位用户的详细信息。用户注册模块就是完成这一功能。该模块内容主要包括:用户的昵称、密码、密码确认、性别、头像、生日、邮件以及新用户的有效证件等等。详细代码见附录(1)。注册页面主要代码如下:
注册页面界面展示如下图6.1所示:-35- 图6.1注册页面6.2用户登陆页面登陆页面Login.tpl。用户输入自己注册时的账号密码通过验证后,进入登陆后的购物商城主页,可看到商品目录,店主推荐,最新商品等的展示,供用户浏览选择。详细代码见附录(2)。登录页面主要代码如下:请输入你的账号
-35- 请输入你的密码登录页面界面展示如下图6.2所示:图6.2登陆页面6.3商品列表页面商品列表界面goodsList.tpl将商城所有商品按类别分为“男女服装”、“鞋包配饰”、“数码家电”、“美食特产”、“日用百货”等大类,每个大类又分为两个小类,此页面供用户便捷的快速的查找到自己所需货源。详细代码见附录(3)。商品列表页面代码如下:
{foreachfrom=$gidkey=litem=w}
『{$w.cat_name}』
{foreachfrom=$catekey=kitem=v}{if$w.id==$v.pid}
|__{$v.cat_name}
{/if}{/foreach}{/foreach}
-35- 商品列表页面界面展示如下图6.3所示:图6.3商品列表页面6.4商品详情页面商品详情界面goodDetail.tpl。此页面可以由商品列表页面进入,也可以由首页直接点击商品图片进入到商品的详情页面,此页面清晰明了的显示了商品的本店价格,市场价格,商品数量,上架时间,商品介绍等详细信息,在此页面可以将商品添加到收藏夹或购物车,然后进行购买。详细代码见附录(4)。商品详情页面主要代码如下:
    商品介绍留言信息

{$v.good_detail}

    商品介绍留言信息
商品详情页面界面展示如下图6.4所示:-35- 图6.4商品详情页面6.5购物车页面购物车页cart.tpl。客户通过购买商品放进购物车时,购物车要随时记录客户所选商品的单价,并计算顾客所有购买的商品价格,因此需要一个购物车数据库表记录商品的基本信息,客户通过购物车买完商品后,还需要填写送货方式、付款方式等客户的基本信息。购物车主要有统计全部商品数量和价钱的功能,并可对其中商品数量进行更新或删除。详细代码见附录(5)。购物车页面主要代码如下:商品ID商品名称商品图片商品单价市场价格商品数量库存量-35- 小计购物车页面界面展示如下图6.5所示:图6.5购物车页面6.6订单详情页面订单页order.tpl包含了用户的收货人姓名、收货地址、电话、送货方式等订单基本信息。订单附加信息页则除了订单收货信息外,还有商品ID、商品名称、商品图片、商品单价、商品总额等附加信息,从而方便了用户对订单的确认及提交。详细代码见附录(6)。订单详情页面主要代码如下:

订单人的信息

  • 收货人姓名:
  • 收货人地址:
  • 收货人电话:
  • 收货人邮箱:
-35- 购物订单页面界面展示如下图6.6所示:图6.6订单详情页面-35- 第7章总结毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的网上电子商城系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料,设计手册,设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。这是我们都希望看到的也正是我们进行毕业设计的目的所在。虽然毕业设计内容繁多,过程繁琐但我的收获却更加丰富。各种系统的适用条件,各种软件的选用标准,各种工具的了解,我都是随着设计的不断深入而不断熟悉并学会应用的。在设计过程中一些页面的设计让我很头痛,原因是由于系统本身设计受到颜色搭配的美观,而又必须考虑本专业的一些要求规范,从而形成了一些矛盾点,这些矛盾在处理上让人很难斟酌,正是基于这种考虑我意识到:要想更完美的进行一次设计,与其他专业人才的交流沟通是很有必要的。提高是有限的但提高也是全面的,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。顺利如期的完成本次毕业设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。在这次的毕业设计中虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统。-35- 参考文献[1]强锋科技.HTML+CSS网页设计指南[M].北京:清华大学出版社,2010.280~284.[2]国家人力资源和社会保障部.PHP+MySQL开发实例教程[M].北京:中国电力出版社,2008.132~133.[3]泽瓦斯.PHPWeb2.0开发实战[M].北京:人民邮电出版社,2008.455~458.[4]潘凯华、刘中华.PHP从入门到精通(第二版)[M].北京:清华大学出版社,2010.271~275.[5]王志刚、朱蕾.PHP5应用实例详解[M].北京:电子工业出版社,2010.460~464.[6]约克.jQueryJavaScript与CSS开发入门经典[M].北京:清华大学出版社,2010.195~197.[7]唐俊.PHP+MySQL网站开发技术(项目式)[M].北京:人民邮电出版社,2013.179~185.[8]黄缙华.MySQL入门很简单[M].北京:清华大学出版社.2011.332~333.[9]刘振岩、王勇、陈立平.基于Linux的Web程序设计:PHP网站开发[M].北京:人民邮电出版社,2013.301~302.[10]明日科技.PHP程序开发范例宝典[M].北京:人民邮电出版社,2007.55~57.[11]厄尔曼.PHP5高级应用开发实践[M].北京:人民邮电出版社,2009.279~280.[12]陈浩.零基础学PHP第2版[M].北京:机械工业出版社,2012.167~168.[13]李松峰,李雅雯.JavaScriptDOM高级程序设计[M].北京:人民邮电出版社,2008.375~380.[14]沙菲克(DaveyShafik),MatthewWeierO'phinney,BenBalbo,等.PHP深度分析[M].北京:中国水利水电出版社,2010.253~254.[15]古曼兹、贝肯、瑞桑斯.PHP5权威编程[M].北京:电子工业出版社,2007.568~570.[16]张恩民.PHP开发实战权威指南[M].北京:清华大学出版社,2012.20~24.-35- 致谢敲完最后一个字符,重新从头细细阅读早已不陌生的文字,我感触颇多。虽然其中没有什么值得特别炫耀的成果,但对我而言,是宝贵的。它是无数教诲,关爱和帮助的结果。从开始接受课题到现在完成毕业设计论文,衷心的感谢我的指导老师朱凯给予了精心的指导和热情的帮助,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意。-35- 附录(1)注册页面详细代码:请输入你的账号请输入你的密码2次密码不一致默认-35- (2)登录页面详细代码:请输入你的账号请输入你的密码(3)商品列表页面详细代码
{foreachfrom=$result_pidkey=key_piditem=value_pid}
『{$value_pid.cat_name}』
{foreachfrom=$result_idkey=key_iditem=value_id}{if$value_pid.id==$value_id.pid}
__{$value_id.cat_name}
{/if}{/foreach}{/foreach}
    {foreachfrom=$resultkey=keyitem=value}
(4)商品详情页面主要代码:

{$value.good_name}

本店价格:¥{$value.store_price}

市场价格:¥{$value.market_price}

商品数量:{$value.good_acount}

上架时间:{$value.good_shelves_date}

商品点击数:{$value.good_clicks}

(5)购物车页面详细代码:-35- 商品ID商品名称商品图片商品单价市场价格商品数量库存量小计操作总金额:¥{$s_total}元,市场价总额:¥{$m_total}元,节省了{$save}元(6)订单页面详细代码:

订单人的信息

  • 收货人姓名:
  • 收货人地址:
  • 收货人电话:
  • 收货人邮箱:
-35-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭