【PHP开源代码栏目提醒】:网学会员为广大网友收集整理了,毕业论文(设计)-PHP论坛网站程序设计 - 毕业设计,希望对大家有所帮助!
安徽工业大学
毕业设计
论文任务书 课题名称 程序设计论坛网站 学 院 计算机 专业班级 网络工程 姓 名 学 号
毕业设计论文的主要内容及要求:1、认真复习软件工程、数据库、计算机网络等相关知识。
2、学习和熟悉
PHP 动态网页设计技术。
3、按照软件工程的要求,对程序设计论坛网站进行详细的需求分析,在此基础上, 进行功能设计、界面设计,最后编码调试实现。
要求能够实现用户在线浏览论坛 帖子,分主题发表帖子和回复等功能。
4、完成毕业
论文的撰写、修改和定稿。
摘 要 现在互联网已经成为人们快速获取、发布和传递信息的重要渠道,论坛是Internet 上最常用的交流工具之一,越来越多的人开始把论坛作为他们获取信息的手段和交流的平台。
本毕业设计就是基于 PHPMySQL 的论坛设计,以
PHP Expert Editor 作为开发基础,采用 WAMP 架构,辅用 CSS 技术,并通过使用模板技术,在 Apache 本地服务器上实现了较完整的论坛功能。
PHP 语言执行效率高并易于同数据库连接,MySQL 数据库访问速度快、稳定性好。
该论坛主要用来为用户提供一个
计算机程序语言的交流环境,
学习资料的共享,各类计算机程序技术的讨论,问题的求助都可以在论坛上发布,该论坛主要包括前台和后台两大部分,前台主要实现用户管理和帖子管理,前者包括用户
注册、用户登录、用户密码找回、用户信息修改等;后者包括包括帖子内容显示、帖子发布和回复信息等。
后台主要实现管理员对论坛系统的维护。
关键词:论坛;
PHP;Apache;MySQL;模板 Abstract Nowadays the Internet has become an important channel for people to gain publish and transfer information on the Internet BBS is one of the most commoncommunication tools more and more people make BBS as the platform to obtaininformation and communicate with each other. This design is based on the BBSMySQLusing
PHP Expert Editor as exploitedfoundation adopting WAMP architecturecomplementary with CSS technique andthrough the use of template techonolgy it realized almost completely BBSfunctions in Apache local server. The efficiency of
PHP languageimplementation is high and it is easy to connect with MySQL database accesswhich is fast speed and good stability. This BBS is mainly used to provide users a computer programming languageenviroment to exchangeshare information and all kinds of discussion aboutcomputer program technology and questions can post on the BBS. This BBSincludes two parts:forestage and backstage.Forestage is mainly used torealise user mangement including the user registration user loginuserpassword retrieved and user information modification etc. Backstage mainlyrealizes the BBS system administrator for maintenance.Key
words:BBS;
PHP;Apache;MySQL;Template目录1 绪论 .................................................. 1 1.1 课题的研究意义 ........................................ 1 1.2 课题的研究现状 ........................................ 1 1.3
论文的研究内容 ........................................ 1 1.4 系统的设计思路 ........................................ 22 理论基础 .............................................. 3 2.1 WAMP 架构介绍 ......................................... 3 2.1.1 WAMP 架构的提出 ............................................ 3 2.1.2 WAMP 架构的优势 ............................................ 3 2.1.3 WAMP 架构的研究现状 ........................................ 3 2.2
PHP 技术 .............................................. 3 2.2.1
PHP 技术概述 ............................................... 3 2.2.2
PHP 技术特点 ............................................... 4 2.3 MySQL 数据库技术 ...................................... 5 2.3.1 MySQL 数据库概述 ........................................... 5 2.3.2 MySQL 图形管理工具---phpMyAdmin ............................ 6 2.4 论坛采用 B/S 架构 ...................................... 63 总体设计 .............................................. 8 3.1 论坛可行性分析 ........................................ 8 3.2 论坛需求分析 .......................................... 8 3.3 功能模块的设计 ....................................... 11 3.4 论坛系统数据库的设计策略 ............................. 12 3.4.1 概念结构
设计 ............................................. 13 3.4.2 逻辑结构设计 ............................................. 154 论坛系统详细设计 .................................... 21 4.1 数据库的访问 ......................................... 21 4.2 CSS 样式表的使用 ..................................... 21 4.3 论坛系统功能的实现 ................................... 22 4.3.1 系统功能 .................................................. 22 4.3.2 普通用户功能 .............................................. 23 4.3.3 版主功能 .................................................. 26 4.3.4 管理员功能 ................................................ 27 4.4 数据的安全性研究与实现 ............................... 29 4.4.1 论坛系统的安全体系 ....................................... 29 4.4.2 论坛系统安全性的实现 ..................................... 305 论坛系统性能优化 ..................................... 31 5.1 论坛系统测试 ......................................... 31 5.2 模板技术在论坛中的应用 ............................... 326 结束语 ............................................... 35致谢 ................................................... 36 1 绪论1.1 课题的研究意义 随着我国改革的深入和发展,公共传媒的发展也日新月异。
人们己经不单单只从电视、报纸上得到需要的新闻报道,Internet 传播介质的出现使得人们能够从更加丰富的网络资源中得到自己想要的信息。
论坛是 Internet 上最
常用的交流工具之一,越来越多的人开始把论坛作为他们获取信息的手段和交流的平台。
论坛系统已经成为互联网上人与人之间交互的必备工具,特别是做网站必备。
以前我们一直使用留言本形式。
论坛与留言薄的区别在于论坛上的消息是分层次的。
每个人都可以在论坛上发表信息,别人可以回复这条消息。
回复消息与被回复消息之间存在一种“父子”关系。
如果将最上层的消息当作“根消息” ,则每一条子消息都有一个唯一的“父”消息。
因此,论坛用做发表意见的场合是最合适的,因为可以从中看到不同消息之间的关系,访问者不至于在浏览时因为头绪太乱而迷失方向。
由于论坛系统的论坛作为人们日常生活获取信息的手段和交流的平台, 因此本文研究论坛系统的开发具有重要的实践意义。
1.2 课题的研究现状 随着互联网技术的发展,现在的论坛系统功能越来越多,不但可以发帖回帖,还可以上传视频和提供下载等等。
有的论坛系统为了达到更好的用户体验,在实现了基 、本的讨论功能后,设计了很多个性化的功能,比如在论坛中设置了“个人空间”“加为好友”等功能,还有的论坛系统,通过提供免费的空间来增加论坛的发帖量。
当然有些论坛系统的个性化功能设计新颖,也非常有使用价值,但有些个性化功能的设计却既没有多少使用价值,同时又大大的影响了系统的性能。
以目前许多学生自主创办的论坛为例,都因盲目重视功能,忽略了性能,系统运行一段时间后都因性能问题不得不更换其他论坛系统,每更换一次,论坛的数据就全部丢失。
由此可见,实现一个论坛系统如果只重视功能而忽略性能,破坏的影响是非常严重的。
经过对一些目前国内外比较典型的 BBS 论坛系统的方式的分析, 本文认为去掉系统不必要的个性化功能,实现一个性能好、速度快、安全性高并且基本功能完善的论坛系统是很必要的。
1.3
论文的研究内容
论文的主要研究内容是根据目前聊天工具的现状和需求,设计出一个具备交互、执行下载数据或程序、上传数据、阅读、与其它用户交换消息等功能,并在实际应用中予以实现和评价。
具体的研究内容如下: 对论坛
系统目前的国内外发展现状进行对比分析,找出交流系统存在的
问题,提出相关的解决策略。
结合解决策略,设计新的适合时代特点的论坛系统,并对照原有的传统的交流工具分析论坛的特点和适应性,完成论坛的系统实现。
共 42 页 第 1 页1.4 系统的设计思路 系统将采用软件工程的生命周期过程来进行分析设计。
其基本思路:首先,是进行系统可行性分析和系统的初步设计规划。
其次进行需求调研,主要通过对国内外各种大型论坛进行亲身体验、现有
开源论坛系统的研究及进行网上调查与提问等方式得到需求,在此基础上进行需求分析以确定需求是否值得设计开发,完成业务逻辑分析与设计,确定系统的功能模块等。
接着准确地进行数据库设计、界面设计以实现系统所要达到的规划目标。
最后进行系统布署与测试,以改进系统性能。
共 42 页 第 2 页 2 理论基础2.1 WAMP 架构介绍2.1.1 WAMP 架构的提出 1998 年,Michael Kunze 为德国计算机杂志写了一篇关于 Free 软件如何成为商业软件替代品的文章,创建了 LAMP 这个名词,Linux 操作系统、Apache
网络服务器、MySQL 数据库和
PHP(Perl 或 Python)脚本语言组合而成的—— LAMP (四种技术的开头字母组成),随之 LAMP 技术成为了
开源软件业的一盏真正的明灯。
随着互联网
开源潮流的迅速发展,全球 IT 业正迎来一个新的发展格局成长期,而 LAMP 所代表的
开源软件以其开放性、低成本、安全性、适用性以及可靠的性能,正对传统
软件、硬件和系统集成商产生巨大的冲击,同时,也给创新型 IT 企业、程序开发者创造了前所未有的机遇。
中国
开源软件推进联盟主席陆首群说,LAMP 也可以派生出 WAMPW 代表Windows 操作系统。
事实上,
PHP 与.Net 是并存的,
PHP 也可以和 Windows 捆绑在一起,两者并没有冲突,可以因地致宜地使用
开源与闭源混合架构。
本系统就是采用 WAMP 架构进行论坛程序。
2.1.2 WAMP 架构的优势 WAMP 架构易于开发、安全性高、适用性强、性能可靠、更新速度快、成本低,WAMP 被许多开发者视为“黄金组合”。
由于 Apache 是免费的,此外还有
免费数据库 MySQL 服务器和
开源语言
PHP 共同构建了广受追捧的“WAMPLAMP”套件,性价比极高,因此赢得了网站开发人员的广泛青睐。
2.1.3 WAMP 架构的研究现状 在今天,全球已有 2000 万个网站使用
PHP,包括最流行的雅虎、Google、百度,也包括像汉莎航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统,甚至军队系统这类五花八门和苛刻的环境。
随着社区 BBS 及 Web2.0 应用的普及,以及国内
PHP 技术支持者的不断增加,据 PHPChina 资料统计在中国前 200 名的网站中有 61的采用了 WAMP 技术。
业内人士预计,在服务器平台及软件方面,WAMP 市场占有率将在未来两年内取得更高的市场分额。
2.2
PHP 技术2.2.1
PHP 技术概述
PHP 全称为 Personal Home Page,是一种跨平台的服务器端脚本技术。
于 1995年开始发行使用,到 1998 年成为一个成熟的软件产品。
它最初是一个人为了写他的主页而用 Perl 写的“包装”程序,后来因为用的人多了,就发展了起来。
现在
PHP已经成为最流行的 Web 脚本语言之一,它运行在 Web 服务器端,根据用户请求或服 共 42 页 第 3 页务器端的数据产生动态网页。
它功能强大,和 HTML 脚本融合在一起,并内建访问数据库的能力。
它能够作为 Apache Web 服务器的模块执行,也使得它的执行效率要高于普通的 CGI 程序。
PHP 是编程语言和应用程序服务器的结合,
PHP 和其它的编程语言类似,使用变量存储临时数值, 使用操作符处理变量。
PHP 的真正价值在于它是一个应用
程序服务器,应用程序服务器是指一个把几个不同的技术组合为一个完整的套件的程序,这些技术包括:一个强壮的编程语言;存取数据库中存储的数据;支持 Internet 协议,尤其是电子邮件和 HTTP 协议。
PHP 大量借用了 C、Java、和 Perl 语言的语法,并加入了各种
PHP 自己的特征,使 Web 开发者能够写出快速的动态页面。
PHP 是一种跨平台的服务器端嵌入式脚本技术。
PHP 页面是一种文本文件,是在普通 HTML 页面文件中嵌入
PHP 脚本语句,由服务器解释和翻译成普通的 HTML文件,然后传送给客户端浏览器,这一点和 ASP 一样。
PHP 脚本语句段以“lt”为开始,以“gt”为结束。
“lt”和“gt”之间的脚本语句由服务器软件调用
PHP 脚本解释引擎解释后替换为普通的 HTML 脚本。
PHP 语法和 C、Perl 的语法很相似,并主要来源于 C 语言,如控制流语句与 C几乎完全一样、变量之间的运算符与 C 的类似、函数定义和调用与 C 的类似等。
PHP的变量名前面必须有一个号,如Var1、Var2。
PHP 的变量作用域规定也类似于 C,即缺省认为主函数中的变量是全局变量,而函数中的变量都是局部变量。
在
PHP 中,echo 和 printf 函数用来向
HTML 页面中输出 HTML 内容, 其中 echo 输出无格式字符串 , printf 输 出 格 式 化 的 字 符 串 。
如 echoquotwelcome you to come herequot 和printfquotsdquotstr1int1。
2.2.2
PHP 技术特点 现在通常用的服务器端脚本技术是 CGI。
现有的 Web 后台程序,绝大多数采用下列几种技术编写:Perl 或采用第三方解决方案(如 ASP) ,虽然每类方案都有各自的强项但均不是理想的解决办法。
Perl 编写 CGI 是使用得最多的方法,在网络上也有很多现成的脚本可以拿来修改使用,但它却存在公认的性能问题:由于 Web 服务器运行时需调用解释程序解析
代码, 当站点的访问人数激增时,Web 服务器的性能也必将直线下降,另外则是它的数据库连接功能非常弱,某些情况下甚至还会降低数据库的存取速度。
如 第三方厂商提出了较好的解决
方案: Microsoft 的 ActiveServerPage。
它具有运行速度快,数据库操作功能强大等特性,受到了许多开发者的欢迎,但它们只能单纯地运行于个别平台NT,对要求更高回应率的网站来说大多数大中型网站均建于 Unix 或 Linux 平台,Apache 系列 Web 服务器还是不能顺利采用(注:目前已有人提出这两种技术在 Unix 系列平台上应用的方案,但要么是不具备源技术的全部优秀功能,要么就是只能应用于个别 Unix 平台) 。
1997 年,
PHP 开发小组在原
PHP/FI2.0 的基础上,开发出了全新的
PHP3,免费让所有人使用和(或)更改解释器源
代码。
相对于传统的 CGI 语言,
PHP 拥有下列超群的特性:1易学易用:
PHP 的语法结构大部分借用了 C、
Java、Perl 的好的语法框架,有以上编程经验的开发人员可快速地掌握投入实际使用。
共 42 页 第 4 页2运行速度快:
PHP 采用 HTML 内置标记技术,解释程序本身作为 Web 服务器的一个模块运行,相当大地提高了运行时的解析速度。
经测试表明,在 Web 站点访问量非常大时,
PHP 的解析速度相当于传统 CGI 程序的 4 倍,非常适合大中型站点的应用。
3跨多个平台:目前
PHP 可在 Windows、Unix、Linux 的 Web 服务器上正常运行,支持 IIS,Apache 等通用 Web 服务器,用户更换平台时,无需变换
PHP 代码,可即拿即用。
4效率高:和其它的解释性语言相比,
PHP 系统消耗较少的系统资源。
当
PHP 作为Apache Web 服务器的一部分时,运行
代码不需要调用外部二进制程序,服务器解释脚本不需要承担任何额外负担。
5开放源码:所有的
PHP 源码都可以得到。
6没有运行费用:
PHP 是免费的。
7基于服务器端:由于
PHP 是在 Web 服务器端运行的,
PHP 程序可以很大、很复杂而不会降低客户端的运行速度。
8嵌入 HTML:因为
PHP 语言可以嵌入到 HTML 内部,所以
PHP 容易学习。
9简单的语言:和 Java 和 C不同,
PHP 语言坚持以基本语言为基础,然而它的功能也强大到足以支持任何类型的 Web 站点。
10极其强大的数据库支持:
PHP 最强大也最有代表性的特点在于它的数据库层,它内置了对很多数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。
目前所支持的数据库有 Oracle、Sybase、FilePro、mSQL、Velocis、MySQL、In-formix、Solid、dBase、ODBC、Unix、dbm、PostgreSQL、MSSQLSERVER 等。
针对每个数据库都有一组函数用于数据库访问和操作,如对 MySQL 有 mysql_close、my
sql_connect、
mysql_create_db、mysql_db_query 等函数。
11文件存取:
PHP 有许多支持文件存取的函数。
12文本处理:
PHP 有许多函数处理字符串,其中包括模式匹配的能力。
13复杂的变量:
PHP 支持标量、数组、关联数组等变量,这给用户提供了以支持其它的高级数据结构的坚实基础。
14图像处理:用户可以使用
PHP 动态地创建图像。
2.3 MySQL 数据库技术2.3.1 MySQL 数据库概述 MySQL 是一个小型关系型数据库
管理系统,开发者为瑞典 MySQL AB 公司。
目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。
由于其体积小、速度快、总体成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了 MySQL 作为网站数据库。
MySQL 的特性:1核心程序采用完全的多线程编程。
线程是轻量级的进程,它可以灵活的为用户提供服务,而不用浪费过多的体统资源。
2可运行在不同的平台上。
3它有一个非常灵活且安全的权限和口令系统,当客户与一个服务器链接时,它们之间所有的口令传送被加密, 而且它允许基于主机的认证。
共 42 页 第 5 页4它拥有一个非常快速的基于线程的内存分配系统,而且没有内存漏洞,所以可以不断地使用而不用担心其稳定性。
事实上,它的稳定性足以应付一个超大规模的数据库,如跨国公司的处理流程。
5
PHP 的强力支持。
PHP 中提供了一整套的 MySQL函数,用来对 MySQL 进行支持。
与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL 是开放源码软件,因此可以大大降低总体成本。
相对说来,MySQL 内定最大连结数为 100 个使用者。
但是,我们绝对不可以用一个程序的内建设定来判断它的效能。
到目前为止,我们还没听说过使用 MySQL的较大而且访问频繁的网站上的用户有任何抱怨。
2.3.2 MySQL 图形管理工具---phpMyAdmin MySQL 的标准操作全部是在字符界面下的,这样可能会让习惯图形界面的用户觉得不友好。
因此出现了一些非命令行方式的管理 MySQL 的工具。
使用最多的 MySQL 管理工具是 phpMyAdmin。
phpMyAdmin简称 PMA是一个用
PHP 编写的在网络上直观管理 MySQL 数据库的软件,是众多 MySQL 管理员和网站管理员的首选数据库维护工具,通过 phpMyAdmin 可以完全对 MySQL 数据库进行操作,例如建立、复制、删除数据等。
phpMyAdmin 的主界面如图 2.1 所示。
图 2.1 phpMyAdmin 主界面2.4 论坛采用 B/S 架构
PHP 采用浏览器/服务器B/S模式架构。
所谓 B/S 结构,就是通过浏览器(Browser)来访问服务器(Server)上的内容,客户端不需要运行其他软件。
B/S 结果的优点是维护方.