毕业设计(论文)网上在线论坛.doc

上传人:仙人指路1688 文档编号:3984513 上传时间:2023-03-30 格式:DOC 页数:32 大小:601KB
返回 下载 相关 举报
毕业设计(论文)网上在线论坛.doc_第1页
第1页 / 共32页
毕业设计(论文)网上在线论坛.doc_第2页
第2页 / 共32页
毕业设计(论文)网上在线论坛.doc_第3页
第3页 / 共32页
毕业设计(论文)网上在线论坛.doc_第4页
第4页 / 共32页
毕业设计(论文)网上在线论坛.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《毕业设计(论文)网上在线论坛.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)网上在线论坛.doc(32页珍藏版)》请在三一办公上搜索。

1、毕业论文网上在线论坛姓 名:院 校:计算机技术与软件工程学院专 业:计算机网络班 级:网络08304班学 号:指导老师: 网上在线论坛摘要随着互联网的发展,网络信息资源也不断的丰富,而以动态性和交互性为特征的网络论坛是当中最丰富、最开放和最自由的网络信息资源,是最受欢迎的一种信息交流方式。目前实现论坛功能的开发语言有很多种,主要有PHP、JSP、ASP和ASP.NET,其中PHP借助于开源的优势势必将成为网络开发的必然趋势。网上在线论坛和互联网上的其他信息一样,具有范围广,内容庞杂,动态变化性强等特点,但是两个最重要的特点是具有交互性和时效性。交互性是指论坛用户能够参加到论坛信息的交流过程中来

2、,可以在论坛中发布自己的信息并且可以得到其他用户的反馈,这是网上在线论坛信息最基本和最重要的特征。一位用户发布信息,往往有很多人回应,可以开展多人讨论,这是一个多向交流信息的过程,它使人们能够便捷地进行交流。由于互联网信息传播的快捷与方便及论坛的交互性,使得人们能够及时的从论坛中获得某一种技术和行业的发展动态与最新的进展,专业技术论坛中信息的时效性更强,往往一些最新的技术信息都可以从论坛中获取。本课题实现的是IT技术论坛,可以在论坛中交流IT方面的技术,比如网络技术、数据库技术、软件开发,web开发等等。使用php服务器端语言实现,使用的数据库是MYSQL数据库,实现了网上在线论坛通常具有的功

3、能,比如用户注册、登录,用户发布帖子、回复帖子,用户修改、删除帖子;管理员对会员的管理、帖子的管理、帖子类别的管理等等。关键字:在线论坛、PHP、数据库、MYSQL、互联网、ITOnline forum on the InternetAbstractWith the development of the Internet, network information resources is constantly enriched, but to be a dynamic and interactive forum for the characteristics of the network is

4、 among the richest and most open and free network information resources, is the most popular way of information exchange. The current implementation forum feature of development languages have many, mainly PHP, JSP, ASP and PHP , which with the help of the open source advantage is bound to become an

5、 inevitable trend of Internet development. Online forums and other information on the Internet, with wide, complex, dynamic content is strong, and other characteristics, but the two most important features is the interactive and timeliness. Interactivity is the forum for users to participate in the

6、forum for the exchange of information in the process, you can publish your own forum information and can get feedback from other users, this is the online forum information the most basic and most important features. A user to publish information, often many people respond, you can carry out many di

7、scussions, this is a lot to the exchange of information procedures, it enables people to easily communicate. Because Internet information dissemination of shortcut and convenient and Forum interactivity, enables people to timely get from Forum one of the technology and industry developments and the

8、latest advances in technology, professional forums information more time, often with some of the latest technical information can be obtained from the Forum. The project realization is the IT technology forum, you can exchange IT in the Forum areas of technology, such as network technologies, databa

9、se technologies, software development, Web development, etc. Use the php server-side language, use of the database is MYSQL database, enabling online forums often have features, such as user registration, login, user published post, reply to messages, the user modify, delete posts; administrators of

10、 the Member of management, post management, post category management, and so on. Keyword: online forums, PHP, database, MYSQL, the Internet, IT目录1绪论52论坛的发展与现状52.1论坛的发展简史52.1.1 论坛的历史52.1.2 论坛的发展历程62.1.3 论坛在中国72.2国内论坛的现状与展望73需求分析83.1基本要求83.2功能完善83.3论坛的功能结构图84开发流程104.1数据库设计与创建104.2创建会员注册和登录模块104.3创建发帖和

11、回帖模块104.4创建我的信箱模块104.5创建我的收藏模块104.6创建我的好友模块114.7创建浏览帖子和站内查询模块115数据库设计116热点关键技术146.1树状导航菜单146.2帖子置顶166.3帖子引用186.4帖子收藏206.5屏蔽回帖216.6小纸条信息的无刷新输出227各模块的具体实现237.1帖子发布功能的实现237.1.1附件的上传247.1.2编辑器的使用257.2帖子浏览功能的实现267.3结贴功能的实现277.4站内搜索功能的实现287.5顶贴管理功能的实现29参考文献31致谢321绪论按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园论坛,校园论坛作为主

12、要的集中地,在论坛领域具有举足轻重的地位。由于校园论坛的繁荣,吸引了很多的社会人士参与。而是专业论坛,一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题、三是商业论坛,它是由ISP建立的论坛站点,这类论坛站点各种信息比较多,内容相当丰富。四是小型局域网论坛。一般是由个人或小型集体建立,为小范围信息交流服务。五是业余论坛,一般由论坛爱好者个人利用一些免费空间办的论坛,目的是为广大网友提供一个在某些专业上的交流场所。六是新闻媒体论坛,是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所。随着互联网事业的蓬勃发展,论坛,这

13、个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法。2论坛的发展与现状2.1论坛的发展简史2.1.1 论坛的历史论坛的英文名称是BBS,BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹

14、果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。 目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力! 2.1.2 论坛的发展历程1978年在美国芝加哥开发出一套基于8080芯片CBBS/Chicago(

15、Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(People,s Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的

16、努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。 BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。 2.1.3 论坛在中国大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直

17、到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。

18、由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。 2.2国内论坛的现状与展望国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上

19、几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。 BBS的发展过程中,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向

20、发展。3需求分析3.1基本要求对非会员来说:可以在站内搜索,浏览帖子;对会员来说: 除具有非会员的权限外,还可以发布、回复帖子,修改、删除帖子3.2功能完善为了使论坛更加合理、完美,还增加了帖子置顶、帖子引用、帖子收藏和屏蔽帖子等特殊功能,以及一些辅助的功能,包括我的信息、我的好友和我参与的帖子等等。为了便于对论坛进行管理,增加了管理员管理论坛的功能,包括会员管理、公告管理、帖子管理、顶贴管理、帖子类别管理等内容。3.3论坛的功能结构图根据上述功能的描述,整理出论坛模块的功能结构图如下所示:浏览者 前台 未注册 注册 管理员会员帖子置顶 退出系统 我的短信 我的好友 我的收藏 个人信息 我参与

21、的帖子 我的帖子 删除帖子 修改帖子 回复帖子 发布帖子 站内搜索浏览帖子 浏览者 后台 登录 管理员 帖子类别管理顶贴管理帖子管理公告管理会员管理4开发流程4.1数据库设计与创建数据库名:db_forum相关的表:Tb_mail_box(信箱表) Tb_my_collection(收藏夹表) Tb_forum_affiche(公告表) Tb_forum_big_type(专区表) Tb_forum_restore(回复) Tb_forum_send(发帖表)Tb_forum_small_type(类别表) Tb_forum_user(用户表) Tb_my_friend(好友表)4.2创建会员

22、注册和登录模块涉及的内容:头像选择技术、验证码技术、找回密码、会员注册、会员登录等。4.3创建发帖和回帖模块涉及的内容:上传附件,添加表情图,发布、回复帖子,应用编辑器等。4.4创建我的信箱模块涉及的内容:站内信息的发布4.5创建我的收藏模块涉及的内容:当前用户对看好帖子的收藏。4.6创建我的好友模块涉及的内容:好友的添加。4.7创建浏览帖子和站内查询模块涉及的内容:控制用户权限,置顶、引用、屏蔽帖子,修改、删除帖子、结贴,站内搜索,分类输出,会员积分等内容。5数据库设计论坛的功能完善与否,数据库的运用是一个决定性的因素。只有拥有一个强大的数据库的支持,论坛的功能才能够展现。本论坛使用的是一个

23、名称为db_forum的数据库,其中有9个数据表。各个表的功能介绍如下:Tb_forum_user数据表:用于存储用户的注册信息。其中包括15个字段,字段名及属性的说明如下表所示:Tb_forum_send数据表:用于存储论坛中用户发布帖子的数据。其中包括11个字段,字段属性的说明如下:Tb_forum_restore数据表:用于存储论坛中回复帖子的数据。其中包括7个字段,字段属性说明如下表:Tb_my_collection数据表:存储用户收藏的帖子,其中包括7个字段,各个字段属性的说明如下:Tb_my_friend数据表:存储用户的好友,包含4个字段,相关字段属性说明如下:Tb_mail_b

24、ox数据表Tb_forum_small_type数据表:此表属于帖子类别表,存储着论坛数据的类别,比专区表tb_forum_big_type更进一步的细分,每个类别属于专区某类型中的一种,包含4个字段,字段属性的说明如下表:Tb_forum_big_type数据表:此表属于专区表,存储着论坛数据的专区类型,包含3个字段,字段属性的说明如下表:Tb_forum_affiche数据表6热点关键技术在论坛模块的开发过程中,有些关键的技术是不可缺少的,下面就对论坛中用到的关键技术进行详细介绍。6.1树状导航菜单通过树状导航菜单能够对网站中的内容进行合理的分离处理,进而使网站的布局更加合理。这里将树状导

25、航菜单的技术应用到论坛中帖子类别的处理上改变了以往那种以整页篇幅输出帖子类别的设计思路,是论坛中帖子类别的输出更加合理、规范。其运行结果如左图:树状导航菜单的设计原理:首先,从数据库中读取论坛中所属专区的数据进行输出;然后,通过javascript脚本语句控制单元格中内容的隐藏和显示;最后,根据所属的专区读取对应帖子类别的数据。其关键就是单元格属性的设置和javascript脚本语句的应用。(1) 从数据库的专区表中读取论坛中所属专区的数据。代码如下:位于left.php中 (2) 创建表格,输出所属专区的数据,应用onclick事件调用javascript语句open_close()控制单元

26、格中内容的隐藏和显示,其中还为单元格中的内容设置了超级链接,连接到指定的文件。代码如下:td width=”84%” height=”24” onClick=”javascript:open_close(id_a;” /控制单元格的属性a href=content.php?content=&content_1= target=contentFrame(3) 创建表格,设置表格ID的值和style值。以帖子的所属专区为查询条件,从类别数据表中读取符合条件的数据,将读取到的数据循环输出到单元格中。同样也为单元格中的内容设置了超级链接,链接到指定的文件。代码如下:table width=170 bo

27、rder=0 cellpadding=0 cellspacing=0 bgcolor=#8394BF id=id_a style=display:none   a href=content.php?content=&content_1= target=contentFrame其中调用javascript脚本的代码如下: function open_close(x) if(x.style.display=) x.style.display=none; else if(x.style.display=none) x.style.display=; 主要功能是实现单元格

28、的隐藏和显示。即当单元格处于显示状态时,单击单元格则执行隐藏的操作;当单元格处于隐藏状态时,单击单元格则执行显示的操作。至此,树状导航菜单技术介绍完毕。有关树状导航菜单的具体应用可以参考本站程序中的left.php文件。6.2帖子置顶帖子置顶就是将指定的帖子在网页的最上方显示,用于突出帖子的特殊性。只有管理员用于帖子置顶的权限,其他任何人都不具备这个权限。帖子置顶操作过程如下图:帖子置顶的操作原理:根据帖子的ID设置一个超级链接,在链接的permute_send.php文件中实现帖子置顶的操作。(1) 在send_forum_content.php文件中,创建一个“置顶“超级链接,链接的标识为

29、对应帖子的ID,链接到文件permute_send.php中,在该文件中实现帖子置顶的操作。代码位于send_forum_content.phpa href=”permute_send.php?permute_id=”置顶(2) 创建permute_send.php文件,实现帖子置顶的操作。首先,判断当前的用户是否是管理员,这里用户权限的设置是通过用户信息表(tb_forum_user)中tb_forum_type字段的值来控制的,如果tb_forum_type的值是1则代表注册的会员,如果是2代表是管理员。如果当前的用户是管理员,将指定帖子的tb_send_type字段的值更新为1,;否则不

30、执行更新数据的操作,并且弹出提示信息“您不具备该权限!”,返回到上一页。代码位于:permute_send.php0)$query=mysql_query(update tb_forum_send set tb_send_type=1 where tb_send_id=$_GETpermute_id);if($query=true)echo alert(帖子置顶成功!); history.back();elseecho alert(帖子置顶失败!); history.back();elseecho alert(您不具备该权限!); history.back();?帖子置顶技术讲解完毕,有关该技

31、术的完整应用可以参考论坛中的程序。6.3帖子引用帖子引用是指在浏览帖子时,针对某个回复的帖子或者自己的看法与楼上的看法相同,此时就可以单击引用超级链接,直接将楼上回复的帖子进行引用,作为自己的回复帖子进行提交。帖子引用的操作如下:帖子引用的实现原理:首先,在帖子浏览的页面中针对每个回复的帖子设置一个“引用“超级链接,这里将其链接到本页send_forum_content.php文件中,设置链接标识cite为回复帖子的ID,添加锚点bottom;然后,在指定输出回帖内容的表格中添加一个命名锚点,实现同一页面的引用跳转;最后,在输出引用内容的文本域中,根据超级链接中传递的栏目标识,从数据库中读取到

32、指定的回帖数据,将引用的内容进行输出。创建引用的超级链接,并且设置链接的栏目标识cite和锚点bottom。代码位于send_forum_content.phpa href=send_forum_content.php?send_big_type=&send_small_type=&send_id=&cite=#bottom引用在指定的位置设置一个命名锚点。实现同一页面的跳转。代码如下:在要输出引用内容的文本域中进行编辑,根据超级链接栏目标识cite的值,从数据库中读取到对应的回复帖子的标识和内容,并且将读取的数据输出到文本域中。代码如下:input name=restore_subject

33、type=text id=restore_subject size=60 value=至此,帖子引用技术讲解完毕,接着就可以将引用的内容直接进行提交,作为自己的回复帖子。有关该技术的应用可以参考本模块中的send_forum_content.php文件。6.4帖子收藏帖子收藏就是将当前帖子的地址完整的保存到指定位置,为以后访问该帖子提供方便。帖子收藏的操作流程如下图:帖子收藏实现的关键是如何获取当前页面的完整地址。获取当前页面的完整地址主要应用的是服务器变量$_SERVER。关键代码如下:位于send_forum_content.php$self=$_SERVERHTTP_REFERER;/获

34、取链接到当前页面的前一页面的 URL 地址$u=$_SERVERHTTP_HOST;/获取当前请求的Host头信息的内容$r=$_SERVERPHP_SELF;/获取当前正在执行脚本的文件名$l=$_SERVERQUERY_STRING;/获取查询(query)的字符串(URL 中第一个问号 ? 之后的内容)$url=http:/.$u.$r.?.$l;/将获取的变量组成一个字符串,即完整的路径在获取到完整的地址之后,接下来就是将帖子的标题、当前页面的完整路径和当前用户数据提交到my_collection.php页中,生成一个表单,最后将数据提交到my_collection_ok.php文件中

35、,完成 帖子的收藏。提交帖子完整地址和帖子标题的程序代码如下:form name=form1 method=post action=my_collection.php?forum_subject=&collection_user= input type=hidden name=my_collection value= 创建my_collection.php文件,生成一个表单,为收藏帖子添加标签和说明,最好将数据提交到my_collection_ok.php文件中,将帖子收藏的数据添加到指定的数据表中。6.5屏蔽回帖屏蔽回帖是管理员的权限,在论坛的后台管理中进行操作。帖子是否被屏蔽是根据回复帖子

36、数据表中tb_restore_tag字段的值来判断的。如果帖子tb_restore_tag字段的值为1,则说明该帖子被屏蔽;否则帖子没有被屏蔽。屏蔽回帖主要通过两个文件来完成,一个是message_restore.php,输出回复帖子的内容,创建执行屏蔽帖子的form表单;另一个是message_restore.php,根据提交的数据,实现屏蔽帖子的操作。关键代码如下:位于messge_restore_ok.php?php session_start(); include(conn/conn.php);if($_POSTSubmit=屏蔽) while(list($name,$value)=each($_POST) $result=mysql_query(update tb_forum_restore set tb_restore_tag=1 where tb_restore_id=.$name.);

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号