基于PHP实现的网上留言管理系统的设计学士学位论文.docx
- 文档编号:27018685
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:60
- 大小:220.24KB
基于PHP实现的网上留言管理系统的设计学士学位论文.docx
《基于PHP实现的网上留言管理系统的设计学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于PHP实现的网上留言管理系统的设计学士学位论文.docx(60页珍藏版)》请在冰豆网上搜索。
基于PHP实现的网上留言管理系统的设计学士学位论文
毕业论文声明
本人郑重声明:
1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):
年月
关于毕业论文使用授权的声明
本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:
按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:
日期:
指导教师签名:
日期:
分类号:
TP315UDC:
D10621-408-(2007)5851-0
密级:
公开编号:
2003032085
成都信息工程学院
学位论文
基于PHP实现的网上留言管理系统的设计
论文作者姓名:
申请学位专业:
网络工程
申请学位类别:
工学学士
指导教师姓名(职称):
论文提交日期:
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
基于PHP实现的网上留言管理系统的设计
摘要
随着互联网技术的迅猛发展,网络已经充斥到我们生活的方方面面,网上留言系统已经成为各种网站不可或缺的一个组成部分。
一个设计美观、功能完善的网上留言系统是网站吸引网民的一个重要因素。
同时,它还为网络用户提供了一个多人参与的信息交流平台。
基于PHP实现的网上留言管理系统采用B/S(Browser/Server)应用架构以及MVC(ModelViewController)编程架构设计开发。
具体的开发细节是使用PHP语言完成系统的开发。
整个系统不仅能够对网上留言信息进行录入、发布、查询与管理,而且还增加了如:
验证码、邮件发送、聊天室、密码管理等功能。
这样使得网上留言系统真正成为功能丰富、高效实用的网上信息交流平台。
关键词:
PHP;B/S;MVC;面向对象;留言系统
DesignofMessageBoardSystemBasedonPHP
Abstract
WiththerapiddevelopmentoftheInternettechnology,thenetworkapplicationhasbeenwidelyusedintheworld,themessageboardsystemalreadybecomesanindispensableconstituentofthewebsite.Amessageboardsystemwhichhasbeautifuldesignsandintegratedfunctionscanbeanimportantfactorofattractingpeople.Meanwhile,itprovidesInternetuserswithaninformationexchangeplatform.ThedesignofmessageboardsystembasedonPHPisdevelopedbyB/S(Browser/Server)applicationconstructionandMVC(ModelViewController)programmingconstruction.ThedetailofthedevelopmentisusingthePHPlanguagetodevelopthesystem.Thewholesystemnotonlycaninput,issue,queryandmanagetheon-linemessagebutalsoaddssomefunctionssuchasvalidatingcode,mailtransmission,chattingroomorpasswordmanagement.Thismakesthemessageboardsystemtrulybeamultifunctionalandefficienton-lineinformationexchangeplatform.
Keywords:
PHP;B/S;MVC;ObjectOriented;MessageBoardSystem
论文总页数:
20页
1引言
1.1课题背景
随着互联网技术的迅猛发展,网络给人们带来了很多便利,我们在很多网站上都能看到各式各样的留言板,它是网站与访客之间进行交流的主要手段之一。
一个设计合理,界面优美的网上留言程序能从侧面体现网站良好的服务,给来访用户留下美好的印象,增强用户对网站的信心。
1.2本课题研究的意义
网上留言系统利用网络一定的时效性和广泛的传播面,可以方便人与人之间的信息交流和互动。
对于一般企业而言,网上留言系统能够通过网络提供方便的日常信息管理和交互,同时只需要相对低廉的建设和维护成本。
另外,企业还可以通过网上留言系统,为客户提供一个跨地域的交流平台,以便及时了解和掌握客户的需求,加强企业与客户之间的沟通,提高企业的市场竞争力。
因此,该课题具有一定的实用价值。
1.3本课题的研究方法
网上留言系统的整体结构采用的是B/S(Browser/Server)应用架构,在这种架构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理。
整个系统的设计采用的是MVC(ModelViewController)编程架构,使得功能模块和显示模块能够分离,提高应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
留言系统的具体实现是采用服务器端脚本语言PHP来完成对系统后台的开发以及使用Html语言和JavaScript脚本语言来完成对系统前台的开发。
2留言系统开发语言的介绍
2.1PHP语言概述
PHP是能让你生成动态网页的工具之一。
PHP代表:
超文本预处理器(PHP:
HypertextPreprocessor)。
PHP是完全免费的,不用花钱,你可以从PHP官方站点自由下载。
PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。
你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。
PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。
PHP很容易学习,但是速度上比Mod_Perl(植入Web服务器的Perl模块)慢。
现在有了可以与Mod_Perl速度想媲美的被称作Zend的新引擎,而PHP5就可以充分利用这个引擎。
PHP5还引入了新的对象模型(ObjectModel)。
完全重写了PHP处理对象的方式,这样可以提高程序的抽象程度,更接近人的思维方式,使程序结构更清晰并降低编码和维护的工作量。
当前PHP与Linux、Apache、MYSQL、Zend构成了性价比最高的Web系统。
应用PHP有许多好处。
当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,对于小项目,它可以是一个十分符合人意的编程语言。
但是对于较大的和更为复杂的项目,PHP就显出他的薄弱了。
PHP是一个不断发展的语言,相信这些问题在不久的将来会得到很好地解决。
2.2PHP对MYSQL数据库的访问
MYSQL是一个快速、健壮和易用,且支持多线程、多用户的SQL数据库服务器。
虽然PHP通过ODBC支持几乎所有的数据库。
但对于开发数据驱动的网站而言,选择MYSQL应该说是最佳组合,这不仅因为MYSQL是免费的,更在于它具有与同类大型数据库相媲美甚至超过它们的优良性能。
PHP实现对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)。
(2)通过ODBC连接:
PHP通过ODBC连接MYSQL数据库主要用到四个函数:
ODBC_CONNECT():
用来同ODBC数据源建立连接。
ODBC_DO():
用来在建立连接之后执行数据库查询。
ODBC_RESULT():
用于取得当前记录行中某个字段的值。
ODBC_FETCH_ROW():
用来把查询结果保存到数组,每个数组元素对应一条记录。
上述两种方法在与数据库建立连接的语法上,并没有太大差别。
不过在相比较之下,通过ODBC方式存取数据库比PHP直接存取MYSQL耗时间,但通过ODBC接口存取数据库不必担心使用何种数据库,如Oracle,Informix,Sybase等。
结合网上留言系统在实际当中的应用,还是决定选择PHP直接存取MYSQL的方式来管理数据库。
另外以上两种方式都支持ODBC接口,这样可减少更换数据库时需要更改程序的问题。
2.3JavaScript语言概述
JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。
使用它的目的是与HTML超文本标记语言、PHP脚本语言一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而可以开发客户端的应用程序等。
它是通过嵌入或调入在标准的HTML语言中实现的。
它的出现弥补了HTML语言的缺陷。
JavaScript的出现使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。
从而基于CGI静态的HTML页面将被可提供动态实时信息,并对客户操作进行反应的Web页面的取代。
JavaScript脚本正是满足这种需求而产生的语言。
它深受广大用户的喜爱。
它是众多脚本语言中较为优秀的一种,与WWW的结合有效地实现了网络计算和网络计算机的结合。
使用JavaScript的优势在于传统的数据提交和验证工作均由用户端浏览器通过网络传输到服务器上进行。
如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。
而JavaScript则可以在客户端进行数据验证,可以方便地操纵各种浏览器的对象,可以控制浏览器的外观,状态甚至运行方式,可以根据用户的需要“定制”浏览器,从而使网页更加友好。
JavaScript还可以使多种任务仅在客户端就可以完成而不需要网络和服务器的参与,从而支持分布式的运算和处理。
3留言系统开发架构的介绍
3.1B/S应用架构的介绍
3.1.1B/S架构概述
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S(Client/Server)结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要的事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑负荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下建立的数据库应用,相对易于把握,成本也是较低的。
B/S结构是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在PHP这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
3.1.2B/S架构的优点
B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
其次是维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
最后是成本降低,选择更多。
大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。
现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用Windows作为桌面操作系统的电脑不受影响,这就使得最流行Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择是非常盛行的。
比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站服务器是没有使用Windows操作系统的,但用户的电脑本身安装的大部分是Windows操作系统。
3.1.3B/S架构的缺点
应用服务器运行数据负荷较重是B/S架构的缺点。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。
因此,许多单位都备有数据库存储服务器,以防万一。
3.2MVC编程架构的介绍
3.2.1MVC架构概述
MVC英文即Model,View,Controller,即把一个应用的输入、处理、输出流程按照Model,View,Controller的方式进行分离,这样一个应用层被分为三个层—模型层,视图层、控制层。
视图(View)代表用户交互界面,对于Web来说,可以概括为HTML界面,但也有可能为XHTML、XML、Applet和Flash等。
随着应用的复杂性和规模性的提高,界面的处理也变得具有挑战性,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型(Model)处理。
比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给Controller和Model。
模型(Model)就是业务流程和状态的处理以及业务规则的制定。
业务流程的处理过程对其他层来说是暗箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型作了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。
它仅仅告诉你按照模型设计就可以利用某些技术组件,从而减轻了技术上的困难。
对一个开者来说,就可以专注于业务模型的设计。
MVC设计模型告诉我们,把应用的模型按照一定的规划抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。
抽象与具体不能隔得太远,也不能太近。
MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。
业务模型还有一个很重要的模型那就是数据模型。
数据模型主要是指实体对象的数据保存。
比如将一张订单保存到数据库中,从数据库获取订单。
我们可以将这个模型单独列出,所有有关的数据库的操作只限在该模型中。
控制(Controller)可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求,划分控制层的作用很明显,它清楚地告诉开发者,它仅是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。
控制层不作任何的数据处理。
例如,用户点击一个链接,控制层接收请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,把符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
总之,模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都能反映这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化与传播机制。
模型、视图、控制器三者之间的关系和各自的主要功能,如下图(图1)所示:
图1模型、视图、控制器的关系和功能
3.2.2MVC架构的优点
当前有相当一部分Web应用程序都是用过程化语言来创建的。
它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。
产品设计弹性力度很小,很难满足用户的变化性需求。
经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。
MVC的出现很好地解决了以上问题,它要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。
首先,MVC最重要的一点是多个视图能共享一个模型。
在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。
按MVC设计模式,一个订单模型以及多个视图即可解决问题。
这样即减少了代码的复制,又减少了代码的维护量,一旦模型发生改变,也易于维护。
并且由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。
其次,将MVC分离可以让不同的专家负责不同的模块,一般情况下,Model部分由熟悉数据库,网络传输的专家来负责;View则交给对UI(UserInterface)有研究的专家。
这对于项目的管理者而言是多么的诱人,分工意味着可以提高效率并可以按照传统的责任划分来处理软件开发过程。
对开发者而言也可以专心于一个领域。
这样做的前提是接口要明确,MVC的分离思想正为其提供了基础。
最后,控制器也提供了一个好处,就是可以使用控制器来连接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
总的来说MVC编程架构是有利于软件工程化管理的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP 实现 网上 留言 管理 系统 设计 学士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)