《基于PHP+MySQL技术BBS论坛设计的开发与实现.docx》由会员分享,可在线阅读,更多相关《基于PHP+MySQL技术BBS论坛设计的开发与实现.docx(36页珍藏版)》请在第一文库网上搜索。
1、1引言随着Internet技术的快速发展,人与人之间的交流方式逐渐增多。网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便在某一专业领域探讨问题和发表意见,Internet上还出现了在线论坛。在论坛上,人会根据自己的学识、经验发表意见或提出解决问题的方法。通过论坛系统可以随时获得各种最新信息;也可以通过论坛系统与别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及生物学、医学等各种有趣的话题;还可以利用论坛系统来发布征友、廉价转让、招聘人才、求职应聘等启事;更可以召集亲朋好友到聊天室内高谈阔论并且现在很多商务网站开始对论坛重视了起来,纷纷在自己的网站上开
2、设论坛,作为与网民交流的空间,以此来吸引客户,服务客户。由此可见,论坛系统是一种非常必要的系统。在这个数字化时代,全世界有千千万万个网站昼夜不停地提供服务。PHP+MySQL这一对,Web应用开发的利器,在从电子商务到网络办公,从邮件服务到大型综合网站的广泛应用,都显示了其强大的功能。目前网上的网页有静态网页和动态网页两种形式。静态网页不能自动更新,更新只能通过重新编写HTML页来实现,所以静态网页的制作和维护的工作量相当大。它的内容也不会因用户、浏览时间的变化而随之变化,所以实现人机交互有相当大的局限性,功能上有太多的限制。而动态网页的实现与静态网页不同,它由客户端向服务器提出申请,服务器根
3、据用户请求,把动态网页内部的代码在服务器端进行相应的处理,再把结果发回客户端。因此,动态网页有以下特点:客户端看到的不是源文件,本身不用任何处理;不同用户、不同时间、不同地点浏览同一个网页返回的结果可以不同;动态网页只有经过用户浏览时才会返回一个完整的网页,而其本身并不是一个独立的网页文件;动态网页构建的网站维护起来比较容易,只需更新数据库内容即可。PHP本身就是一种编程语言,它是吸收了C、Java等语言的综合优势而创建开发的一种新语言。这是它与JSP、ASP的基本不同之处。PHP能够被Apache、TTS等多种服务器支持,而ASP只能被Windows系统下的TTSPWS所支持。PHP能够很好
4、的运行于Linux、UNIX、Windows.FreeBSD等多种操作系统上,ASP只能运行于Windows系统上,虽然JSP也能在多种系统下得到支持,但是必须以有Java虚拟机为前提。2系统分析2.1 需求分析BBS系统的目的提供的是一个交流平台,为广大爱好者提供交流经验,探讨问题的社区。因此,BBS最基本的功能首先是发表主题。其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者的信息,系统还需要提供用户注册和登录的功能。用户使用论坛有一定的流程:用户登录进入论坛(一般为游客,有时还要注册为会员),就某个话题(帖子的主题)展开讨论,通过发帖功能发布新的话题,通过回帖
5、功能回复已有的话题,通过搜索功能查找已有的话题。管理员通过管理功能创建、编辑、删除论坛的版块,管理注册的用户,管理帖子等。只有注册的用户登录后才能发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及上面的分析,BBS应该具备以下功能:显示各论坛类别及版面,查看版面下的所有根帖、查看自己发表的帖子、搜索帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理、用户管理和用户注册。2.2 可行性分析这里主要介绍技术可行性。该BBS的设计主要采用PHP、XML、MySQL、Dreamweaver8Eclipse等技术和工具,整体设计采用软件工程的技术和
6、方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面对这几种技术分别介绍。PHP技术PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。服务器端执行说明它是动态网页的一种,跨平台说明它可以同时运行在Linux、UNIX或者Windows0另外还可以简单地嵌入到普通的HTML页中。PHP与外P、JSP相比,它有多种服务器支持,也支持运行在多种操作系统上,另外PHP本身就是一种面向对象的编程语言。它同时支持MySQL、OracleSybase、ODBC等多种数据库。MySQL数据库MySQL是当前最流行的开放源代码数据库,它具有跨平台,独立存储引擎、高级权限与安全系
7、统、查询高速缓存、全文索引与检索等特性。MySQL是一个高性能、多线程、多用户、建立在客户-服务器结构上的RDBMS,专为速度和稳定性而设计。作为一个可靠的、富有特色的数据库系统,MySQL已经在商业、教育、科学和工程领域得到应用。并且它的低成本/高性能的价值表现也吸引了更多用户。B/S三层结构在B/S系统中,用户可以通过浏览器向分布在网络上的服务器发出请求,B/S结构极大地简化了客户机的工作,客户机只要安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。在B/S三层体系结构下,表示层、功能层、数据层被割成三个相对独立的单7Go第一层(表示层
8、)Web浏览器:在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后通过HTTP协议将数据传送给客户端,客户机接受传来的网页文件,并将其显示到Web浏览器中。第二层(功能层)具有应用程序扩展功能的Web服务器:在功能层中包含系统的事物的处理逻辑,位于服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,等数据库服务器将处理结果提交给Web服务器后,再由Web服务器传回客户端。第三层(数据层):数据库服务器:在数据层中包含数据处理逻辑
9、,位于数据库服务器端。它的任务是接受Web对数据库操作的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。在B/S结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理及动态加载等工作都集中于应用服务器。同时,由于工作集中,可以降低客户机的管理难度及客户机配置。仅仅提高应用服务器和数据库服务器的品质,就可以提高整个系统的运行效率,从而有效地降低了应用系统的部署与管理的难度。XML工作原理XML全称为可扩展的标志语言,类似于HTML语言。XML作为描述信息的语言保存数据,可以使用XSL或CSS来格式化这些数据,使之以某种形式显示在浏览器上。还可以通过解释器用编程的
10、方法载入一个XML文档,再通过XMLDOM(XML文档对象模型)访问、更新、创建和操纵该XML文档的信息3系统设计3.1系统目标对于典型的数据库管理系统,尤其是对论坛这样数据流量特别大的网络管理系统、必须要满足使用方便、操作灵活等设计需求。本系统在设计时应满足一下几个目标:/采用人机对话的操作方式,界面设计美观友好,信息查看灵活方便、快捷准确。数据存储安全可靠。/全面展示系统内所有分类的帖子,并进行分别显示。/为用户提供一个方便快捷的主题信息查看功能。/实现在线发表帖子、回复帖子的功能。/提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。,用户随时都可以查看自己发表的帖子。/对
11、于用户输入的数据,要进行严格的检验,尽可能排除人为的错误。/系统最大限度的实现易维护性和易操作性。/系统运行稳定、安全可靠。3.2 系统功能模块设计按照论坛系统的功能可以将本系统分为前台和后台两大模块。用户在前台注册、登录,以及编辑个人的注册信息组成登录注册模块;用户浏览版块、浏览主题帖列表、查看帖子以及按条件搜索组成搜索模块;用户发帖、回帖组成发帖回帖模块;用户编辑、删除帖子组成编辑删除模块。以上四个模块是前台模块。后台模块都是与管理员相关的,其中管理员将管理选项、权限设置、删帖管理设置为版面管理模块;将备份数据库、配置选项、文字过滤、表情符号和恢复数据库设置为普通管理模块;将版面的整体风格
12、设置为风格管理模块,有新建、添加、输出和管理几个方面;将封锁管理、禁用账号、权限设定和等级管理设置为会员管理模块。后台模块也分为四个。如图所示。论坛系统前台模块后台模块登录注册模块发帖回帖模块编辑删除模块搜索模块版面管理模块普通管理模块风格管理模块会员管理模块下面具体介绍各个模块的功能3.2.1 2.1登录注册模块登录模块包括以下的几个部分。登录:一般网站都具有的功能,提供会员登录到论坛窗口的功能。注册:提供游客成为会员的功能,这样可以享受更多的权限。游客只能浏览帖子,而会员不仅可以浏览帖子,还可以回复和发表帖子。编辑会员信息、:当注册的用户用其注册时使用的用户名和密码登录论坛系统后,可以对其
13、注册时填写的资料进行编辑更改。3.2.2 发帖回帖模块包括以下几个部分。发帖:论坛的基本功能之一。会员可以就某个感兴趣的话题发表自己的看法,即发帖。回帖:论坛的基本功能之一。会员可以答复其他人提出的问题、看法等,即回帖。3.2.3 编辑删除模块包括:编辑,会员可以对自己发表过的帖子进行重新编辑修改;删除,会员当然可以删除自己发表的帖子。3.2.4 搜索模块包括:按关键字搜索,搜索功能的一种,按照帖子相关的内容关键字搜索;按作者名搜索,可以直接搜索其他某个会员发表的帖子。3.2.5 版面管理模块包括以下几个部分。管理选项:在管理选项中,管理员可以分别对版面和分区进行编辑。管理员可以对版面进行添加
14、、编辑、删除和移动操作,还可以对分区进行添加、编辑、删除和移动操作。(一个论坛可以分成许多分区,一个分区又有许多版面,一个版面还可以分成许多主题。)权限设定:在权限设定中,管理员可以设置访问分区或版面的权限,权限有公开、注册会员、注册会员隐藏、非公开、非公开隐藏、长老、长老隐藏。删帖管理:在删帖管理中,管理员可以计划删除几天内没有得到回复的主题。(假设在10天内某个主题还没有回复,系统则自动删除此主题,管理员只需要设置天数就可以了。)3.2.6 普通管理模块包括以下几个部分。备份数据库:管理员可以对本系统的所有资料数据进行备份,以防数据的丢失。备份分完整备份、结构备份和数据备份。恢复数据库:在
15、系统遭到攻击崩溃时,可以使用恢复数据库功能对系统的数据重新回复。文字过滤:在这个控制面板里管理员可以建立、编辑及删除过滤文字。这些指定的文字将会被过滤并以替换文字显示。另外会员也将无法使用含有这些被限定文字的名称来注册。配置选项:在这个控制面板里管理员可以对面板的基本内容进行设置,还可以进行Cookies设置、会员设置和私人留言设置等。群体信件:在这个控制面板里管理员可以发送电子邮件给所有的会员。表情符号:这个控制面板中管理员可以对发帖、回帖时使用到的表情符号进行编辑或删除操作。3.2.7 会员管理模块包括以下几个部分。封锁管理:这个控制面板中管理员可以对会员的信息进行封锁,比如说可以封锁一个指定的会员,一个指定范围内的IP地址或计算机主机名称,这些方法禁止被封锁的会员进入论坛首页。也可以指定封锁电子邮件地址来防止注册会员使用不同的账号重复注册。管理选项:在这个控制面板中管理员可以变更会员的个人资料以及现存的特殊选项。禁用账号: