论坛的设计与实现论文毕业设计论文.doc_第1页
论坛的设计与实现论文毕业设计论文.doc_第2页
论坛的设计与实现论文毕业设计论文.doc_第3页
论坛的设计与实现论文毕业设计论文.doc_第4页
论坛的设计与实现论文毕业设计论文.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计题 目: 论坛的设计与实现英文题目:the design and development of forum学生姓名: 专 业: 班 级: 指导教师: 摘 要随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,论坛提供了一个全新的人类沟通新方式。本文主要分析了论坛的主要组成情况,包括论坛的设计目标,框架结构,数据流程和论坛的主要特点等,重点介绍了论坛前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。关键词 asp语言;vb语言;html语言;access数据库。abstractwith the wide application of the computer, people have already no longer felt strange the network. today, science and technology is developed at full speed, computer information technology and all trades and professions have carried on effective combination. people can carry on the online shopping , matchmaker , e-commerce on the net, camps result of the network ,etc. in the face of the strong network function , we must have a sound network function system . the main composition situation of the main analysis forum of this text, including the design object on the forum, frame structure, data procedure and main characteristic of forum ,etc., introduce forum front desk function detailed thinking and implementation method of module especially, and to backstage supporters database key technology and elaboration of some source codes.keywords asp language;vb language; html language;access database。目 录第一章 系统需求分析51.1 开发背景51.2 系统实用功能分析5第二章 系统设计82.1相关术语解释:82.2论坛前台构架102.2 论坛前台实现的功能11第三章 系统后台数据库设计153.1后台数据库构架153.2后台数据库实现的功能15第四章 关键代码描述184.1连接数据库源代码184.2主页源代码194.3管理主页源代码24第五章 系统运行37结束语39致谢40参考文献41第一章 系统需求分析1.1 开发背景进入21世纪以后,知识经济的飞速发展对我们的社会产生了巨大的影响。it业的飞速发展不仅仅带来了巨大的经济效益,也在逐渐改变着我们的生活,其中影响最为广泛的就是互联网了。从事it业工作的人都知道,互联网蕴藏着巨大的“金矿”,如何从这个巨大的财富中获得一份属于自己的财富,需要的不仅仅是努力和勤奋,更多的是知识和技术,只有掌握了知识和技术才有可能成为知识经济时代成功的淘金者。近年来,随着internet的迅猛发展,远程信息、网上聊天、分布式多媒体系统、电子商务等网络应用系统的相继问世,为信息处理的网络化展示了美好的前景。目前呈几何增长的互联网网站中,有相当一部分仍固守“静态”,无形中已大大落后于时代的步伐。所谓“静态”指的就是网站的网页内容“固定不变”,当用户浏览器通过互联网的http(hypertext transport pr otocol)协议向web服务器请求提供网页内容时,服务器仅仅是将原已设计好的静态html文档传送给用户浏览器。其页面的内容使用的仅仅是标准的html代码,最多再加上流行的gif89a格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若网站维护者要更新网页的内容,就必须手动地来更新其所有的html文档。 “静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作html文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。所谓“动态”就是指具有以下几个特点的网站:1、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后web发展的大势所趋。2、“自动更新”即无须手动地更新html文档,便会自动生成新的页面,可以大大节省工作量。3、“因时因人而即当不同的时间、不同的人访问同一网址时会产生不同的页面。这种具有动态特性的网站的典型代表就是-论坛.1.2 系统实用功能分析随着时代的进步,人们对网络的要求也越来越高,论坛就是在这种背景下诞生的。它不仅包含了网站原有的特点,还可以让人们在浏览网页的情况下还可以发表自己的观点,其实这只是最基本的,它还有许多优点,下面就让我们简洁的陈述一下:用户功能:(1)发帖时自动记录用户名,email,网友无需每次都输入。(2)用户个人信息记录,密码提示功能,当用户忘记密码时,可以由密码提示功能获得密码。(3)实现用户头像功能,您可以象qq一样,选择自己喜欢的头像图标。(4)查询与更改密码、个人信息,及他人信息。(5)实现游客浏览功能,你即使不进行注册,同样可以浏览帖子内容,但要发言必须注册。缓存保存用户名和密码功能,勿需每次发言都要填写一次,为用户提供方便。版主功能:(1)版面显示版主主页地址(版主只需在个人信息中维护自己的信息,输入主页地址即可。(2)版主登录之后可以进入版主管理菜单,可以管理论坛版面,管理精华区域,版主帖子查询,编辑版面说明等功能。 查询功能:我们的论坛系统具有超强帖子查询功能,可以根据您感兴趣的内容快速获得信息。您可以:(1)按发言人、主题、内容的查询;(2)按帖子的id查询;(3)查询最新 50帖;(4)支持多条件复合模糊查询功能。统计功能:(1)显示论坛当前注册总人数、当前帖子总数、帖子点击总数、当前在线人数。 (2)论坛排行榜,对各个版面的点击数、文章数进行排序。(3)用户表现积分排行,调动用户积极性。帖子点击统计,方便了解热点话题。本日版面排行榜,本日作者排行榜。帖子功能:(1)显示帖子发表日期,点击数,字节数,回复帖子数,新帖图形提示, 24小时内新帖一目了然。(2)设定帖子内容最大允许的字节数。是否允许显示前帖内容(如同回复email一样回复帖子)。回复帖子email通 知功能,自动将帖子内容和相关链接寄回被回复人的信箱中。多版面设置,每个版面可以有自己的版主、主页连接,可以独立显示单一版面。版面功能:(1)具有强大的分页查看工具条,帖子列表支持分页显示,轻松查看所有帖子。 (2)帖子层次列表,结构清晰,一目了然。 其他功能:(1)全面转化 html tag,方便讨论主页设计、 web编程,同时可以有效防止使用脚本语言进行攻击。(2)类似于frontpage、dreamweaver论坛内容编辑器,以方便网友使用html 格式显示帖子内容。此功能代码部分参考了ubb代码。ubb代码是html的一个变种,是ultimate bulletin board (国外一个bbs程序,国内也有不少地方使用这个程序),采用的一种特殊的tag来达到html的效果或实现其他的功能。第二章 系统设计2.1相关术语解释:html语言:在网上发布消息,必须使用一种每一台计算机都能够识别的语言,这就是html(hypertext markup language),超文本语言。自从上一个世纪90年代web网络的迅速发展,这种语言空前繁荣。到1997年1月,随着html 3.2的推出,html语言得到了很大的发展,但是有些问题始终难以解决,比如对各种平台和各种浏览器都兼容,等等。因此,人们希望能够设计出一种html语言,使其能够尽量反映各个行业的需求和满足不同人群的需要。在开发的同时也充分考虑到网络上各个方面的使用环境,比如蜂窝电话,手提设备和输入输出的语音系统等等环境。在1998年4月24日,这一愿望终于实现了,w3c标准化组织发布了html4.0,将原先的html扩展到一些全新的领域,例如样式表单,script语言,内嵌对象,框架结构甚至赋予残疾人使用网络能力等新的功能。这一技术即使到了新的世纪也仍然具有划时代的意义。使用html语言可以赋予网络设计者许多强有力的工具,比如:1、使用各种基础的印刷元素例如标题、文字、表格、列表、照片、插图等来发布在线的文档。2、通过超文本链接可以使用户方便地在各种信息之间切换,就像单击一个按钮一样简单。3、设计一种表单控件控制网络上的各种传输、远程服务等功能,就像查询信息、订购货物等。4、在文档中直接包含视频剪接、效片断、各种脚本程序和另外的许多对象,比如flash和active控件。以上的这些功能是一般的文档不能完全做到的。这些优势使得html成为网络上使用的事实标准。asp语言:在网络程序设计中,asp(active server pages)是服务器端的一种未经编译的开放式程序,程序设计者可按asp的要求来编写功能强大的网络应用程序,并实现服务器端的数据处理及数据上传与下载。这种程序通常被称作“asp程序”(或“asp页”)。一个asp 程序通常包括html标签语句、文本和脚本程序等。由于这类程序是以“.asp”为扩展名存放的,因此对应的文件可称作“asp文件”。asp程序是运行于网络服务器端的一种应用程序。在计算机硬件配置允许的情况下,如果希望运行asp程序,应当安装一个能够支持网络服务器的操作系统。常见的网络服务器操作系统有个人网络服务器pws(personal web server)和因特网信息服务器iis(internet information server)。 严格地说,asp不是一种编程语言,而是一种开放式的编程环境。它的数据传送和数据处理功能要通过具体的程序设计语言来实现。将脚本语言vbscript(或者javascript)与html 语言有机地结合起来,就可以构成这种编程环境。因此,一个asp程序的语句串,部分来自于脚本语言,部分来自于html。其中,用html语言设计的程序称作html文档,是由客户端浏览器解释执行的一种程序;用脚本语言设计的部分,则是专职服务器来运行的。access数据库:数据库的管理系统就是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为数据库管理系统,它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员。我们将要学习的access也是一种数据库管理系统。vb语言:visual basic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发windows环境下的各类应用程序.它简单易学、效率高,且功能强大,可以与windows的专业开发工具sdk相媲美。在visual basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用windows内部的应用程序接口(api)函数,以及动态链接库(dll),动态数据交换(dde),对象的链接与嵌入(ole),开放式数据访问(odbc)等技术,可以高效、快速地开发出windows环境下功能强大,图形界面丰富的应用软件系统。总的来看,visual basic有以下特点:(1)可视化编程(2)面向对象的程序设计(3)结构化程序设计语言(4)事件驱动编程机制(5)访问数据库(6)动态数据交换(dde)(7)对象的链接与嵌入(ole)(8)动态链接库(dll)2.2论坛前台构架毕业设计论坛是用asp+access(后台数据库)制作而成的 ,这个论坛的前台界面大体是用一个个系统模块组装而成的。具体的示意图21所示:图2-12.2 论坛前台实现的功能用户登陆系统:毕业设计论坛在前台实现了用户登陆系统,当你把用户名和密码输入进去,系统会自动和数据库的用户和密码进行核对,如果一样就登陆进去,如果和原始资料对不上就提示你进入注册页面进行注册,注册成功的话会自动把你的用户名和密码输入到后台数据库里面,下次不用注册直接登陆就可以了。论坛的登陆系统如图所示:当你成为用户进入论坛时,他会显示你的个人资料及你的功能:修改我的资料,我发起的主题,我参与的主题,上传我的头像,我上传的文件,发送论坛短信,我的论坛权限,我的论坛收藏,我的论坛好友。 论坛的个人信息如图所示:在基本资料里面你可以看到你的个人资料并且可以修改,这样可以使用户对自己的资料随时随地的修改,避免了写完后不能修改的遗憾。联系资料则是提供了电子信箱,oicq号码,icq号码,msn帐户,个人主页等的联系方式,如果你要修改他,必须要先正确输入密码才可以,这样避免了有些人恶意改动别人的联系方式。修改密码则是发现自己的密码被别人知道后,处于安全的考虑提供了让用户自己改动密码的功能。在这个论坛里,你不但可以浏览网页,还可以像qq那样给别人留言,也可以加别人为好友。但是普通用户也有自己的权限,那样就可以区分版主和普通用户。除了这个登陆系统外,这个论坛还设计了以下几个版块:站务管理,技术交流,天方夜谭,用户网络信息 。 在这几个版面里,你不但可以对你感兴趣的帖子进行留言,而且可以发表自己的主题,等待其他网友对你帖子的评论。它的功能如图所示:前台功能版块:站务管理的版面如下:技术交流如下:天方夜谭如下:在上面我们已经把登陆和注册这个系统已经讲清楚了,下面我们把搜索,论坛状态,论坛风格,繁体中文再简单介绍一下: 在搜索里面你可以找到你所要查询的帖子,只要你输入了关键字就可轻松查阅到,不用在到处乱找,减少了不必要的时间。具体操作如图所示:在论坛状态里通过今天在线图例,主题数图例,整帖数图例,当前在线图例,当前在线情况,用户在线图例,你可以清楚的了解到论坛当前的情况。 今天在线图例:显示了当天所有版块发帖的数量。 主题数图例:显示了所有版块发帖的数量情况。 整贴数图例:显示了当天的发帖数量。 用户在线图例:显示了当前不同等级的用户的数量。 当前在线图例:显示了当前所有版块的用户数量情况。 当前在线情况:它提供了在线用户的计算机系统信息和他的ip地址,还有他的活动时间。通过上面简单的描述,我们已经把这个论坛前台功能已经讲清楚了,现在我们就该叙述一下后台的数据库管理了。 第三章 系统后台数据库设计3.1后台数据库构架前面已经把数据库对大家做了一个简单的介绍,相信大家对数据库有了一个新的认识。现在就对毕业设计论坛的后台数据库的功能和流程做一个详细的介绍。首先来看一下该后台数据库的关系图:在上图中的双箭头代表是数据的传输,比如:用户在前台输入自己的用户名和密码进行登陆,系统会自动把用户名和密码传送到后台数据库的用户个人资料中进行核对,如果正确将提示登陆成功,如果对不上将提示你用户名或密码错误并且重新注册一个新的帐号。 3.2后台数据库实现的功能下面将详细介绍数据库每个库文件的内容与功能:用户个人信息(userdata)它包含了个人所有的信息,比如:新加入时间,最后登陆该论坛的时间,用户的头像,密码,邮箱,等级,密码问题及问题答案等等。 它的作用是用来记录和核对用户的个人资料。系统提示(usernote) 是当你注册成功的时候系统会给你发出如:毕业设计论坛欢迎您的到来毕业设计论坛全体管理人员欢迎您的到来如有任何疑问请及时联系系统管理员。如有任何使用上的问题请查看论坛帮助。感谢您注册本系统,让我们一起来建设这个网上家的信息。流程图如下:它的作用是用来提示新注册的用户已经注册成功并且成功登陆。魔法表情(magicface)提供了多种魔法表情供用户使用。示意图如下:其实这还只是一小部分,本论坛提供的魔法表情多达329种。这为不同的用户提供了适合自己的魔法表情。用户的网络个人信息(sysonline)是说明了用户的操作系统,ip地址,浏览器,访问该论坛的时间。 示意图如下:帖子信息(bbsmessage)包含了用户发帖的题目,具体内容,用户昵称,发帖时间。具体的示意图如下:用户网络信息和帖子信息这两个数据库的作用是方便管理员的定期查阅与管理。 我们可以通过下面表格来对后台数据库的作用有一个更为直接的认识。后台数据库名称作用用户个人资料记录和核对用户的个人资料 系统提示提示新注册用户已注册成功且成功登陆 魔法表情为不同用户提供了适合自己的魔法表情 论坛风格适合不同用户所喜欢的网站背景而设置 帖子信息方便管理员的定期查阅与管理 用户网络信息方便管理员的定期查阅与管理第四章 关键代码描述在这里把一些关键的代码列下:4.1连接数据库源代码4.2主页源代码%snow.nowstats=论坛首页snow.head()snow.online()template.gethtml(index)response.write userlogindate()response.write boardlist()response.write useronline()if clng(snow.forumoption(7)=0 then是否开放友情连接 response.write friendlink()end ifresponse.write replace(template.html(6),$userskinpath,template.userskinpath)snow.footer()function userlogindate() dim tempstr,strimg if snow.founduser then tempstr=template.html(1)strimg=90)this.width=90;this.height=90tempstr=replace(tempstr,$userface,strimg)tempstr=replace(tempstr,$mynote,session(userinfo)(20)tempstr=replace(tempstr,$username,snow.username) else tempstr=template.html(2) end if tempstr=replace(template.html(0),$userloginistrue,tempstr) tempstr=replace(tempstr,$membercount,snow.membertotal) tempstr=replace(tempstr,$newusername,snow.newmember) tempstr=replace(tempstr,$yesterdaytopic,snow.yesterdaytopic) tempstr=replace(tempstr,$todaytopic,snow.todaytopic) tempstr=replace(tempstr,$totaltopic,snow.totaltopic) tempstr=replace(tempstr,$totalreply,snow.totalreply) tempstr=replace(tempstr,$topposttopic,snow.topposttopic) tempstr=replace(tempstr,$toponlinecount,snow.toponlinecount) userlogindate=tempstrend functionfunction boardlist() dim rs,tempstr,boardstr,i,cachestr,getstr,arrstr,endstr,managestr,bistr,bspic *带绶存的主区数据* cache.name=boardlist if cache.objisempty() thenset rs=snow.execute(select boardid,parentid,boardname,child,depict,boardimg,topictotal,replytotal,managename,lasttopicname,lasttopic,lasttopictime,boardstatus,todaytopic,bootid from bbsboard order by bootid asc,parentid asc,boardid asc)searchnum=searchnum+1if rs.bof or rs.eof then rs.close:set rs=nothing exit functionelse boardstr=rs.getrows(-1)rs.close:set rs=nothingcache.value=boardstrend if end if cachestr=cache.value #开始分区# arrstr=split(template.html(3),) for i=0 to ubound(cachestr,2) endstr= if i0 then if cachestr(1,i)=0 or i=ubound(cachestr,2) then endstr=trim(arrstr(2)end if end if if cachestr(1,i)=0 then tempstr=endstr&replace(trim(arrstr(0),$boardname,cachestr(2,i) else tempstr=trim(arrstr(1)&endstrtempstr=replace(tempstr,$boardid,cachestr(0,i)tempstr=replace(tempstr,$childboardname, &cachestr(2,i)& )tempstr=replace(tempstr,$depict,cachestr(4,i)&)if isnull(cachestr(5,i) or cachestr(5,i)= then bistr= else bistr=tempstr=replace(tempstr,$boardimg,bistr)tempstr=replace(tempstr,$lasttopic,cachestr(10,i)&)tempstr=replace(tempstr,$lasttopicname,cachestr(9,i)&)tempstr=replace(tempstr,$lasttopictime,cachestr(11,i)tempstr=replace(tempstr,$managename,notnull(cachestr(8,i),暂无)tempstr=replace(tempstr,$todaytopic,cachestr(13,i)tempstr=replace(tempstr,$topictotal,cachestr(6,i)tempstr=replace(tempstr,$replytotal,cachestr(7,i)0 正规论坛 1 锁定论坛 2 认证论坛 3 会员论坛select case clng(cachestr(12,i) case 0:bspic=template.userskinpath&board0.gif case 1:bspic=template.userskinpath&board1.gif case 2:bspic=template.userskinpath&board2.gif case 3:bspic=template.userskinpath&board3.gifend selecttempstr=replace(tempstr,$boardpic,bspic) end if getstr=getstr&tempstr next boardlist=getstrend functionfunction useronline() dim tempstr tempstr=template.html(4) tempstr=replace(tempstr,$onlineuser,snow.onlinecount) tempstr=replace(tempstr,$onlinemember,snow.onlineuser) tempstr=replace(tempstr,$onlineguest,snow.onlineguest) tempstr=replace(tempstr,$greatebbstime,snow.greatebbstime) tempstr=replace(tempstr,$toponlineuser,snow.toponlinecount) tempstr=replace(tempstr,$toponlin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论