基于php语言的论坛开发设计论文.docx
《基于php语言的论坛开发设计论文.docx》由会员分享,可在线阅读,更多相关《基于php语言的论坛开发设计论文.docx(27页珍藏版)》请在冰豆网上搜索。
基于php语言的论坛开发设计论文
XXXX大学
毕业论文(设计)
题目:
基于php语言的论坛开发设计
姓名:
学号:
系别:
专业:
年级:
指导教师:
xxxx年xx月xx日
摘要
基于人类的科学技术水平不断提高,通畅快捷的信息沟通渠道变成现代社会的必需品,无论是企业之间,教育机构之间,政府之间都需要信息交流,没有任何一个社会群组可以缺失它。
而网上讨论区—论坛(BBS)这个产物就因此而生,是一种至关重要的信息交流的快速渠道。
论坛和互联网上的其他的信息一样,有一些特点:
动态变化性强,容庞杂,围广等。
交互性和时效性是其中最关键的特点。
交互性是一个比较广泛的概念,运用不同的领域其含义是不同的。
交互性主要运用于计算机与多媒体领域,而论坛的交互性是指用户可以参加论坛息交流这个过程,可以在论坛中发布自己想发布的信息并得到其他用户的与时反馈,也可以参与到别人发布的信息中去,这样便可以让用户们与时,便捷地交流与互动。
而论坛的交互性也促进着论坛的时效性,尤其是专业技术论坛中,人们可以与时地了解获取到现下某一行业的最新发展,这样无疑是促进了时代进步。
而本论坛系统为生活论坛,通过帮忙***从而结识校友。
为了记录校友们曾发表过的信息以与发表信息的用户,需要实现注册以与登陆功能。
未登陆的校友只被允许浏览帖子,只有注册并登陆用户的校友才被允许发表帖子以与回复帖子。
本文根据本论坛系统分为以下几个部分:
第一部分,本论坛系统的开发背景以与开发环境和工具。
第二部分,本论坛系统的需求分析以与功能阐述。
第三部分列出各个功能,本论坛系统设计的数据库设计。
第四部分,本论坛系统的页面设计。
第五部分,详细说明如何实现本论坛系统功能。
最后完成本论坛系统。
关键词:
论坛(BBS);PHP;MySQL
Abstract
Basedonhumanscienceandtechnologyhasimprovedcontinuously,smoothandefficientcommunicationchannelsbecomenecessitiesofmodernsociety,whetherbetweenbusinesses,betweeneducationalinstitutions,exchangeofinformationbetweenthegovernmentrequiresthatnoonesocialgroupmaybemissingit.Theonlinediscussionforum-Forum(BBS)Thisproductisthusborn,isavitalchannelforrapidexchangeofinformation.
ForumsandotherinformationontheInternet,thereareseveralcharacteristics:
strongdynamicchanges,thecontentsofcomplexandwiderange.Interactivityandtimelinessisoneofthemostcriticalfeatures.Interactivityisabroaderconcept,theuseofdifferentareasofitsmeaningisdifferent.Mainlyusedincomputersandinteractivemultimedia,andinteractiveforumsmeansthatuserscanparticipateintheforumforinformationexchangeinthisprocess,theywanttobeabletopublishtheinformationpublishedintheforumsandgettimelyfeedbacktootherusers,youcanalsoparticipateintheothersreleaseofinformationtogo,sothatwecanallowuserstopromptlyandeasilyexchangeandinteraction.TheforumalsopromotesinteractionwiththetimelinessoftheForum,especiallyprofessionalandtechnicalforums,peoplecangettimelyinformationonthelatestdevelopmentofaportfolioofdiversifiedindustries,sonodoubtcontributedtotheprogressofthetimes.Andforthelifeoftheforumthisforumsystem,throughthehelpofalumnipackeddiningthusacquainted.Torecordthealumnihavepublishedinformationandpublishuserinformation,youneedtorealizeregistrationandlandingcapabilities.Nologinisonlyallowedtobrowsepostsalumnionlyregisterandlogtheuser'salumniareallowedtopublishpostsandreplytoposts.
Thispaperisdividedintothefollowingsectionsofthisforumsystembasedon:
Thefirstpartoftheforumsystemdevelopmentbackgroundandthedevelopmentenvironmentandtools.Thesecondpartoftheforumsystemneedsanalysisandfunctionalelaboration.Thethirdsectionliststhevariousfunctionsoftheforumsystemdesigndatabasedesign.Thefourthpartoftheforumsystempagedesign.Thefifthpart,adetaileddescriptionofhowtoimplementthisforumsystemfunctions.Finalizationoftheforumsystem.
KeyWords:
OnlineForum;BBS;PHP;Mysql
1绪论
1.1开发背景
1.1.1网络论坛系统
网络论坛系统(BBS—BulletinBoardSystem),电子布告栏系统。
是一个网络交流互动的平台,简单,易于操作。
在我们生活的各个方面发挥着至关重要的作用,信息时代不可或缺的一种信息交流的快速渠道。
论坛系统主要包括以下模块,用户登录模块,其中涉与到检验注册信息是否正确以与用户名是否重复等相关功能实现,用户登录模块,只要登录的校友才可以发表帖子以与回复帖子,未登陆的游客的权限仅是浏览帖子。
以与帖子编辑模块,包括发表帖子,回复帖子。
用户信息管理模块,修改密码以与更新头像。
以此来实现论坛系统的功能与作用。
1.1.2国论坛现状
国的论坛处于一个不断发展的阶段,论坛的类型多种多样,商业型,生活型,娱乐型以与混合型等。
纯商业型的BBS盈利手段通常是注册免费,但需要获取资源或者浏览精华帖子需要变相付出相应的利益代价,但盈利并不明显。
在这个信息时代,获取信息以与资源的途径多种多样,可谓是“条条大路通罗马”,因此纯商业型的BBS想要盈利道阻且长。
相反,娱乐型,生活型的BBS更为受欢迎,贴主通常为网友志愿者,他们付出自己的精力,时间甚至是创意为他们感兴趣的论坛的运营做出巨大贡献。
而根据BBS的类型与风格等,选择不同的开发语言,现在常用的asp、jsp、php、.net等语言,目前最火的开发语言是php+Mysql,但未来的趋势应该是.net。
1.2开发工具
1.2.1WampServer
Wamp就是WindowsApacheMysqlPHP集成安装环境,即在window下的apache、php和mysql的服务器软件。
Wamp是由法国人开发的ApacheWeb服务器,在windows环境下可以有Apache+php+Mysql的集成环境。
一开始我使用的是APMSERV,但相比Wamp后,选择了Wamp。
Wamp不需要繁琐的配置过程,主要减少了初学者的开发成本也鼓舞了初学者,使得初学者可以花费更多的时间在开发上。
并且这个Wamp软件是免费的,下载的途径多,方便。
1.2.2EditwithNotepad++
EditwithNotepad++是一款很有特色的编辑器,无论你是用什么语言都适用,置支持多达27种语言高亮度显示,其中包括了常见的脚本,源代码,还支持自定义语言。
也可以自动检测文件的类型根据关键字显示节点,节点可自由折叠/打开,还可显示缩进引导线,代码显示得很有层次感。
可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例。
提供了一些有用工具,如邻行互换位置、宏功能,等。
可显示选中文本的字节数,而不是一般编辑器所显示的字数,这在某些情况下,比如软件本地化很方便。
1.2.3AdobeDreamweaverCS4
Dreamweaver是美国MACROMEDIA公司开发(后被Adobe公司收购)的集网页制作和管理于一身的所见即所得网页编辑器。
CS4版本的主要变化在于设计页面,实时视图,代码提示,以与集成编码功能的增强,CSS的做法优化以与支持增强还有Dreamweaver的社区增强,跨产品的集成增强,易于安装,易操作。
1.3开发技术
1.3.1PHP
PHP(外文名:
HypertextPreprocessor,中文名:
“超文本预处理器”)是一种通用开源脚本语言。
语法包含了C语言、JAVA和Perl的特点,相对于java来学更加简单,利于学习,使用围广,非常适合用于Web的开发,许多大型都有使用到php进行开发,如XX(前端),网易(大部分),soho等大型均能看到php的身影。
多数的操作系统与服务器都支持php语言,最重要的一点是php是完全免费的一款语言。
1.3.2mysql
MySQL是一个精巧的开放源代码的关系数据库管理系统。
,而且是开源的数据管理系统。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以与精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,比如维基百科、Google和Facebook。
特别是与Apache和PHP/PERL结合,为建立基于数据库的动态提供了强大动力。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。
2系统需求分析
2.1可行性分析
一般来说需求分析处于各个项目之前,可以说是各个项目的指南针,方向标。
只有知道了这个系统是否被需要,我们才能开始着手开发这个项目。
确定了做什么项目后,我们就得着手了解调查用户对本项目系统的需什么,需要什么功能,什么样的界面会受到用户的欢迎,什么样的设计会使得更好操作。
需求分析工作做得好坏,直接影响项目系统的好坏。
可以说需求分析是一个项目系统的灵魂,一个好的项目系统,一定有一个好的需求分析。
将用户需求精确化,为用户可能遇到的问题作出准备和改善,完善用户需求,提高用户满意度是系统需求分析的关键。
2.1.1社会可行性分析
这个信息时代,网络几乎等同于水和空气,已经是人们日常生活中必不可少的一部分,我们甚至无法想象没有网络的生活状态,人们在网络上浏览信息,交流互动,而论坛就是因此而生,本论坛系统属于生活娱乐型论坛,被人们需要,具有社会可行性。
2.1.2技术可行性分析
信息时代也就意味着快速发展的时代,无论是软件还是硬件都在快速发展,技术可行性分析就是分析自己和大众的硬件水平,软件水平能不能满足开发工作,运行工作。
本系统采用php+mysql进行论坛系统开发,php是时下最受欢迎的语言之一,易于学习,掌握,运用,mysql精巧,易于操作,能够存储大量的数据,以与进行数据的处理,十分具有灵活性的同时也具有安全性。
由此可见,软件方面的技术水平已经十分成熟,具有可行性。
由于科学技术水平不断提高,硬件质量不断提高,各生产商竞争激烈,导致硬件的价格不断降低。
由此可见,硬件方面的具有可行性。
综上所述,本论坛系统在技术上具有可行性。
2.1.3经济可行性分析
对项目的经济效益进行评估就是经济可行性分析。
基于人类的科学技术水平不断提高,通畅快捷的信息沟通渠道变成现代社会的必需品,无论是企业之间,教育机构之间,政府之间都需要信息交流,没有任何一个社会群组可以缺失它。
而网上讨论区—论坛(BBS)这个产物就因此而生,是一种至关重要的信息交流的快速渠道。
本论坛系统模拟为****大学的校友提供一个交流互动的平台,通过互相帮忙***来促进校友间的交流与互动,增进校友间关系的友好,为促进校园和谐献出自己的微薄力量。
而实际上此论坛系统仅仅用于个人毕业设计,不存在资金方面的问题,因此,本论坛系统具有经济可行性。
2.2系统需求分析
2.2.1开发环境选择
PHP是一种通用开源脚本语言。
语法包含了C语言、JAVA和Perl的特点,相对于java来学更加简单,利于学习,使用围广,非常适合用于Web的开发,许多大型都有使用到php进行开发,如XX(前端),网易(大部分),soho等大型均能看到php的身影。
多数的操作系统与服务器都支持php语言,最重要的一点是php是完全免费的一款语言。
MySQL是一个精巧的开放源代码的关系数据库管理系统。
,而且是开源的数据管理系统。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以与精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,比如维基百科、Google和Facebook。
特别是与Apache和PHP/PERL结合,为建立基于数据库的动态提供了强大动力。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。
Dreamweaver是美国MACROMEDIA公司开发(后被Adobe公司收购)的集网页制作和管理于一身的所见即所得网页编辑器。
CS4版本的主要变化在于设计页面,实时视图,代码提示,以与集成编码功能的增强,CSS的做法优化以与支持增强还有Dreamweaver的社区增强,跨产品的集成增强,易于安装,易操作。
2.2.2功能需求分析
一般来说需求分析处于各个项目之前,可以说是各个项目的指南针,方向标。
只有知道了这个系统是否被需要,我们才能开始着手开发这个项目。
确定了做什么项目后,我们就得着手了解调查用户对本项目系统的需什么,需要什么功能,什么样的界面会受到用户的欢迎,什么样的设计会使得更好操作。
需求分析工作做得好坏,直接影响项目系统的好坏。
可以说需求分析是一个项目系统的灵魂,一个好的项目系统,一定有一个好的需求分析。
将用户需求精确化,为用户可能遇到的问题作出准备和改善,完善用户需求,提高用户满意度是系统需求分析的关键。
论坛在线系统的主要使用者是xxx校友,为广大校友提供一个在线的网络交流平台,而校友通过发表帖子来和其他校友交流互动,其他校友可以回复帖子参与到帖子的讨论中去。
帖子的数量以与精华度是这个论坛系统的核心。
而游客,即为登录账户的校友,只有查看帖子的权限。
当一位校友完成注册并登陆时才可以发表帖子以与回复其他校友的帖子。
根据以上分析,本论坛系统的功能如下。
论坛系统功能:
显示论坛版面、查看论坛里的所有帖子、查看帖子容、用户注册、用户登录、用户信息更新、发表帖子、回复帖子。
2.2.3用例图与用例表
根据需求分析的结果进行分析,可以把本论坛系统的用户分为2类。
一种是未登陆用户,一种是登陆用户。
本论坛系统的用例图如下所示:
图2.1、图2.2依次对不同种类用户的可以使用的功能、权限进行阐述。
1)未登录用户所具有的功能:
用户注册与登录,浏览论坛基本版块,查看帖子容的权限,但没有发布新的帖子与回复帖子的权限。
2)登录用户所具有的功能:
发布新的帖子与回复已有帖子,并且浏览论坛全部板块以与对用户信息的更新,如改密码,更新用户头像。
图2.1未登录用户用例图
图2.1表示的是未登录用户所应该具有的功能,由于论坛系统中设置部分模块仅对登录后用户可见,所以未登录用户不能查看所有主题。
图2.2登录用户用例图
图2.2表示的是登录后用户所具备的功能。
由于用户已经成功登录论坛,那么就不再需要注册以与登录功能,同时可以查看论坛全部版块。
根据上述用例图绘制用例表,部分用例表如下。
表2-1用户注册用例表
用例名称
用户注册
功能简述
添加一名新的用户
前置条件
未登录的用户
后置条件
一名新用户被添加的数据库
基本流
1)用户点击注册,进入注册页面。
2)在注册页面填写用户名与密码等个人信息。
3)点击“注册”提交申请。
4)注册成功后返回主页面
本用例用于为用户提供注册功能,使用户可以获得能够登录论坛的合法账号。
表2-2用户登录用例表
用例名称
用户登录
功能简述
论坛用户输入正确的用户信息便可登陆
前置条件
未登录的用户
后置条件
用户登录成功
基本流
1)用户在登录页面输入用户名、密码等个人信息。
2)系统判断用户名与密码是否匹配。
3)显示用户登录成功的界面。
4)跳转到信息更新的界面
本用例用于为用户提供登录功能,用户在拥有合法账号的情况下,通过输入用户名与密码等信息登入论坛。
3概要设计
3.1系统设计目标
对于网络在线论坛这样一个网络互动交流平台,设计目标必须是满足简单易操作,为经典的数据库管理系统,应满足一下几点设计目标:
1)操作方式简单易上手,界面设计美观友好。
2)数据存储安全、可靠、清晰。
3)功能结构简单,结构清晰,易于用户使用。
4)实现发表帖子,回复帖子的功能
5)注册时检验注册信息,排除人为错误
6)登陆时检测用户名与密码等信息,核实正确后方可登陆。
7)论坛系统最大限度的实现易操作性。
8)论坛系统运行稳定、安全可靠。
3.2总体功能划分
根据之前进行的需求分析的结果,绘制总体功能结构图如图3.1。
3.3各模块功能设计
3.3.1用户注册
用户注册时为没有合法论坛账号的游客提供的注册功能,只有成功注册了一个合法账号,才能行使论坛系统的所有功能。
进行发表帖子或者回复帖子,而不仅仅是浏览。
首先进入主页点击注册,便可跳转到注册界面。
另外,游客注册时需要填写正确的用户名,并且不可重复,以与正确的密码格式,格式,方可完成注册。
成功注册后用户便有了一个合法账号,获取论坛账号的唯一方法就是注册账号。
系统验证通过后被存储在数据库中,用户下次登录时便可使用该合法账号。
该功能仅对未登陆的论坛用户开发,已经登陆的用户不需要重复登陆。
3.3.2用户登录
在用户拥有了合法账号之后,便可以使用用户登录这一功能。
首先进入主页点击登陆,跳转到登陆界面,在此界面输入相关的正确的个人账户信息,后台系统便会发送到数据库检验账号信息是否匹配,如果匹配成功,用户便可成功登陆。
如果登陆失败请检查用户名密码是否出错,如非以上错误,也存在注册失败的可能,用户可重新注册一个合法账号。
用户只有在登陆后才可以发表帖子以与回复帖子,更新密码与头像。
3.3.3浏览帖子
帖子的浏览是本论坛系统中唯一一个不需要登陆便可享受的功能,也就是说无论是游客还是本论坛系统的用户都可以通过主页点击进入到帖子列表,查看帖子以与本论坛系统用户对于某帖子的回复。
在帖子列表中用户可以看到所有的帖子主题,选择自己想要看的帖子只需点击该帖子进入,便可查看更多用户对于该贴的讨论。
想要退出时点击回到帖子列表方可。
3.3.4帖子编辑
帖子编辑在本论坛系统中仅对已登陆的用户开放,帖子编辑分为2个部分:
1)发表新的帖子2)对已有帖子进行回复
发表新的帖子:
在登陆成功后便会跳转到用户信息的界面,可点击下方“马上发帖”,进行发帖操作,跳转到发帖的界面后需要输入帖子名称以与容描述,提交后相关的数据会发送到数据库中存储,此时跳转到帖子列表界面方可查询到已发帖子。
回复已有帖子:
在帖子列表界面点击进入某一帖子,便可参与到用户们的讨论中去,当然,前提条件是你已经成功登陆,是一名合法的帖子用户。
回复列表中显示各用户的回复,已登陆用户点击回复便可以跳转到回复界面,输入回复的标题与容后提交便可。
3.3.5用户信息管理
用户信息管理也可理解成用户信息更新,在登陆成功后便会跳转到用户信息管理界面,此时会显示你的用户名以与信息,你可以输入新的密码,并且再次确认密码后可成功修改。
后台系统将修改的密码发送到数据库存储,更新已有信息。
此用户下次登录时便是使用该密码方可登陆。
也可点击下方“更改头像”,修改用户头像。
3.4数据库设计
3.4.1E-R图
根据需求分析中的描述,本系统的E-R图如图3.2所示。
图3.2在线论坛系统E-R图
3.4.2主要数据表
除了代码目录层次结构,还要考虑怎样设计数据库结构。
程序需要从用户那里收集的信息与所一个的服务种类相关。
而这些信息反过来又会影响数据库表结构。
本数据库包含多数据表,限于篇幅,下面给出三主要数据表的结构,其中仅包括主要数据元素。
见表3-1、表3-2、表3-3。
表3-1用户数据表
字段名称
数据类型
长度
备注
USER_ID
int
10
主键
USERNAME
varchar
20
PASSWORD
varchar
40
EMAIL_ADDR
varchar
100
IS_ACTIVE
tinyint
1
PERMISSION
int
10
表3-1为用户数据表,用于填写在论坛中进行注册的合法用户的信息。
主键为用户编号,在该表中查找信息时即根据用户编号进行查找。
向该表中添入数据主要依靠用户注册。
在注册系统中,保存在数据库中的信息至少包括一个唯一的用户ID,用户名、密码哈希表和电子地址。
其中PERMISSION这个字段用来存储用户被赋予的权限。
它被定义为整数类型。
表3-2主题信息表
字段名称
数据类型
长度
备注
FORUM_ID
int
10
主键
FORUM_NAME
varchar
50
DESCRIPTION
varchar
100
表3-2为帖子信息表,用来保存组织帖子的各个版块的名称和描述信息。
向该表中新增数据主要