基于bs的网络商城系统的设计与实现(php论文).doc_第1页
基于bs的网络商城系统的设计与实现(php论文).doc_第2页
基于bs的网络商城系统的设计与实现(php论文).doc_第3页
基于bs的网络商城系统的设计与实现(php论文).doc_第4页
基于bs的网络商城系统的设计与实现(php论文).doc_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于B/S的网络商城系统的设计与实现摘 要本网上购物系统是一个基于Internet,采用B2C(Business to Consumers)模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网上购物系统进行了系统检测并提出了还需要改进的问题。 本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理,新闻信息管理,广告链接管理等功能。在设计方面,本系统采用B/S三层结构,同时使用PHP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用ZendStudio对程序的关键代码进行封装。后台数据库选MySQL数据库。关键词:B/S结构;PHP;MySQLIVThe Design of Online Shopping System Based on B/S StructureAbstractThe shop online system is a electronic commercial platform which has been designed according to the situation of shop online system based on Internet with B2C mode. It can not only enhance the scale of shopping centre and market influence, and can also reduce the enterprises running cost, improve work efficiency.The thesis has firstly introduced the practical situation and the developing background of the system. And then has described the designing goal、system need and the whole designing plan, has described the detailed design and reality of the system in detail. Finally, conclusion has been drawn about the system and problem has also been raised.The system has mainly provided users with the following functions:membership registration、shopping car management、goods search、information modify etc. It has also provided managers with goods management、customer information management、news management 、ad management and so on. It has been designed with B/S mode of three-tier structure, PHP technology in dynamic page design. Considering from the security and reusing code of the system, key code has been secured by JavaBean technology. Access database has been used as the background database.Keywords: B/S; PHP; MySQL目 录摘 要IAbstractII第1章 绪 论1前 言11.1 系统开发背景21.1.1网上购物的发展21.2.1网上购物系统的现状21.2系统实现的目标31.3系统的开发意义3第2章 网上购物系统设计与需求分析52.1网站的设计目标52.2网站的可行性分析52.3网站的深入调查52.4网站设计的特点62.5网站开发的设计思想62.6系统设计的总体规则62.7 本章小结7第3章 系统的开发技术及主要架构83.1开发技术的选择83.2系统的主要架构及开发模式83.2.1基于B/S的体系结构93.2.2 基于MVC的应用开发模型93.3 本章小结11第4章 系统的功能和流程分析124.1网站的功能分析124.2 平台功能模块的设计分析124.3 系统流程分析134.3.1前台购物流程134.3.2注册功能流程134.3.3商品搜索流程144.3.4用户登录流程144.3.5商品管理流程154.3.6购物车流程164.4 本章小结16第5章 系统功能的具体实现175.1系统数据库表的基本设计175.2 功能总体说明205.2.1 目录结构说明205.2.2 功能页面结构205.2.3 主要功能流程215.3各功能模块的实现215.3.1数据库的连接215.3.2用户登陆模块的实现225.3.3 购物车模块的实现255.3.4后台管理模块的实现285.3.5 商品搜索模块的实现305.4 本章小结31第6章 系统测试及难点分析326.1系统运行环境的搭建326.1.1 PHP环境的安装326.2 系统程序的安装和加载326.2.1 数据库的连接326.3系统测试336.3.1 系统关键部分测试分析336.3.2 单元测试分析336.3.3 测试分析总结及说明346.3.4 系统的性能分析346.4 系统中所存在的问题及解决方案346.4.1 系统的整体设计和规划中的问题346.4.2 开发功能模块所遇到的难点356.4.3系统中存在的问题及拟定的解决方法356.5 本章小结37总 结38致 谢39参考文献40基于B/S的网络商城系统的设计与实现第1章 绪 论前言目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。2006年1月17日,中国互联网络信息中心(CNNIC)在京发布“第十七次中国互联网络发展状况统计报告”。报告显示,截至2005年12月31日,我国上网用户总数突破1亿,为1.11亿人,其中宽带上网人数达到6430万人。目前,我国网民数和宽带上网人数均位居世界第二。国家顶级域名CN注册量首次突破百万,达到109万,成为国内用户注册域名的首选,稳居亚洲第一。上网计算机数达到4950万台,网络国际出口带宽达到136106M,网站数达到69.4万个。IP地址总数达到7439万个,仅次于美国和日本,位居世界第三。在互联网服务业务方面:电子邮件、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业务仍然快速的发展着。而本次毕业设计的任务是,构建一个电子商务网站,采用的主要技术是基于服务器端的PHP、Java的组件JavaBean,以及网页编程语言HTML。PHP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。PHP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,PHP的技术的优势:1. PHP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。2. 高效性与安全性。PHP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。3. 可维护性。由于PHP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响PHP基本的应用程序。4. 稳定性。5. 产品的多样性。目前,在国内PHP还是一种较新的技术。但PHP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,PHP必将成为网站开发技术的首选。1.1 系统开发背景1.1.1网上购物的发展近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。1.2.1网上购物系统的现状目前在国内PHP与ASP应用最为广泛。而PHP由于是一种较新的技术,国内采用的较少。但在国外,PHP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用PHP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。ASP和PHP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;PHP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,PHP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用PHP/Servlet。比较出名的如IBM的Ebusiness,它的核心是采用PHP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持 的。但去年10月后它推出了Enfinity,一个采用PHP/Servlet的电子商务Application Server,而且声言不再开发传统软件。总的来说,ASP,PHP,PHP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的php技术,一方面php的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。1.2系统实现的目标现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、PHP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。1.3系统的开发意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上购物系统国外有“淘宝()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。第2章 网上购物系统设计与需求分析Error! Reference source not found.系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计2.1网站的设计目标本平台利用现在比较广泛的PHP+Oracle数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。2.2网站的可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:1、经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功还不能完善,所以没有什么经济效益可谈。2、技术可行性:PHPServlet的技术已经较为成熟。3、运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。4、法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用PHPServlet相结合的技术,运用Access数据库对网站进行建设。2.3网站的深入调查经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。2. 能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。3. 能过电子商品的名称,电子商品的分类进行搜索。4. 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。2.4网站设计的特点我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。2.5网站开发的设计思想网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。2.6系统设计的总体规则无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。2.7 本章小结本章系统的介绍了系统的需求分析和设计思想和使用技术。第3章 系统的开发技术及主要架构3.1开发技术的选择合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有PHP、ASP、PHP。它们的特性比较如表3-1所示。表3-1 asp/php/php比较表技术名称ASPPHPPHP对数据库的支持好好好开发难易度容易容易容易使用平台Windows9X/NTWindows/UNIXUNIX/Windows安全性不好好不好对组件的支持支持支持不支持执行方式解释执行编译之后执行解释执行跨平台不好好好这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,php的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择php技术作为动态网页的开发技术。3.2系统的主要架构及开发模式系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,j2ee规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。3.2.1基于B/S的体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3-1所示。 Browse浏览器Web服务器数据库图3-1 B/S三层架构示意图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。 3.2.2 基于MVC的应用开发模型在传统的基于Web的应用系统中,例如ASP,CGI等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。在本网上购物系统中,将采用通行的MVC模式来构建应用。这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。MVC的逻辑图如下图3-2、3-3所示。应用服务器EJB容器业务组件数据库Web服务器浏览器PhpServerlet控制器图3-2应用服务器之上采用MVC开发的逻辑示意图Control服务控制View显示方式Model业务逻辑模型输入请求输出Html其他图3-3 MVC业务流程示意图通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:Model(模型)层:由EJB组件来实现,EJB将具体的业务封装在组件内部,具备安全、高性能、可重用等优秀的特征。View(视图)层:由PHP、HTML组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。Controller(控制器)层:是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。通常由Servlet来实现,Servlet和PHP虽然同样都属于页面展示工具,但分属两层。主要在于PHP以脚本语言的形式存在, 它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理是它的长处。通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。3.3 本章小结本章主要介绍系统使用的技术和架构。40第4章 系统的功能和流程分析Error! Reference source not found.4.1网站的功能分析经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:用户管理: 能够完成用户基本信息录入的注册和用户基本信息的修改。管理员管理: 能够完成管理员对网站的商品信息管理(商品添加、商品审查)、会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。搜索功能: 能过电子商品的名称进行搜索。查询功能: 能够通过查看购物车对所选商品进行确定、挑选。 4.2 平台功能模块的设计分析在平台功能的分析基础上,得到本平台的功能模块图如图4-1所示。网上购物平台index.php。商品修改用户管理管理进入新闻管理用户注册商品管理商品添加会员管理广告链接新闻修改新闻添加广告设置链接管理商品名称用户修改会员删除商品搜索网站布局图4-1 平台购物模块图4.3 系统流程分析4.3.1前台购物流程 购物流程示意图如图4-1所示。浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录 图4-2 前台购物流程图注册入口必选项为空用户名有效?2次输入密码是否一致?密码长度符合要求?Emai地址有效效?其他信息有效注册成功4.3.2注册功能流程 注册流程示意图如图4-2所示。图4-3 注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。4.3.3商品搜索流程商品搜索流程示意图如图4-4所示。开始搜索输入条件搜索结果查看商品购物车下订单续搜索是否图4-4 商品搜索流程图商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。4.3.4用户登录流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。登陆流程示意图如图4-5所示。登录入口取得用户名和密码将UserID存入session中查询用户是否存在核对密码是否正确登录成功是是否否图4-5用户登陆流程图4.3.5商品管理流程 商品管理流程示意图如图4-6所示。商品管理查询商品修改删除满意否返回添加商品图4-6商品管理流程图在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。4.3.6购物车流程购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:购物车查看商品满意吗下订单调整商品检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。购物车流程示意图如图4-7所示。 图4-7购物车流程图4.4 本章小结本章主要介绍了系统功能和流程分析。第5章 系统功能的具体实现5.1系统数据库表的基本设计在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。从实际出发,经过仔细地设计,得到各表的设计如表5-1至5-7所示。表5-1 商品信息表字段字段名类型宽度小数位索引可否为空Hw_id商品编号自动编号是否Hw_name商品名称文本型50否Hw_cash商品价格数值型182Hw_content商品信息备注型255Hw_pic商品图片文本型255Hw_buys商品数量数值型18Hw_date商品日期日期型说明对于商品信息表,因为经验不足,我将其关键字段hw_id商品编号采用的是Access数据库中的自动编号,虽然也确定了商品信息的唯一性,但不具备直观的特点,在实际应用中最好是将其设置一个命名规则,管理人员在添加商品的时候能够自动产生一个有一定规则和一定意义的命名规则,方便管理人员对其进行管理和维护,例如对于手机类商品可将其编号设置为mobile型号添加日期,这样更容易对商品进行管理。Hw_pic字段代表图片,但在这里存放的只是它的路径所以应该使用文本类型。表5-2 会员信息表member字段字段名类型宽度小数位索引可否为空User_id会员编号自动编号是User_name会员帐号文本型50否User_pass会员密码文本型50否User_adds会员地址文本型255User_mail会员E_Mail文本型50User_tel会员电话文本型50User_regtime注册时间日期型User_postcode邮政编码文本型50User_namec会员姓名文本型50说明对于会员信息表,会员编号也要有一定的命名规则,另外会员帐号的命名规则也有一定要求,如必须以字母开头,不能有特殊字符,长度大于4个字符小于16个字符等等,还有一个需要注意的是用户密码,由于Access数据库本身不提供特殊字段的加密,用户注册以后注册密码是以明码形式存放在数据库中,这对系统来说是极不安全的,因此需要我们用一些特殊工具来对其进行加密。表5-3购物车表basket字段字段名类型宽度小数位索引可否为空Basket_id购物车编号自动编号是否Hw_id商品编号自动编号是否User_name会员帐号文本型50否Basket_count商品数量数值型18Basket_date购物时间日期型Basket_check是否结帐是/否Hw_name商品名称文本型50Hw_cash商品价格数值型182Sub_number订单编号文本型50是说明购物车表则是系统中与其他几个表关系最多的一个表了,它包含了商品表,会员表中的几个重要字段,是我们进行最后购物统计的主要依据,我们在确定购买一样商品的时候,系统将数据写入购物车表,在用户确定去结帐之前basket_check值为否,确定之后值变为是,一个用户可能对应多个basket记录,但在统计的时候,仅对basket_check为真的记录进行统计,这样就可以避免造成统计错误。表5-4管理员表admin字段字段名类型宽度小数位索引可否为空Admin_id管理员编号自动编号是Admin_name管理员帐号文本型50Admin_pass管理员密码文本型50说明该表和会员表一样存在字段的命名规则的要求,出于安全考虑对于管理员帐号发放应该谨慎,管理人员数量一定要控制,越少越安全,在实际应用中,我们还要对整个数据库进行加密,以防止系统重要数据泄漏。表5-5新闻列表news字段字段名类型宽度小数位索引可否为空News_id新闻编号自动编号是News_title新闻标题文本型255News_content新闻内容备注型News_date新闻日期日期型说明存储网站新闻信息,与其他表没有关联。表5-6网站信息表system字段NameMailTelAddsOICQMSNSitenameFaxCode字段名姓名信箱电话地址QQMSN网站名称传真邮编类型文本文本文本文本数值数值文本文本文本 说明该表主要存储一些网站信息,如系统管理员的联系方式等,以页面的形式提供给用户,与其他表没有关联。 表5-7 广告信息列表ad字段字段名类型宽度小数位索引口否为空Id自动编号自动编号是否url链接地址文本型50Wordlink链接名称文本型50Content链接内容文本型50说明该表为单独的表,与其他表没有关联,主要存储一些链接网站或广告信息。5.2 功能总体说明5.2.1 目录结构说明(1) admin 用于存储系统管理员的后台操作脚本,包括商品类别管理、商品信息管理、站内公告管理、订单管理、系统用户管理等功能;(2) pic 用来存储商品的图片资料,管理员上传的商品图片也存在这里。(3) img 用来存储网页上的图片文件。(4) database 用来存储系统的数据库,由于环境限制,本系统采用的是windows自带的Access数据库,所有的相关表也都放在这里。5.2.2 功能页面结构ROOT:/根目录index.php 首页list.php 栏目页面 product.php 商品页面 new_product.php 新品上架页面 hot_product.php 销售排行页面 sp_product.php 特价商品页面 search.php 搜索结果页面 reg.php 会员注册页面 login.php 会员登陆页面 profile.php 会员资料页面(查看兼修改) user.php 会员模块的控制页 cart.php 购物车 pay.php 结账(提交订单) order.php 查看订单admin(管理后台目录)index.php 后台首页noticeindex.php 公告管理userindex.php 会员管理user_fun.php 会员管理函数库categoryindex.php 分类管理5.2.3 主要功能图主页面index.php。商品修改用户登陆注册管理进入添加到购物车新闻管理资料修改商品管理商品添加会员管理广告链接新闻修改新闻添加广告设置链接管理是否会员退出返回搜索物品选购物品结帐付款填写订货单购物成功会员删除退出图5-1 主要功能图5.3各功能模块的实现5.3.1数据库的连接出于安全性的考虑,我们将与数据库的连接,单独写出来并进行编译,也就是数据库连接的javabean文件,编译出来的.class文件是无法被修改的只能通过源文件进行修改,我们在PHP页面中只用直接调用改方法即可,在本系统中我们将其命名为为.faq存放在class/ckstudio/db下设其id为mdb,我们在需要对数据库进行操作的时候只需在页面上添加这样一个标签即可。连接关键代码如下:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);定义驱动类型StringstrDirPath=application.getRealPath(request.getRequestURI();strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf()+;得到数据库的存放路径Stringurl=jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=+strDirPath+db.mdb;定义连接地址Connectionconn=DriverManager.getConnection(url);连接数据库Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(sql);返回操作结果5.3.2用户登陆模块的实现用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品,如果是第一次登陆,请先注册。主页面的效果图如图5-2所示。图5-2 主页面示意图登陆的具体实现要通过一个全程变量,即Session变量来实现,在系统中则由一个单独的session.php页面来放置该session。用户登录的界面dengluyufou.php,从member表查得用户提交的帐户名和密码正确后,用一个全局变量,即Session变量保存这一消息(该变量名称为Session(“user_name”))。具体的判断过程为:若session中user为空即session.getAttribute(user_name)=null,表明没有经过登陆与否的验证,则立即跳转到dengluyufou.php,请用户登录;并将用户登陆的帐号和密码通过user_name=request.getParameter(user_name);user_pass=request.getParameter(user_pass);分别赋给变量user_name,和user_pass,然后将其与数据库中的相应信息进行比较String sql=select * from member where user_name=+user_name+;如果user_name存在的话则判断其密码是否正确user_pass.equals(rs.getString(user_pass)如果为真则将用户信息赋给session session.setAttribute(user_name,+rs.getString(user_name)+);以方便系统对用户在操作一些会员功能时进行用户身份验证。如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,(该处存在用户名命名规则的问题,后面问题中会详细解决)用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面的效果图如图5-3所示。图5-3注册页面示意图系统对用户的注册信息的验证实现如下:用户输入的各项信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论