1、基于 PHP 实现的网上留言管理系统的设计摘 要随着互联网技术的迅猛发展,网络已经充斥到我们生活的方方面面,网上留言系统已经成为各种网站不可或缺的一个组成部分。一个设计美观、功能完善的网上留言系统是网站吸引网民的一个重要因素。同时,它还为网络用户提供了一个多人参与的信息交流平台。基于 PHP 实现的网上留言管理系统采用 BS(BrowserServer)应用架构以及 MVC(Model View Controller)编程架构设计开发。具体的开发细节是使用 PHP 语言完成系统的开发。整个系统不仅能够对网上留言信息进行录入、发布、查询与管理,而且还增加了如:验证码、邮件发送、聊天室、密码管理等
2、功能。这样使得网上留言系统真正成为功能丰富、高效实用的网上信息交流平台。关键词:PHP;BS;MVC;面向对象;留言系统Design of Message Board System Based on PHPAbstractWith the rapid development of the Internet technology, the network application has been widely used in the world, the message board system already becomes an indispensable constituent of th
3、e website. A message board system which has beautiful designs and integrated functions can be an important factor of attracting people. Meanwhile, it provides Internet users with an information exchange platform. The design of message board system based on PHP is developed by B/S(Browser/Server) app
4、lication construction and MVC(Model View Controller) programming construction. The detail of the development is using the PHP language to develop the system. The whole system not only can input, issue, query and manage the on-line message but also adds some functions such as validating code, mail tr
5、ansmission, chatting room or password management. This makes the message board system truly be a multifunctional and efficient on-line information exchange platform.Key words: PHP; B/S; MVC; Object Oriented; Message Board System目 录论文总页数:20 页1 引言 .11.1 课题背景 .11.2 本课题研究的意义 .11.3 本课题的研究方法 .12 留言系统开发语言的
6、介绍 .12.1 PHP 语言概述 .12.2 PHP 对 MYSQL 数据库的访问 .22.3 JAVASCRIPT 语言概述 .23 留言系统开发架构的介绍 .33.1 BS 应用架构的介绍 .33.1.1 B S 架构概述 .33.1.2 B S 架构的优点 .33.1.3 B S 架构的缺点 .43.2 MVC 编程架构的介绍 .53.2.1 MVC 架构概述 .53.2.2 MVC 架构的优点 .63.2.3 MVC 架构的缺点 .74 基于 PHP 的网上留言管理系统的设计与实现 .74.1 功能的确定 .74.2 数据表的设计 .84.3 添加功能与管理功能的设计与实现 .94.
7、3.1 设计方案的介绍 .94.3.2 各部分实现过程的介绍 .104.4 发布功能的设计与实现 .144.5 特色功能的设计与实现 .16结 论 .18参考文献 .18致 谢 .19声 明 .20第 1 页 共 20 页1 引言1.1 课题背景随着互联网技术的迅猛发展,网络给人们带来了很多便利,我们在很多网站上都能看到各式各样的留言板,它是网站与访客之间进行交流的主要手段之一。一个设计合理,界面优美的网上留言程序能从侧面体现网站良好的服务,给来访用户留下美好的印象,增强用户对网站的信心。1.2 本课题研究的意义网上留言系统利用网络一定的时效性和广泛的传播面,可以方便人与人之间的信息交流和互动
8、。对于一般企业而言,网上留言系统能够通过网络提供方便的日常信息管理和交互,同时只需要相对低廉的建设和维护成本。另外,企业还可以通过网上留言系统,为客户提供一个跨地域的交流平台,以便及时了解和掌握客户的需求,加强企业与客户之间的沟通,提高企业的市场竞争力。因此,该课题具有一定的实用价值。1.3 本课题的研究方法网上留言系统的整体结构采用的是 BS(BrowserServer)应用架构,在这种架构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在 Web 服务器实现,客户端只需要浏览器即可进行业务处理。整个系统的设计采用的是 MVC(Model View Controller)编程架构,
9、使得功能模块和显示模块能够分离,提高应用系统的可维护性、可扩展性、可移植性和组件的可复用性。留言系统的具体实现是采用服务器端脚本语言 PHP 来完成对系统后台的开发以及使用 Html 语言和 JavaScript 脚本语言来完成对系统前台的开发。2 留言系统开发语言的介绍2.1 PHP 语言概述PHP是能让你生成动态网页的工具之一。PHP代表:超文本预处理器 (PHP:Hypertext Preprocessor) 。PHP是完全免费的,不用花钱,你可以从PHP官方站点自由下载。PHP遵守GNU公共许可(GPL) ,在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获
10、得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUNLinux和微软Windows平台上均可以运行。PHP很容易学习,但是速度上比ModPerl(植入Web服务器的Perl模块)慢。现在有了可以与ModPerl速度想媲美的被称作Zend的新引擎,而PHP5就可以充分利用这个引擎。PHP5还引入了新的对象模型(Object Model) 。完全重写了PHP处理对象的方式,这样可以提高程序的抽象程度,更接近人的思维方式,使程序结构更清晰并降低编码和维护的工作量。当前PHP与Linux、Apache、MYSQL、Zend构成了性价比最高的Web系统。第 2 页 共 20 页应
11、用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,对于小项目,它可以是一个十分符合人意的编程语言。但是对于较大的和更为复杂的项目,PHP就显出他的薄弱了。PHP是一个不断发展的语言,相信这些问题在不久的将来会得到很好地解决。2.2 PHP 对 MYSQL 数据库的访问MYSQL 是一个快速、健壮和易用,且支持多线程、多用户的 SQL 数据库服务器。虽然 PHP 通过 ODBC 支持几乎所有的数据库。但对于开发数据驱动的网站而言,选择 MYSQL 应该说是最佳组合,这不仅因为 MYSQL 是免费的,更在于它具有与同类大型数据库相媲美甚至超过它们的优良性能。PH
12、P 实现对 MYSQL 数据库的访问有两种方法:(1)利用 PHP 的数据库函数连接:创建 MYSQL 连接:MYSQL_CONNECT(数据库所在位置,数据库账号,数据库密码)。数据库选用:MYSQL_SELECT_DB(数据库名)。执行 SQL 指令:MYSQL_QUERY(SQL 语句,$link)。分析表身:MYSQL_FETCH_ROW()函数,必须传入$result 查询结果变量,再通过 for 循环,并配合 count()函数计算数据行中的列数,将$row 数组中每一元素显示出来。释放资源:MYSQL_FREE_RESULT($result)或 MYSQL_CLOSE($link
13、)。(2)通过 ODBC 连接:PHP 通过 ODBC 连接 MYSQL 数据库主要用到四个函数:ODBC_CONNECT():用来同 ODBC 数据源建立连接。ODBC_DO():用来在建立连接之后执行数据库查询。ODBC_RESULT():用于取得当前记录行中某个字段的值。ODBC_FETCH_ROW():用来把查询结果保存到数组,每个数组元素对应一条记录。上述两种方法在与数据库建立连接的语法上,并没有太大差别。不过在相比较之下,通过 ODBC 方式存取数据库比 PHP 直接存取 MYSQL 耗时间,但通过ODBC 接口存取数据库不必担心使用何种数据库,如 Oracle,Informix,
14、Sybase等。结合网上留言系统在实际当中的应用,还是决定选择 PHP 直接存取 MYSQL的方式来管理数据库。另外以上两种方式都支持 ODBC 接口,这样可减少更换数据库时需要更改程序的问题。2.3 JavaScript 语言概述JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具第 3 页 共 20 页有安全性能的脚本语言。使用它的目的是与 HTML 超文本标记语言、PHP 脚本语言一起实现在一个 Web 页面中链接多个对象,与 Web 客户交互作用,从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的 HTML 语言中实现的。它的出现弥补了
15、 HTML 语言的缺陷。JavaScript 的出现使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。从而基于 CGI 静态的HTML 页面将被可提供动态实时信息,并对客户操作进行反应的 Web 页面的取代。JavaScript 脚本正是满足这种需求而产生的语言。它深受广大用户的喜爱。它是众多脚本语言中较为优秀的一种,与 WWW 的结合有效地实现了网络计算和网络计算机的结合。使用 JavaScript 的优势在于传统的数据提交和验证工作均由用户端浏览器通过网络传输到服务器上进行。如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。而
16、JavaScript 则可以在客户端进行数据验证,可以方便地操纵各种浏览器的对象,可以控制浏览器的外观,状态甚至运行方式,可以根据用户的需要“定制”浏览器,从而使网页更加友好。JavaScript 还可以使多种任务仅在客户端就可以完成而不需要网络和服务器的参与,从而支持分布式的运算和处理。3 留言系统开发架构的介绍3.1 BS 应用架构的介绍3.1.1 BS 架构概述BS(BrowserServer)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对 CS(ClientServer)结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事
17、务逻辑在前端(Browser)实现,主要的事务逻辑在服务器端(Server)实现,形成所谓三层 3tier 结构。这样就大大简化了客户端电脑负荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立 BS 结构的网络应用,并通过 InternetIntranet 模式下建立的数据库应用,相对易于把握,成本也是较低的。BS 结构是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN,WAN,InternetIntranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 PHP 这样的跨
18、平台语言出现之后,BS 架构管理软件更是方便、快捷、高效。第 4 页 共 20 页3.1.2 BS 架构的优点BS 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。其次是维护和升级方式简单。目前,软件系统的改进和升级越来越频繁, BS 架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间
19、来回奔跑,效率和工作量是可想而知的,但 BS 架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦” ,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机, “胖”服务器。最后是成本降低,选择更多。大家都知道 Windows 在桌
20、面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上 Windows 并不是处于绝对的统治地位。现在的趋势是凡使用 BS 架构的应用管理软件,只需安装在Linux 服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用 Windows 作为桌面操作系统的电脑不受影响,这就使得最流行 Linux 操作系统快速发展起来,Linux 除了操作系统是免费的以外,连数据库也是免费的,这种选择是非常盛行的。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站服务器是没有使用 W
21、indows 操作系统的,但用户的电脑本身安装的大部分是 Windows 操作系统。3.1.3 BS 架构的缺点应用服务器运行数据负荷较重是 BS 架构的缺点。由于 BS 架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW 浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器第 5 页 共 20 页“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。3.2 MVC 编
22、程架构的介绍3.2.1 MVC 架构概述MVC 英文即 Model,View,Controller,即把一个应用的输入、处理、输出流程按照 Model,View,Controller 的方式进行分离,这样一个应用层被分为三个层模型层,视图层、控制层。视图(View)代表用户交互界面,对于 Web 来说,可以概括为 HTML 界面,但也有可能为 XHTML、XML、Applet 和 Flash 等。随着应用的复杂性和规模性的提高,界面的处理也变得具有挑战性,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业
23、务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给 Controller 和 Model。模型(Model)就是业务流程和状态的处理以及业务规则的制定。业务流程的处理过程对其他层来说是暗箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是 MVC 最主要的核心。目前流行的 EJB 模型就是一个典型的应用例子,它从应用技术实现的角度对模型作了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按照模型设计就可以利用某些技术组件,从而减轻了技术上的困难。对一个开者来说
24、,就可以专注于业务模型的设计。MVC 设计模型告诉我们,把应用的模型按照一定的规划抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC 并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。业务模型还有一个很重要的模型那就是数据模型。数据模型主要是指实体对象的数据保存。比如将一张订单保存到数据库中,从数据库获取订单。我们可以将这个模型单独列出,所有有关的数据库的操作只限在该模型中。控制(Controller)可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求,划分控制层的作用很明显,它清
25、楚地告诉开发者,它仅是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层不作任何的数据处理。例如,用户点击一个链接,控制层接收请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,把符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一第 6 页 共 20 页个视图可能对应多个模型。总之,模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都能反映这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化
26、与传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如下图(图1)所示:图 1 模型、视图、控制器的关系和功能3.2.2 MVC 架构的优点当前有相当一部分 Web 应用程序都是用过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像 HTML 这样的表示层代码混在一起,直接向数据库发送请求并用 HTML 显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC 的出现很好地
27、解决了以上问题,它要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。首先,MVC 最重要的一点是多个视图能共享一个模型。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按 MVC 设计模式,一个订单模型以及多个视图即可解决问题。这样即减少了代码的复制,又减少了代码的维护量,一旦模型发生改变,也易于维护。并且由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。第 7 页 共 20 页其次,将 MVC
28、分离可以让不同的专家负责不同的模块,一般情况下,Model部分由熟悉数据库,网络传输的专家来负责;View 则交给对 UI(User Interface)有研究的专家。这对于项目的管理者而言是多么的诱人,分工意味着可以提高效率并可以按照传统的责任划分来处理软件开发过程。对开发者而言也可以专心于一个领域。这样做的前提是接口要明确,MVC 的分离思想正为其提供了基础。最后,控制器也提供了一个好处,就是可以使用控制器来连接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用
29、户。总的来说 MVC 编程架构是有利于软件工程化管理的,因为不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。3.2.3 MVC 架构的缺点MVC 的缺点是由于它没有明确的定义,所以完全理解 MVC 并不是很容易。使用 MVC 需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。具体的不足体现在以下几个方面:(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循 MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与控制器间的连接过于紧密。视图与控制器是相互分离,但却是联系
30、紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了它们的独立重用。(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。另外,你还将不得不花费相当可观的时间去考虑如何将 MVC 运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。最后,根据开发者经验,由于开发者将一个应用程序分成了三个部件,所以使用 MVC 同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提的。并且本系统也针对这些缺点做了一些改进,下面就将介绍系统详细的设计开发过程。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。