BBS论坛网站开发论文.docx
《BBS论坛网站开发论文.docx》由会员分享,可在线阅读,更多相关《BBS论坛网站开发论文.docx(17页珍藏版)》请在冰豆网上搜索。
BBS论坛网站开发论文
**学院
毕
业
论
文
论文题目
基于asp的论坛网站
院(系)名称
***学院
专业名称
计算机
班级
计算机**班
学生姓名
***
学号
指导教师姓名
2012年*月完成
内容摘要:
为了方便师生信息的交流,在结合动态服务网页(ASP)和ACCESS2003技术之下开发了这个快截、界面友好的师生交流系统。
论坛使用动态服务网页(ASP)技术建设论坛的骨干框架,使用ACCESS2003制作系统的数据库,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。
该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。
该论坛还有一些特殊的功能,如在线人员显示、强大的搜索功能。
关键词:
动态服务网页论坛用户管理
Abstract:
Inordertofacilitatetheteachersandstudentsinformationtheexchange,inunifiedASPandACCESS2003undertheservertechnologyhasdevelopedthisquicktruncation,thecontactsurfacefriendlyteachersandstudentsalternating-currentsystem.TheforumusestheASPtechnologyconstructionforumthebackboneframe,usestheACCESS2003manufacturesystemthedatabase,realizedafunctionrelativelycompleteforumsystem,thenetfriendhasbeenpossiblefreelytoproposethequestionaswellashelpedotherpeopletosolvetheproblem,orexchangeexperience.
Thisforumfunctioniscomplete,mayfreelyexpressownviewpointinhereandexpresstheopiniontotheforumsubject,wealsomaypromptlysolvetonetfriend'squestion,gaintotheoneselfusefulknowledge.Thisforumalsohassomespecialfunctions,liketheon-linepersonneldemonstrates,theformidablesearchfunction.
KeyWords:
ActiveServerPagesBBSusermanagement
1.前言
1.1论坛选题背景、意义
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。
作为Internet上一种先进的,易于被人们所接受的信息检索手段,WorldWideWeb(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。
据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。
近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
要实现这样的功能,离不开后台数据库的支持。
用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。
本文中数据库服务器端采用了MicrosoftAccess数据库作为ODBC(OpenDataBaseConnectivity)数据源,并以先进的ADO(ActiveXDataObjects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。
本文作者主要完成Web服务器端的用户管理、帖子管理、版面管理、数据库管理、浏览和查找、短消息功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。
1.2本课题研究目的
随着Internet的发展,Web技术日新月异,人们已经不再满足于静态HTML技术,更多的是要求动态、交互的网络技术。
继通用网关接口(CGI)之后,微软推出的IIS+ASP的解决方案作为一种典型的服务器端网页设计技术,被广泛应用在网上银行、电子商务、网上调查、网上查询、论坛、搜索引擎等各种互联网应用中。
BBS作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。
它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。
BBS正在影响和改变着我们的生活。
同时BBS也在教学领域得到了很好的利用,特别是教学论坛的应用,有助于教师更好地了解学习者的学习状况,学习要求及教学反馈意见,加强师生沟通,提高教学效果,同时促进由传授者向帮助者,支持者和促进者角色转化的实现,促进学习者自我学习和互助学习能力的不断提高。
因此为了更好的让同学们学习数据库的基础知识需要设计数据库课程论坛。
BBS是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
展示丰富的个性化,对BBS功能的要求自然更高,新一代具有更多、更新、更全功能的BBS急需走进舞台。
2.系统技术及运行环境
2.1ASP技术简介
MicrosoftActiveServerPages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。
ActiveServerPage是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。
因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。
ASP程序的优点:
1,ASP使用VBScript脚本语言直接源于VB语言,秉承了VB简单易学的特点,掌管起来非常容易。
2,无须编译,容易编写,可在服务器端直接执行。
3,与浏览器无关,客户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。
4,ASP能与任何ActiveXscripting语言相容。
除了可使用VBScript或JavaScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言。
5,ASP技术的处理速度相当快,并且其安全性也很高,ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
6,ASP的对象和组件:
ASP有7个固有对象这7个固有对象分别是Request,Response,Server,Application,Session,ASPError和ObjectContext。
2.2ACCESS2003技术简介
Access2003就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。
那么什么叫数据库呢?
数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。
一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据。
所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。
在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(DatabaseManagementSystemDBMS)。
数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。
Access的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
3.系统设计分析
3.1需求分析
一般的论坛需要3个角色。
即:
游客、注册用户、后台管理员。
游客进入论坛只能浏览模块、查看主题帖和根据需要搜索相关帖子。
注册用户可以对各类帖子发表自己的评论即回帖、也可以自己发帖及搜索相关帖子,修改自己的个人信息。
管理员可以对用户、论坛模块和论坛帖子进行添加、修改和删除的权利。
3.2系统的功能结构设计
根据需求分析将系统划分为以下现两大模块:
前台功能模块:
当游客访问到论坛首页面后,仅能浏览帖子模块、查看帖子、搜索帖子。
当在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行查看模板、发表帖子、回复帖子、搜索帖子、查看精华帖子、查看自己发表的帖子等操作。
3.2.1基本性能
系统包括主要的功能:
新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要。
3.2.2开发目标
这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间的交流。
通过论坛,人们能够相互交流沟通,把疑惑在论坛里公布,大家献计献策,共同学习,共同进步。
3.2.3应用目标
网上论坛系统是一个会员登录留言系统。
网上游客能够浏览论坛上的帖子,并且能够注册成为用户。
论坛注册会员能够修改自己的资料信息,申请版主,发表帖子,让大家积极参与讨论。
论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。
4.详细设计
4.1用户注册
此部分是实现用户的注册功能。
用户先阅读注册协议,同意协议后,通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员。
图4-1注册界面
注册资料分必填资料和选填资料,用户只要把必填资料填写正确就可以注册了。
用户名最多不能超过16个字符,而且不允许注册重复的用户名,当用户输
入想要注册的用户名后,可以点击后面的检测按钮检验是否该用户名已经被注册过。
性别只能选择男或女其中一个。
密码最多不能超过16位,两次密码必须输入一致,否则不可以注册。
E-mail必须输入有效的邮箱地址,以便日后能使用到论文的各种功能。
验证码是系统随即产生的,只要用户按照出现的数字输入进去就可以了。
选填资料注册时可以不用填写,等注册成功后,可以在修改用户资料里随便修改。
本论坛支持自定义外部头像,而且还支持签名等。
用户注册成功
后就可以使用会员所拥有的一切功能了。
主要代码如下:
ifadduseryn=1thenerror("本论坛暂时不开放新用户注册!
")
ifaction="adduser"andRequest.ServerVariables("request_method")="POST"then
ifRequest.Cookies("regusertime")<>emptythen
ifDateDiff("s",Request.Cookies("regusertime"),Now())")
endif
username=HTMLEncode(Trim(Request.Form("username")))
errorchar=array(""," ","","#","`","|","%","&","","+",";")
fori=0toubound(errorchar)
ifinstr(username,errorchar(i))>0thenerror("用户名中不能含有特殊符号")
userpass=Trim(Request.Form("userpass"))
userrpass=Trim(Request.Form("userrpass"))
userface=HTMLEncode(Request.Form("userhead"))
ifusername=""thenerror("您的用户名没有填写")
ifLen(username)<3thenerror("您的用户名中不能少于3字节")
ifLen(username)>15thenerror("您的用户名中不能超过15字节")
setrs=server.createobject("ADODB.Recordset")
Ifnotconn.Execute("SelectidFrom[user]whereusername='"&username&"'").eofThenerror("您填写的用户已有人注册了")
ifuserpass=emptythenerror("您没有填写密码")
ifLen(userpass)<6thenerror("您的密码不能少于6字节")
ifuserpass<>userrpassthenerror("您两次输入的密码不相同")
ifinstr(userface,";")>0thenerror("您的头像选择有错")
rs.Open"[user]",conn,1,3
rs.addnew
rs("username")=username
rs("userpass")=md5(userpass)
rs("userface")=userface
rs("userip")=remoteaddr
rs.update
rs.close
Setrs=Nothing
Response.Cookies("username")=username
Response.Cookies("userpass")=md5(userpass)
Response.Cookies("regusertime")=Now()
message="
用户注册成功
返回论坛首页"
succeed(""&message&"")
Response.End
endif%>
4.2发表主题
此部分实现会员的发帖功能。
登陆的会员可以在允许会员发帖的版块进行发帖,还可以在普通版块进行回复主题帖子。
游客只能浏览帖子,不能发表帖子和回复帖子。
图4-3发帖界面
会员在开放的版块里如果想发表新的主题,便可直接点击发表帖子按钮。
进到发表帖子页面后,首先要写自己想发表的主题,主题字数不能超过100汉字,如果会员想上传图片等,就要选择文件上传了,大小每个不能超过200K,每天限制上传3个。
正文不能超过15000字,字体、字号、字体颜色可以自己设置,正文还可以插入视频等。
主要代码如下:
setrs=server.createobject("ADODB.Recordset")
ifusername=emptyorusername=emptythen
username=HTMLEncode(Trim(Request.Form("username")))
userpass=md5(Trim(Request.Form("userpass")))
Ifconn.Execute("SelectidFrom[user]whereusername='"&username&"'anduserpass='"&userpass&"'").eofThenerror("你填写的用户名或者密码错误")
Response.Cookies("username")=username
Response.Cookies("userpass")=userpass
endif
icon=Request("icon")
txttitle=HTMLEncode(Trim(Request.Form("txttitle")))
content=ContentEncode(RTrim(Request.Form("content")))
ifLen(txttitle)<3thenerror("文章标题不能小于3字符")
ifLen(content)>contentlenthenerror("内容太长,不能超过"&contentlen&"字节")
ifLen(content)<3thenerror("<文章内容不能小于3字符")
ifbadwords<>emptythen
filtrate=split(badwords,"|")
fori=0toubound(filtrate)
txttitle=ReplaceText(txttitle,""&filtrate(i)&"",string(len(filtrate(i)),"*"))
content=ReplaceText(content,""&filtrate(i)&"",string(len(filtrate(i)),"*"))
next
endif
'''''''''''''''''''''''''''''''''''
sql="select*from[user]whereusername='"&HTMLEncode(username)&"'"
rs.Opensql,Conn,1,3
rs("posttopic")=rs("posttopic")+1
rs.update
userface=rs("userface")
rs.close
'''''''''
topt=replace(topt,"<#title#>",txttitle)
topt=replace(topt,"<#username#>",username)
topt=replace(topt,"<#userface#>",userface)
bottomt=replace(bottomt,"<#posttime#>",thisttime)
setaddhtmlfile=fileobject.CreateTextFile(Server.MapPath(".")&"\html\"&htmlfilename&"\"&htmlfilename&wmhtmlkzn)
addhtmlfile.writelinetopt
addhtmlfile.writeline("")
addhtmlfile.writeline("
返回首页|阅读id="&listid&""">次|upid="&listid&""">回复主题|id="&listid&""">作者编辑|window.close()"">关闭本页
")
addhtmlfile.writeline("
14px"">"&content&"
|
")
addhtmlfile.writeline("
|
")
addhtmlfile.writeline("")
addhtmlfile.writelinebottomt
Response.Cookies("posttime")=now
message="
新主题发表成功返回论坛首页"
succeed(""&message&"")
Response.End
endif
4.3发表回帖
此部分实现会员的回帖功能。
登陆的会员可以在允许会员发帖的版块进行发帖,还可以在普通版块进行回复主题帖子。
游客只能浏览帖子,不能回复帖子。
(如图4.31)
图4.31回复帖子
会员在开放的版块里如果想回复主题,便可直接点击帖子主题,点击回复主题,进到回复帖子页面后,首先要写自己回复的内容,如果会员想上传图片等,就要选择文件上传了,大小每个不能超过200K。
正文不能超过15000字,字体字号、字体颜色可以自己设置,正文还可以插入视频等。
主要代码如下:
myfilename="reply.asp"
username=Request.Cookies("username")
userpass=Request.Cookies("userpass")
upid=int(Request("upid"))
thisttime=Now()
dimlistid,topictype,orderu
ifaction="reply"andRequest.ServerVariables("request_method")="POST"then
ifRequest.Cookies("posttime")<>emptythen
ifDateDiff("s",Request.Cookies("posttime"),Now())")
endif
setrs=server.createobject("ADODB.Recordset")
ifusername=emptyorusername=emptythen
username=HTMLEncode(Trim(Request.Form("username")))
userpa