毕业设计(论文)PHP网络论坛的设计与实现源程序.doc

上传人:laozhun 文档编号:3976872 上传时间:2023-03-30 格式:DOC 页数:38 大小:2.28MB
返回 下载 相关 举报
毕业设计(论文)PHP网络论坛的设计与实现源程序.doc_第1页
第1页 / 共38页
毕业设计(论文)PHP网络论坛的设计与实现源程序.doc_第2页
第2页 / 共38页
毕业设计(论文)PHP网络论坛的设计与实现源程序.doc_第3页
第3页 / 共38页
毕业设计(论文)PHP网络论坛的设计与实现源程序.doc_第4页
第4页 / 共38页
毕业设计(论文)PHP网络论坛的设计与实现源程序.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)PHP网络论坛的设计与实现源程序.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)PHP网络论坛的设计与实现源程序.doc(38页珍藏版)》请在三一办公上搜索。

1、本 科 毕 业 论 文 网络论坛的设计与实现Design and Implementation of a simple forum全套源代码,联系 153893706学院名称: 电气信息工程学院 专业班级: 电科0801 学生姓名: 指导教师姓名: 指导教师职称: 2012年 6 月目录第一章绪论11.1研究前景及意义11.2研究现状1第二章总体方案设计32.1 系统架构32.1.1 B/S模式32.1.2 MVC模式32.1.3 系统构成32.2总体设计42.1.1需求分析42.1.2 系统设计42.3 开发环境和工具62.3.1 开发环境62.3.2 PHP简介72.3.2 ThinkPH

2、P简介8第三章数据库技术93.1 MySQL数据管理系统93.2 SQL语句93.3 ThinkPHP访问数据库103.3.1 直接用SQL语句访问数据库103.3.2实例化基础模型类访问数据库113.3.3实例化自定义模型类访问数据库12第四章详细设计134.1功能概要134.2 数据库设计134.2.1 用户信息表设计:144.2.2 论坛类别信息表154.2.3 版块信息表154.2.4 主题信息表164.2.5 回帖信息表164.2.6 系统设置信息表164.2.7 附件信息表174.2.8 登录日志信息表17第五章系统实现185.1 首页设计185.2 主页设计185.3 类别页设计

3、205.4 板块页设计205.5 帖子内容页面设计215.6 发帖页面设计235.7 注册页面设计255.8 登录页面设计255.9 找回密码页面设计265.10 设计总结28结论29致谢30参考文献31 网络论坛的设计与实现摘要 随着Internet技术的快速发展,人与人之间交流方式逐渐增多。网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了在线论坛。在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。开发BBS论坛系统的

4、目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社区。因此,BBS论坛系统最基本的功能是发表主题,然后是其他人员根据主题发表自己的看法即回帖。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题和回帖信息。本论坛基于ThinkPHP实现,利用ThinkPHP框架提供的MVC模式分三层实现。关键词 在线论坛 PHP ThinkPHP MySQL BBS Design and Implementation of a web forumAbstract With the rapid

5、 development of Internet technology, means of communication between people is gradually increasing. Video, web chat, blog have become the main forms of exchanging information with each other. In addition, in order to allow people in a professional field to probe into questions and make comments, Int

6、ernet on-line forums have emerged. At the forum, people can put forward their own particular problems encountered in the field, a subject that is issued, then the rest of the forum ,making comments or raise problems based on their knowledge and experience.BBS forum system aims to provide a communica

7、tion platform for the user, for the majority of users to exchange experiences and explore issues of community. Therefore, BBS forum system is the most basic function of the first keynote, followed by other officers to express their views on the theme. In addition, in order to record the release of t

8、he theme and the theme of the respondents information systems also need to provide users registration and login function. Only registered users can log on and release publications and reply to topics, visitors (tourists) can only view topic information and replies. This forum is based on ThinkPHP,wh

9、ich provides MVC framework.Key words Online Forum PHP ThinkPHP MySQL BBS 第一章 绪论1.1 研究前景及意义BBS在国内一般称作网络论坛,早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算软件、硬件、Internet、多媒体、程序设计以

10、及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力。BBS作为一种对外的展示窗口,进行内外信息交流,已成为大众的广泛需要。为了进行更好的交流,用户想就自己的专业和爱好能和其他的用户进行及时专业的交流,这就有了论坛,这样以来我们就可以在网络这个虚拟的空间中方便地实现交流,BBS论坛是我们在这个地球村中生活的重要交流工具。1.2 研究现状Web2.0的时代已经到来,web2.0与传统的万维网之间最主要的区别就是用户和用

11、户、产品供应商和企业之间更大的协作。Web1.0时代,论坛社区基本满足网民信息生活的需求,web2.0时代论坛社区呈现出巨大的商业价值。当社区用户数量达到引爆点后,社区流量将开始飞快成长,远远大于web1.0网站的流量增长速度。伴随着web2.0时代的到来,BBS将朝着以下两个方面发展:(1)BBS论坛系统将朝着即时性方面发展。现在动态网站出现一门新技术ajax。在ajax之前,页面的部分数据需要更新时必须刷新整个页面。而使用ajax技术的网站,不需要刷新页面就可以更新数据,这就使web站点看起来是即时响应的。将来可以把ajax技术运用到BBS论坛系统当中,使论坛成员在不用刷新页面时就可以看到

12、别人刚刚发的帖子。 (2)BBS论坛系统也将朝着图形化方向发展。图形虚拟社区可以非常具体和形象化的模拟整个现实社区的生活,并且具备无限的可扩充性。在论坛中你甚至可以找到和现实生活完全对应的建筑。通过一根网线就可以把远在天南海北的朋友聚到一起。试想,你可以通过外形的不同来区分不同社区的朋友而不是通过ID。你甚至可以通过外形的不同来猜测对方的性格,这些都是传统虚拟社区所不具备的特点。第二章 总体方案设计2.1 系统架构2.1.1 B/S模式B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面

13、是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。优点是不需要客户端软件的支持,简化了编程模型,客户端直接由用户使用的浏览器来实现。本论坛采用B/S结构设计,前台论坛部分和后台论坛管理都全部由在浏览器上实现,方便使用。 2.1.2 MVC模式MVC是三个单词的缩写,分别为: 模型(Model),视图(View) 和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑和数据访问,通常可以用后

14、台服务器端语言(如:PHP,JAVA等)来实现。 View层用于与用户的交互,通常用前台的脚本语言(如:html,css,javascript等)来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映 射为模型层可执行的操作,一般也在后台服务器端语言来实现。本论坛基于ThinkPHP实现,ThinkPHP已经实现MVC的分层,使用时分别实现三层可以很方便的使用MVC模式。2.1.3 系统构成系统主要由两部分组成,前台论坛,和后台的系统管理。前台包括论坛的普通用户可以使用的所有功能:用户访问论坛前

15、台页面后,可进行查看版面下跟贴信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看跟帖信息、用户注册等功能。用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。后台的功能完成管理员或者版主需要使用的功能:进入后台,可进行论坛类别的管理、版面管理和用户管理等的操作。两个部分都分别由MVC模式实现。2.2总体设计2.1.1需求分析开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法1。此外,为了记录主题的发表

16、者和主题回复者的信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题和回复信息。根据用户的需求及以上的分析,BBS论坛需要具备前台功能和后台功能。(1)系统前台功能:显示各论坛类别及版面、查看版面下所有跟帖、查看精华帖子、查看自己发表的帖子、搜索帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子。(2)系统后台功能:进入后台、论坛类别管理、论坛版快管理、用户管理。操作方式:全部操作都可以基于浏览器进行。2.1.2 系统设计2.1.2.1 前台功能结构用户访问论坛首页面后,可进行查看版面下跟贴信息、查看自己发表的帖子、查看精华帖子

17、、搜索帖子、查看跟帖信息、用户注册等功能。用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。前台功能结构图如图2.1所示。图2.1 BBS前台功能结构图2.1.2.2 后台功能结构若用户的权限为管理员,则可进入后台,可进行论坛类别的管理、版面管理和用户管理的操作。后台功能结构图如图2.2所示。图2.2 BBS后台功能结构图2.1.2.3 系统后台流程图BBS论坛的系统后台流程图如图2.3所示。图2.3 BBS论坛系统后台流程图2.1.2.4 系统前台流程图BBS论坛的系统前台流程图如图2.4所示。图2.4 BBS论坛的系统前台

18、流程图2.3 开发环境和工具2.3.1 开发环境在开发此论坛的时候,需要具备下面的软件环境服务器端: 操作系统:windows 7。 Web服务器:Apache 2.2.21。 Php版本:php 5.3.8。 数据库服务器:MySQL 5.5.16。 数据库管理软件:Navicat for MySQL 10.0.11。 浏览器:Firefox 12。 分辨率:最佳效果为1024768像素。客户端: 浏览器:IE9.0及其以上版本或firefox 4及其以上版本。 分辨率:最佳效果为1024768像素。2.3.2 PHP简介PHP 于1994年由Rasmus Lerdorf创建,刚刚开始只是一

19、个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine5。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。2008年PHP 5成为了PHP唯一的有在开发的PHP版本。目前,PHP 5.4版本已经发布。PHP的特性包括:1、开放的源代码:所有的PHP源代码事实上都可以得到。2、P

20、HP是免费的。和其它技术相比,PHP本身免费。3、php的快捷性程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。4、跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。5、效率高:PHP消耗相当少的系统资源。6、图像处理:用PHP动态创建图像7、面向对象:在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。8、专业专注:PHP支持脚本语言为主,同为类C语言。PHP 独特的语法混合了 C、Java、Perl 以及 PH

21、P 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。2.3.2 ThinkPHP简介ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式

22、,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现。ThinkPHP的分层架构采用三层架构模式: 表现层:包含模板视图、用户界面、JS、Flash等通过模板引擎的支持,可以使用标签定义简化表现层的定义工作。业务层:包含业务接口层、业务逻辑层、实体层、数据访问层Action控制器作为业务接口层,提供系统各种业务操作的入口。因此,不提倡在控制器类中写过多的业务逻辑代码,虽然说很难严格控制。具体的业务逻辑应该封装到数据访问对象(Dao)类中实现,如

23、果觉得过于复杂,还可以把子业务在Helper类中包装后统一调用。业务处理过程一般会构造出业务实体对象(如Vo对象),对业务实体对象的存取通过数据访问层完成。数据访问层把实体对象和数据库数据之间建立映射关系,并且封装了通用的数据操作。数据层:目前支持的数据库有MySql、MsSql、PgSql、Oracle、Sqlite,最新版本已经提供PDO的支持,数据库的选用和业务逻辑没有关系。第三章 数据库技术3.1 MySQL数据管理系统MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL

24、是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。如果使用合适的工具,MySQL 数据库的管理就会变得相当简单。应用 MySQL 命令行方式需要对 MySQL 知识非常熟悉,对 SQL语言也是同样的道理。不仅如此,如果数据库的访问量很大,列表中数据的读取就会

25、相当困难。phpMyAdmin 是一个用PHP编写的,可以通过 web 方式控制和操作 MySQL 数据库。通过 phpMyAdmin 可以完全对数据库进行操作,例如建立、复制、删除数据等等。Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发 工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、管理用户等。3.2 SQL语句SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新

26、和管理关系数据库系统。SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的。由此可见,SQL语句非常强大

27、。本论坛只用到了比较基本的几个语句,在这里只介绍下基本的常用的几个语句。SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。本论坛没有做过多的数据库多权限控制,所以只用到了前两种:DDL和DML。数据库模式定义语言DDL (Data Definition Language)用于定义和管理对象,例如数据库、数据表以及视图。DDL 语句通常包括每个对象的CREATE、ALTER 以及 DROP 命令。创建数据库:CREATE DATABASE database-name创建表: create table tabname(col1 t

28、ype1 not null primary key,col2 type2 not null,.)DML(Data Manipulation Language) 数据操纵语言DML 利用 INSERT、SELECT、UPDATE 及 DELETE 等语句来操作数据库对象所包含的数据。INSERT语句用来在数据表或视图中插入一行数据。例如,如果要在Customer_Data 数据表中新增一个客户,可使用类似以下的 INSERT 语句:INSERT INTO Customer_Data(customer_id,first_name,last_name,phone)VALUES (777,Franki

29、e,Stein,4895873900)UPDATE 语句用来更新或修改一行或多行中的值。例如,一位名称为 Frankie Stein 的客户想要在记录中改变他的姓氏为 Franklin,可使用以下 UPDATE 陈述式:UPDATE Customer_DataSET first_name = FranklinWHERE last_name = Stein and customer_id= 777DELETE 语句用来删除数据表中一行或多行的数据,您也可以删除资料表中的所有数据行。要从 Customer_Data 数据表中删除所有的行,您可以利用下列语句:DELETE FROM Customer

30、_Data3.3 ThinkPHP访问数据库3.3.1 直接用SQL语句访问数据库ThinkPHP框架可以通过PHP的PDO访问数据库,不过一般不会这样使用。ThinkPHP的M(模型)层提供了很方便的模式来访问数据库。实例化空模型类即可通过空模型类提供的方法来访问数据库。如: /实例化空模型 $Model = new Model(); /M快捷方法,等效的 $Model = M(); /然后就可以直接用sql语句来访问数据库了 $Model-query($sql);这里new Model()实例化空模型,M方法是ThinkPHP提供的快捷方法,方便使用者实例化模型的方法。M()在这里和new

31、 Model()是等效的。3.3.2实例化基础模型类访问数据库在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行行操作: /实例化基础模型 $User = new Model(User); /M快捷方法,等效的 $User = M(User); /然后就可以进行其他操作了 $User-select();这里访问的是t_user表中的数据(查询操作),ThinkPHP提供的还有where、order、find、limit、page、group等一系列方法以完成不同的功能,方便用户使用。这种方法最简单高效,因为不需要定义任何的模型类,所以支持跨项目调用。缺点也是因为没有自定义的

32、模型类,因此无法写入相关的业务逡辑,只能完成基本的CURD 操作。3.3.3实例化自定义模型类访问数据库这种情况是使用的最多的,一个项目不可避免的需要定义自身的业务逻辑实现,这就需要针对每个数据表定义一个模型类,例如UserModel 、InfoModel 等等。定义的模型类通常都是放到项目的LibModel 目录下面。例如, select();D 方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会实例化Model 基类,同时对于已实例化过的模型,不会重复去实例化。这里,模型类继承自RelationModel,这样再添加一个$_link定义数据库表之间多连接

33、,就可以以关联的方式访问,这样ThinkPHP就会自动完成数据库的连接操作。还可以添加其他的,完成自动验证等操作,很方便实用;本论坛就是用这样的方式访问数据库的。ThinkPHP提供了很方便实用的访问数据库的方式。极大地方便了本论坛的开发实现。第四章 详细设计4.1功能概要系统大概功能如下:系统分为两级论坛结构:类别-板块;前台功能:用户注册、用户登录、用户退出系统;浏览板块和帖子;发表帖子、回复帖子;修改个人资料。后台功能:板块管理、帖子管理、用户管理。流程图参考第二章总体设计部分。总体流程图如下:图4.1 论坛总体流程图4.2 数据库设计根据以上功能需求设计数据库,共有八张数据表:用户信息

34、表(t_user)、论坛类别信息表(t_category)、板块信息表(t_forum)、主题信息表(t_thread)、回帖信息表(t_post)、系统设置信息表(t_sttings)、附件信息表(t_attachments)、登录日志表(t_logevent)2。数据库概念模型图如下:图4.2 数据库概念结构图4.2.1 用户信息表设计:用户信息表记录用户注册时的相关信息和用户的个人资料信息,包括联系方式、真实姓名、头像等信息。Id用户名电子邮箱地址密码注册时间真实姓名个性签名头像QQ管理员用户信息表t_user:图4.3 用户信息表设计4.2.2 论坛类别信息表论坛类别信息表记录整个论坛

35、中的分类信息,包括类别名字、类别描述、类别位置、类别创建时间等。Id类别名字类别描述类别位置创建时间论坛类别信息表t_category:图4.4 论坛类别信息表设计4.2.3 版块信息表版块信息表用来记录论坛中版块的相关信息,包括所属类别、名字、描述、创建人等信息。Id所属类别版块名字版块描述版块位置创建时间创建人版块信息表t_forum:图4.5 版块信息表设计4.2.4 主题信息表主题信息表记录主题帖的详细信息,包括主题帖的标题、内容、发帖人等相关信息。Id标题内容所属版块发帖人是否置顶发表时间主题信息表t_thread:图4.6 主题信息表设计4.2.5 回帖信息表回帖信息表记录了所有对

36、主题帖回帖的相关信息,包括所属主题、发帖人等信息。Id内容所属主题帖发帖人发帖时间回帖信息表t_post:图4.7 回帖信息表设计4.2.6 系统设置信息表系统设置信息表记录对论坛的总体设置,包括论坛站点名、版权信息、管理员email等。和其他表不一样的地方是这张表只有一条数据,不需要id字段。站点名版权信息电子邮件地址备案信息系统设置信息表t_settings:图4.8 系统设置信息表设计4.2.7 附件信息表附件信息表记录用户上传的附件文件的相关信息,包括对应帖子、类型、服务器端路径。Id对应主题帖对应回帖上传用户大小类型路径下载次数上传时间附件信息表t_attachment:图4.9 附

37、件信息表设计4.2.8 登录日志信息表登录日志信息表记录用户登录的相关信息,以方便以后对用户更好的服务,包括用户id、动作(包括登录、退出等)、时间等信息。Id用户动作时间Ip地址登录日志信息表t_logevent:图4.10 登录日志信息表设计第五章 系统实现5.1 首页设计首页,显示一个带倒影的大大的logo,给游客一个简洁直观的页面。首页另外一个重要的功能,就是登录表单,用户可以方便的通过这个页面登录到主页。右上角的注册,可以给游客注册为本站用户的链接。Logo可以点击,点击后链接到主页,用户就可以浏览本站所有的贴子了。图5.1 论坛首页流程图图5.2 论坛首页效果5.2 主页设计主页使

38、用户进入论坛,或登录论坛后看到的第一个页面,该页面列出了论坛的各个分区,以及分区下的包含的各个板块。板块为可以点击的链接,点击后,进入对应版块的帖子列表页。游客身份进入主页和登录用户进入主页上方的欢迎信息不一样,游客进入的为“欢迎游客!”字样,登录用户为“欢迎您 用户名 ”和一个退出链接。其他页面(主页除外)和这个一样。如图5.3、5.4所示:图5.3 游客身份进入主页效果图5.4 登录用户进入主页效果5.3 类别页设计类别页显示对应论坛类别下的相关板块信息,可点击板块信息可以进入对应板块的主题列表。页面效果如图5.5所示:图5.5 论坛类别页面效果5.4 板块页设计板块页显示对应板块下的主题

39、帖列表,点击对应主题帖标题链接即可进入对应主题帖的讨论页面。效果图如图5.6所示:图5.6 论坛版块页面效果5.5 帖子内容页面设计版块内容页面指的是主题帖的讨论页面,显示主题帖标题、内容和回复贴的内容以及对应的用户。如图5.7所示:图5.7 论坛内容页效果图这个页面的下方是回复可以对帖子进行回复,填入回复内容单击回复即可。单击回复后流程图如图5.8所示: 图5.8 单击回复后流程图回复效果图如图5.9所示:图5.9 回复页面效果图若未登录用户即游客单击回复后,显示出错页面提醒用户登录,如图5.10所示:图5.10 回复失败的效果图5.6 发帖页面设计用户只需单击右上方的导航中的发帖链接即可进

40、入本页面;发帖页面允许登录用户发表主题帖子,通过这个页面,用户选择版块进行发帖。流程如图5.11所示:图5.11 发帖流程图发帖页面的效果如图5.12所示:图5.12 发帖页面效果未登录用户单击发帖链接后跳转到页面如图5.12所示:图5.13 未登录用户单击发帖后错误提示5.7 注册页面设计注册页面完成游客(为注册用户)注册为本站用户。注册时只需要填写必要的信息:邮箱、用户名、密码、确认密码。方便用户注册。其他信息需要通过个人资料页面来填写。注册流程图如图5.14所示:图5.14 注册流程图注册页面如图5.15所示:图5.15 注册页面效果5.8 登录页面设计登录页面让用户登录后可以回帖、修改

41、个人资料等。登录流程图如图5.16所示:图5.16 登录流程图登录页面如图5.17所示:图5.17 登录页面效果5.9 找回密码页面设计找回密码页面方便用户忘记密码后可以继续使用本系统,而不需要重新注册。找回密码只需提供邮箱即可,以注册的用户,会把用户名和密码发送到邮箱里;未注册用户,提示邮箱未注册。找回密码流程图如图5.18所示:图5.18 找回密码流程图找回密码页面如图5.19所示:图5.19 找回密码页面找回密码失败页面如图5.20所示:图5.20 找回密码失败效果图5.10 设计总结本毕业设计用ThinkPhp框架实现PHP服务器端的相关代码,这个框架用MVC结构组织代码,使用过程中我

42、也学到了有关MVC模式方面的很多知识。做完这个毕业设计,我对PHP语言和ThinkPHP框架有了更深入的理解;更重要的是我对MVC设计模式有了更深的理解,这对以后的编程思路将有很大的正面影响。客户端代码用HTML5实现,学到了很多有关html和css的相关知识。通过这次毕业设计,我从中学到了许多新的知识,而且通过这次毕业设计,培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会。结论在计算机网络飞速发展的今天,BBS已经成为人们网上交流的重要平台,因此对BBS论坛的研究是十分必要的。设计和开发了一个最基本的基于WEB的BBS系统,可扩

43、展性很大,科学的开发过程也极有利于系统的扩充与扩展。系统现在采用的是Mysql数据库,视需要可以移植到其它大中型数据库系统环境下,只需改动少数几个数据文件。系统的分析与定义都结合了现在流行的面向对象方法以及传统的结构分析与设计方法。严格按工程的方法来设计系统相当重要,不能认为基于Web的数据库管理的BBS系统很小,可以无需花太多的时间来做系统分析,甚至可以无需经过系统定义而直接进入系统编码阶段。系统分析过于简单,系统定义过于抽象,则在系统设计与编码阶段遇到的困难就越多,特别是其中若不得不做一些功能性甚至系统结构性方面的变动,将面对许多重复性的工作。在设计开发BBS论坛过程中重复工作过多,将会极

44、大地影响系统开发的积极性,进而影响整个系统的质量。在这一点上,我体会尤深。我的体会是,系统分析越充分,系统定义越具体,那么后续的系统设计与开发工作就越有效率,且系统的质量也越有保障。回顾设计开发BBS论坛的开发过程,总结起来那就是,软件的开发是相当辛苦的,但成功以后的喜悦也是非常美妙的,而且我发现,其中投入的心血越多,成功以后你所获得的快乐与充实感也更多更强。致谢经过几个月的忙碌和工作,本次毕业设计已经接近尾声,在这期间,遇到不少的困难和障碍,都在老师和同学的帮助下顺利解决了。在这里首先要感谢我的导师孙俊老师。在设计的每个阶段,孙老师都给我以指导和督促。其次要感谢我周围同学朋友的帮助,感谢他们提出宝贵的意见和建议正因为如此我才能顺利的完成设计。我要感谢我的母校江苏大学,是母校给我们提供了优良的学习环境;特别要感谢学校的图书馆,如果不是这么好的图书馆,我也许不会走向软件编

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号