资源描述
电子商务动态网站编程
摘 要
本篇文章对用PHP和MySQL开发中小型电子商务网站的分析、设计、实施做了详尽的阐述。对当今电子商务网站的应用进行了现状分析,分析了网站开发的目的以及意义。对所选的开发工具进行比较。详尽的对系统作了需求分析,可行性分析。并且对网站进行了总体设计,搭好了网站开发框架,并举例进行详细设计。对所实现功能进行了详细说明。对网站进行了全面的评价,并且对未来扩充提出了建设性意见。
关键词:动态,管理,PHP,MySQL
Dynamic website in electronic commerce plait distance
This article to use the PHP to developped the analysis of the small scaled electronic commerce in inside website and design, puts into practice to do to expatiate in details with the MySQL.To the application proceeding of the now electronic commerce website the present condition analyzes, analyzing purpose and meanings of the website development. Proceed the comparison to a development for choosing terrace. In details of made the need analysis to the system, viability assessment. And proceeded the total design to the website, take to like the website the development the frame, combine detailed design in proceeding in for instance. Realizes to the function proceeded to elaborate on.Proceeded to the website completely of evaluation, and to future the enlargement puts forward to constructive the opinion.
Keywords: Dynamic, management,PHP,MySQL
目录
目 录
摘要---------------------------------------------------------------------------------------------------(1)
英文摘要---------------------------------------------------------------------------------------------(2)
目录---------------------------------------------------------------------------------------------------(3)
1.网站的现状分析--------------------------------------------------------------------------------(5)
1.1 当今电子商务网站的应用现状----------------------------------------------------------(5)
1.2 网站开发的目的----------------------------------------------------------------------------(5)
2.开发平台的选用------------------------------------------ -------------------------------------(5)
2.1 Web开发的现状与发展-------------------------------------------------------------------(5)
2.2 Web开发工具的选择----------------------------------------------------------------------(6)
2.2.1 PHP介绍------------------------------------------------------------------------------(6)
2.2.2 选择PHP的原因--------------------------------------------------------------------(7)
2.2.3 PHP的优点---------------------------------------------------------------------------(8)
2.2.4 选择PHP+MySQL的原因 -------------------------------------------------------(9)
3.电子商务现状分析----------------------------------------------------------------------------(10)
3.1 电子商务发展的历史---------------------------------------------------------------------(10)
3.1.1 电子商务涵义------------------------------------------------------------------------(11)
3.1.2 电子商务的竞争优势---------------------------------------------------------------(11)
3.2 电子商务在我国的发展与应用---------------------------------------------------------(11)
3.2.1 电子虚拟市场发展------------------------------------------------------------------(11)
3.2.2 电子商务应用与发展---------------------------------------------------------------(12)
3.2.3 电子商务环境发展------------------------------------------------------------------(12)
3.3 我国电子商务的发展面临问题与对策------------------------------------------------(12)
3.3.1 电子虚拟市场培育------------------------------------------------------------------(13)
3.3.2 电子商务应用------------------------------------------------------------------------(13)
3.3.3 电子商务环境完善------------------------------------------------------------------(14)
4.电子商务网站分析---------------------------------------------------------------------------(14)
4.1 系统目标------------------------------------------------------------------------------------(14)
4.2 系统可行性分析研究---------------------------------------------------------------------(15)
4.2.1 技术上的可行性---------------------------------------------------------------------(15)
4.2.2 经济上的可行性---------------------------------------------------------------------(15)
4.2.3 社会上的可行性---------------------------------------------------------------------(15)
4.3 需求分析-----------------------------------------------------------------------------------(15)
4.3.1 公司------------------------------------------------------------------------------------(15)
4.3.2 杂志------------------------------------------------------------------------------------(15)
4.3.3 书店------------------------------------------------------------------------------------(16)
4.3.4 信息(新闻)-------- ------------------------------------------------------------------(16)
4.3.5 商家发布(广告) --------------------------------------------------------------------(16)
4.3.6 反馈------------------------------------------------------------------------------------(16)
4.3.7 书店后台管理流程图---------------------------------------------------------------(16)
4.3.8 书店流程图---------------------------------------------------------------------------(17)
5.总体设计---------------------------------------------------------------------------------------(18)
5.1 网站功能模块图---------------------------------------------------------------------------(18)
5.1.1 管理功能后台模块图-------------------------------------------------------------(18)
5.1.2 用户前台功能模块图-------------------------------------------------------------(19)
5.2 功能的说明--------------------------------------------------------------------------------(19)
6.详细设计与实现-------------------------------------------------------------------------------(20)
6.1 数据库设计--------------------------------------------------------------------------------(20)
6.2 易多书店详细设计-----------------------------------------------------------------------(20)
6.2.1 公用数据库函数类的设计-------------------------------------------------------(20)
6.2.2 书店所用的函数类的设计-------------------------------------------------------(22)
6.2.3 具体页面的实现-------------------------------------------------------------------(29)
7.网站评价----------------------------------------------------------------------------------------(37)
7.1 网站的优点--------------------------------------------------------------------------------(37)
7.2 网站的缺点--------------------------------------------------------------------------------(38)
7.3 将来可能提出的要求--------------------------------------------------------------------(38)
7.4 网站设计过程中的体会和感受--------------------------------------------------------(38)
参考文献-------------------------------------------------------------------------------------------(39)
致谢-------------------------------------------------------------------------------------------------(39)
附录1------------------------------------------------------------------------------------------------(40)
附录2------------------------------------------------------------------------------------------------(44)
4
第二章 开发平台的选用
1.网站的现状分析
1.1 当今电子商务网站的应用现状
电子商务是未来商业经营的主要形式,是现代企业参与国际市场竞争的最重要手段。电子商务如同因特网上的一个个企业或商业机构,通过它电子商务才能得以实施与运作。与普通的Web网站相比,电子商务网站的主要区别体现在数据处理与数据传输要求更高、数据流程更复杂。在网上进行商品交易,商务网站不仅要接收与处理大量零散而复杂的商务数据和信息,而且要保证数据及信息传输的安全性。实践证明,电子商务网站并不是网页的简单堆砌,其构建是为实现企业网上经营目的服务的。所以,电子商务网站的功能既要强大又要满足商业流程。因此,电子商务网站的构建、管理和维护是一项复杂的系统工程,是企业或机构对业务流程进行整合和对内外部信息资源进行集成的工程,也是网络信息资源开发与管理的过程。电子商务网站不仅要展示与推广企业的产品与服务,体现企业的管理理念、组织文化、品牌形象,而且要真正达到与用户及合作伙伴的实时互动的信息交流与沟通,实现信息流、资金流和物流协调有序的快速流动。因而,电子商务技术和应用工具的支持固然重要,但是对于一般的企业而言,构建后的具体营运,以及怎么做出特色,是商业经营的效益和利润所在。
1.2 网站开发的目的
本研究的主要目的是利用目前网络上流行的PHP语言、MySQL数据库以及Apache web服务器建设中小型企业公司电子商务网站,实现企业网上运营。
2.开发平台的选用
2.1 Web开发的现状与发展
当建设一个网站的时候,绝大多数时候不仅需要它能够提供静态网页访问能力,还希望它能和浏览器用户交互、访问后台数据库提供实时更新的信息等等,一句话,要提供动态网页服务能力。这时,你是选择传统方式的CGI呢,还是选择PHP、ASP等服务器端脚本呢? 一、从CGI到服务器端脚本 创建动态网页的标准方式是CGI,这种方式允许Web服务器运行一个CGI程序来回应浏览器的请求。而除了要遵从简单的CGI标准之外,CGI程序的开发与普通程序开发没有什么区别。简单的说,CGI标准可以归结为三条: CGI程序从标准输入和环境变量中取得浏览器请求及相关设置。 CGI程序通过标准输出向浏览器发回文档结果。 CGI程序在输出文档之前必须发送文档的相关信息,其中至少包括文档的MIME类型。 一些传统程序员出身的Web开发者喜欢使用CGI及其扩展,例如FastCGI、mod_perl等,来建设网站。因为这种方式下,程序结构相当清晰,程序员可以用自己的方式来安排代码,输出不同的HTML文档。然而,随着要生成的动态网页的数量和复杂程度的增加,这种方式就遇到了困难。 CGI程序包括两个主要内容,一个是程序代码,另一个是要输出的HTML文档内容,可以称作HTML代码。最早的Web开发者,既是程序员,又是网页设计者,但是那时页面都比较简单,开发者最关心的是程序代码的问题,页面代码基本上不需要太多的调整。而随着包括DHTML、Javascript在内的技术发展,使得页面可以设计的非常复杂。这样,每进行一次页面代码的调整,CGI程序就需要改动,以至于最后在CGI程序中调试HTML代码的工作量超过了调试程序代码的工作量。事实上,这说明在Web开发中,HTML代码的重要性已经十分明显,使得传统的以程序代码为中心的CGI程序不再是最适合的动态网页处理方式了。 这样,相当多的程序员对于这种调整HTML代码的工作感到厌倦,尤其随着Internet的商业化,编写CGI程序和进行HTML页面设计已经成为了两种不同的职业。为了解决这个问题,程序员使用了模板文件的方法将程序代码和HTML代码分开。CGI程序读取模板文件来获得HTML代码,从而使得在对页面进行较小调整的时候,不需要改动CGI程序。 基本上每个程序员在自己的CGI程序中使用自定义的模板,然而,如果有一种通用的HTML模板,使用通用的程序进行预处理,这样不就大大减少了程序设计的工作量吗?最简单的模板可以通过替换模板中预定义的变量来完成解释工作,这种程序简单而有效,因此就被集成在Web服务器中,以提供比CGI程序更高的效率,这就是最早的服务器端脚本。 这些早期的服务器端脚本,例如出现在ncsa httpd的SSI,只包括变量的概念,但没有控制语句的概念。后来,不同的程序开发者重新开发了支持控制语句,甚至支持子程序的脚本解释处理程序,使得这些程序不再是为了特定的动态网页服务,而是能够进行编程,使得它能够完成CGI程序能完成的所有工作,成为了一种新的编程语言。同样是由于性能的缘故,这些程序被合并入Web服务器本身,使得服务器端脚本成为Web开发的一种新形式。
2.2 Web开发工具的选择
2.2.1 PHP介绍
当前,服务器端脚本已经是开发动态网页的常用方式,虽然CGI仍然具备灵活的优势,但在一般情况下,使用服务器端脚本更容易和方便。然而,与CGI不同的是,服务器端脚本没有一个统一的标准,不同的服务器端脚本使用自己的语法。当前比较常用的有:Active Server Pages(ASP),ColdFusion,Java Servlets,Personal Home Page(PHP)等。这些技术中,既包括有大公司支持的软件,如ASP,也包括通过Internet进行合作开发的开放源代码软件,如PHP。
PHP正是这样一种服务器端脚本语言,它最开始是由Rasums Lerdorf编写的,只是一个简单的用Perl语言编写的CGI程序,用于记录访问他自己的网页的访问者。以后它又被用C语言重新写过,范围扩大到访问数据库。在这期间,有许多人向Rasums Lerdorf要此程序的拷贝,以便自己使用,Rasums Lerdorf为此写了一些介绍此程序的文档,并发布了PHP v1.0。以后,越来越多的人使用PHP,并强烈要求增加一些其他的特性,如循环语句和数组变量等,这时其他的一些程序员也开始参与PHP源码的编写。PHP进行了重新编写,PHP v3.0就出现了。当前,使用PHP的网站已经超过80万,并且还在不断的增加。
除了向浏览器发送动态网页之外,PHP还能发送不同HTTP头标识,使得能提供
6
第二章 开发平台的选用
网页重定位、与Web服务器的安全认证结合的能力、以及设置Cookie。PHP能提供与多种数据库直接互联的能力,包括MySQL、Sybase、Informix、Oracle、MsSQL等,也能支持ODBC。并通过额外的库能够支持会话管理和XML处理(这些库都是基本的库,因此也是PHP用户的基本配置)。从这里我们可以看出,PHP已经不再是简单的服务器端脚本了,按照《PHP3浏览器应用编程》的作者David Medinets的话,PHP是一种应用服务器。因为它不仅仅包括一个完整的编程语言,而且它还包括完整的访问数据库的能力、支持Internet协议(如电子邮件和HTTP)的能力,这一整套技术使得PHP能与ASP、ColdFusion、WebSphere互较短长。
要运行PHP,通常使用Linux或FreeBSD作为操作系统,使用Apache作为Web服务器。当然使用其他操作系统也同样可行,这是因为PHP是一种跨平台的软件,这当然得益于它是开放源代码的软件。但是如果不使用Apache服务器,那么PHP就只能以CGI的方式运行,这样就不能利用将PHP编译进Apache带来的性能优势。当从中下载了最新版本的PHP并安装配置完毕之后,就可以使用编辑器或网页制作软件来编写PHP代码了。如果你能使用C或Perl进行编程,就会发现PHP编程并不复杂,作为程序语言的PHP比C简单,比Perl易懂。
2.2.2 选择PHP的原因
虽然PHP已经十分流行,但在国内了解它的人却很少,这当然是因为它不是商业软件,缺乏市场运作。即使在听说过PHP的人们中,不少人也抱有这样的看法,PHP既没有商业公司的支持,又缺乏商业的图形化开发工具,PHP能够和ASP等商业软件一样有前途吗?的确,ASP由于有微软公司的支持,使得它迅速变得十分流行,现在书店中充斥着ASP的相关书籍,而很少能找到介绍PHP的著作,正说明了国内的这种流行趋势。然而,过去一年中整个互联网中PHP使用者稳步增长的事实,却与这些观点截然相反。我认为那些不看重PHP的人至少忽略了以下几个原因:
PHP已经证明是非常实用的软件,性能、可靠性、稳定性非常高,借一个来自武侠小说的比喻,PHP就如同来自江湖下层一步步成名的草莽英雄,而商业软件则如同出身高贵的少年侠士,其成名的原因与其师傅和门派密切相关。PHP具备各种数据类型并支持复杂的文本处理,它甚至支持面向对象,能配置为处理XML等等,更为重要的是PHP的这些功能都是非常实用的,要知道PHP的开发者都是根据自己的需要自愿进行的开发,它具备的功能一定是有着实际用途的。虽不能说PHP比同类产品强,但其实力不容忽视。
PHP是跨平台的产品,它能运行在多种Unix,以及Windows NT上,并能访问多种不同的数据库,对很多人来讲,这一点非常重要。商业产品通常要求非常苛刻,只能和特定的操作系统和数据库相互协作。而人们喜欢使用自己已经熟悉的操作系统、Web服务器和数据库,如Linux、Apache和MySQL。
PHP是开放源代码的软件,很多人对此不以为然,然而他们忽视了占Web服务器市场58%的Apache服务器,忽视了Linux、FreeBSD等开放源代码的操作系统,这些开放源代码的软件结合在一起,就形成了一个非常有效的解决方案。
即便不考虑源代码的因素,PHP不需要任何费用的特点也是商业软件无法相比的,虽然ASP也是免费的,然而很多人忽视了运行Windows NT及MS SQL的费用,而PHP和Linux/FreeBSD、Apache、MySQL相互合作,几乎不需要任何软件费用,当前如果不考虑盗版,究竟有多少人还会坚持ASP呢?
PHP有良好的技术支持,可以通过电子邮件、论坛、网页、IRC等方式获得技术支持。这听起来有些好笑,难道这比商业软件的技术支持更有效吗?事实上依我个人使用商业软件和开放源代码软件的经验,这种技术支持形式相当不错,设想一下,你能够得到来自ASP开发组的技术服务吗?我想更常见的结果是在一通800电话之后,得到的只是一堆无用的建议,最后你终于厌倦了转来转去的电话。即便是现场服务,也许是某个工程师在一遍又一遍的重装系统,直到系统偶然的运行正常为止,这样也好,系统管理员至少可以装作什么都不懂的样子稍事休息一下。而开放源代码使你能提出更接近故障本质的现象,不但遇到过同样现象的使用者会提供帮助,PHP的开发者也能提供帮助。有什么技术支持比几十万个使用者,其中大多数都是使用PHP的老手,提供的帮助更有效呢。
无论如何,商业支持并不是一个软件流行的必要条件,反过来倒是可能的,最近的例子Linux不就是由于流行而得到了商业支持的吗?例如最新版本的网页制作工具DreamWaver 3.0,也开始支持PHP的标记,允许进行PHP的编写了,这不正是一个好的开端吗?越来越多的国内Web开发者也开始将目光投向PHP,其中大多数选择了Unix (Linux,FreeBSD, Solaris, AIX, HP-UX等等)作为Web站点的操作系统。
2.2.3 PHP的优点
应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者A这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点:
2.2.3.1 学习过程
与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始PHP编码之旅了。之后如果在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法与C,Perl,ASP或者JSP非常相似。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么对于其他几种语言的学习都很简单了。
只需要很短的时间就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。
2.2.3.2 数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
2.2.3.3 可扩展性
就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。
2.2.3.4 面向对象编程
8
PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。
2.2.3.5 可伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。
六、更多特点
PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!
2.2.4 选择PHP+MySQL的原因
您应该听说过开放源代码软件(OSS),除非最近六到八个月来您一直住在火星上。这场运动有着巨大的冲击力,已引起一些大公司的注意。象Oralce、Informix,还有多家公司都开始把他们的主力数据库产品移植到OSS的产物之一 - Linux操作系统上。
如果您有足够的技术力量,拥有一个复杂庞大的关系数据库系统(RDBMS)则是如虎添翼。但是也许您对数据库还刚刚入门,您刚刚读了Jay的文章,决定自己也来搞一个数据驱动的网站。可是您也许会发现您缺乏必要的资源来运行ASP服务器或昂贵的数据库系统(您也不需要这些东西)。您需要一些免费的、支持Unix的东西。
那么我建议您使用PHP和MySQL。这两样东西加在一起,对于开发数据驱动的网站这项工作而言,真是最佳组合。其实用不着我多费唇舌解释。一项由Netcraft组织的非官方调查显示,应用PHP的主机数目由1998年6月的7,500台跃升至1999年3月的410,000台。不错吧?这两种软件的组合还在Webcon98大会上赢得了年度数据库产品大奖,还得了一座漂亮的奖杯。
MySQL是一个小巧灵珑的数据库服务器软件,对于小型(当然也不一定很小)应用系统是非常理想的。除了支持标准的ANSI SQL语句,它还支持多种平台,而在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于不使用Unix的用户,它可以在Windows NT系统上以系统服务方式运行,或者在Windows 95/98系统上以普通进程方式运行。
PHP是一种服务器端解释的脚本语言。如果你接触过ASP的话,那么您对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。这种模式使得我们可以用它来完成相当复杂的功能。
除了免费这一点(当然,MySQL也有一些使用许可方面的限制),PHP-MySQL的组合还可以跨平台运行,这意味着您可以在Windows上开发,然后在Unix平台上运行。另外,PHP也能作为标准的CGI进程来运行,此时它是一个独立的脚本解释器,或者是Apache的一个嵌入模块。
如果您有兴趣使用其他数据库服务器的话,PHP也支持Informix、Oracle、
第三章 电子商务现状分析
Sybase、Solid和PostgreSQL ,以及通用的ODBC。
PHP支持Internet开发的一些前沿技术。这些技术包括身份认证、XML、动态图象生成、WDDX、共享内存,以及动态PDF文档等等,不一而足。如果您还不满意的话,PHP是很容易扩展的,所以只要您有编程能力,您尽可以自己大展身手一番。
最后要说的是,两种软件都是大量程序员协同开发的,因此文档及邮件列表等支持方式很多。程序错误的修正很快,而如果您要求加入新功能的话,总会有人考虑您的要求,并且在可行性足够高的前提下加以实现。
3.电子商务现状分析
近年来,随着Internet的蓬勃发展,电子商务也在迅速崛起。电子商务(E-Commerce)是利用Internet 提供的信息网络在网上进行的商务活动。电子商务改变了传统的买卖双方面对面的交流方式,也打破了旧有工作经营模式,它通过网络使企业面对整个世界,为用户提供每周 7 天,每天 24 小时的全天候服务。电子商务的规模正在逐年迅速增长,根据Deloitte咨询公司最近研究,全球电子商务收入将从1997年的150亿美元上升至2002年的1.1万亿美元,到2002年70%的大公司将通过Web进行销售;eMarketer公司也预期全世界的电子商务收入将从1998年的984 亿美元增长到2003 年的1.2 万亿。虽然不同研究咨询机构对电子商务的增长预测有一定差异,但电子商务的飞速增长已是不争的事实,它带来的商机是巨大而深远的。由于电子商务所依托的Internet的全球性和开放性,电子商务的影响将是全面的,它不但在微观上影响企业的经营行为和消费者的消费行为,而且在宏观上影响到国际贸易关系和国家未来竞争力。作为快速发展中的中国,已经错过了多次发展机遇,我们再也不能坐失良机而应该应对挑战抓住电子商务发展带来的商机,为二十一世纪日益激烈的全球化竞争作好人才、技术准备和经营观念转变。
3.1 电子商务发展的历史
3.1.1 电子商务涵义
对于电子商务的概念,目前并没有比较统一的定义,只是在实践应用的基础上加以总结形成的。经合组织OECD是较早对电子商务进行系统的研究,它将电子商务定义为是关于利用电子化手段从事的商业活动,它基于电子处理和信息技术,如文本、声音和图象等数据传输。OECD的定义特别强调了Internet基础上的电子商务发展,但是不全面的。我国较早研究电子商务学者李琪认为电子商务是指系统化地利用电子工具,高效率、低成本地从事以商品交换为中心的各种活动全过程。他强调的是以商品贸易为中心的各种事务活动的电子化,使得对电子商务活动范围定义过于狭小。一般认为,电子商务是以信息技术为基础的商务活动,它包括生产、流通、分配、交换和消费等环节中连接生产和消费的所有活动电子信息化处理。具体的说,电子商务活动是指以下列方式所进行的交易或商务活动:(1)通过Internet进行的交易,如联机商店(Online Shop)和网上直销(Internet Direct Sale);(2)通过Internet进
展开阅读全文