网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > ASP类作品 > 正文

ASP校园BBS系统

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/07

本文主要为广大网友提供“ASP校园BBS系统”,希望对需要ASP校园BBS系统网友有所帮助,学习一下!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

4.2 系统主要功能分析
4.2.1用户注册
在论坛主页的工具栏里是会员享有的一般操作选项,该工具栏由在User_Auditing.asp文件里定义的MyBBSTop()函数实现,同样只需在以后的页面调用该函数实现工具栏的显示。该函数一开始会先在Cookies里去查找会员姓名,如果发现会员姓名为空,则说明当前浏览论坛的用户未登陆,则工具栏中会显示未登陆的提示信息,以及显示未注册用户注册的信息。若是未注册会员,则可点击“注册”链接到注册页面,如下图:
4-1 会员注册页面
用户进入该页面根据要求填写上述必要的信息后,会通过表单传递的“POST”方法将输入的内容传递给后台处理页面的Reg()函数对信息进行处理,其中在传递“用户名”、“密码”及“密码问题”等信息时又调用了MayHTMLEncode和ReplaceBadChar函数。其中MayHTMLEncode函数的功能是将一些特殊符号替换成浏览器识别的符号,而ReplaceBadChar函数的功能是过滤非法的SQL字符。从而保证了用户名等信息符合网页设计的要求。当以上所有的数据都审核通过后,Reg函数便将返回的内容传递给自定义变量,然后创建一个ADO对象模块的Recordset对象实例来访问数据库的用户信息表,同样使用了Recordset对象的BOF和EOF属性来查看此用户名是否已被注册,使用一条If…else条件语句将条件定为Not (rs.Eof And rs.Bof),若为真,即数据不为空,说明用户名已被注册,则以Response对象的Redirect方法提示用户重新注册,保证了会员名的唯一性,方便论坛的管理。若条件为假,则执行else以后的操作,即创建Recordset对象实例来将当前新的用户信息添加到数据库的用户信息表里,并将新会员数加1更新,完成注册功能,同时将所有注册后的会员信息写入Cookies中。页面提示用户注册成功,以Response对象的Redirect方法跳转回论坛主页面,此时会员就可以享用所有会员权限,尽情游览论坛。
Response对象的Redirect方法是实现页面的跳转,使当前页面跳转到指定的页面。本设计中都是以ClueInfo.asp文件中的函数来提示操作完成的信息或错误信息。当操作成功时,则调用ClueInfo.asp文件中的“Yes”函数,该函数即是显示成功操作的信息,并将页面跳转链接重新定义回主页面;如果发生错误,则调用ClueInfo.asp文件中的“OtherErr”函数,该函数即是显示错误信息,然后同样将页面跳转链接重新定义回主页面,使用户可以重新操作。
4.2.2论坛显示
下图是论坛主页面,里面的分割区域将论坛五个话题不同的版块分别显示:
4-2 论坛主页面
考虑到用户访问及发帖的需要,在每个版块中以“ForumId”为不同的值表示不同的版块。版块结构中分别创建了2个Recordset对象实例来访问数据库,一个对象实例以代表版块号的“ForumId”的值为查询条件查询存放版块信息的表,将数据库里存放的版块内容和版主名字读出,并将内容以Response对象的Write方法显示到页面上;另一个对象实例以代表版块号的“ForumId”的值为查询条件查询存放在该版块所发表的文章的表,为保证所查询的结果为最近的一条信息,在查询语句中“Top 1”和“order by datetime”两个查询条件将时间最近的第一条信息以Response对象的Write方法将显示到页面上,查询语句的核心代码如下:
sql="Select Top 1 * From BBS Where ForumId=?order by datetime"
用户任意点击一个版块名称即链接到相应版块:
4-3 论坛“校园新闻”版块页面
该页面关键技术是调用的Session对象。除了在很多地方创建Recordset对象实例来访问数据库的表外,有时还必须根据需要对当前版块号“ForumId”进行保存,目的是在任意版块发帖的时候,能够将该帖子所要显示的版块号一起写入数据库,保证在哪个版块里发表的帖子能在哪个版块里显示,从而避免在不同版块发表文章却因为版块切换而造成的版块ID号与所要求的ID号不一致,不能正常显示的问题。利用Session对象的特点就可以解决这个问题。所以每个版块页面一开始都会先将版块号用Session对象保存。然后在其他地方则都是创建Recordset对象实例来访问数据库的表,然后根据表中字段情况做不同的处理。每个版块都分为两部分,一个部分是显示论坛公告等一系列重要主题的区域,另一部分则是显示普通文章的区域。所以在重要主题区域都会创建一个Recordset对象实例来访问数据库,但是都以“IsNews”为1查询条件,并用一个While条件语句来处理,若该字段为 1,则版块有公告帖,就将公告显示;若没有公告等重要主题,While条件为假,则显示为空。至于在普通主题区域里则以表示公告的“IsNews”和表示固顶的“IsTop”字段为0为查询条件查询数据库,然后将符合条件的文章主题等内容读出并在页面显示。这里用了一条Do While循环语句,只要读取帖子信息的指针没到最后,则重复执行显示信息的操作,使所有帖子都依次显示。在读取文章之前都会做关于是否为“精华”、“锁定”的判断,即多使用一条If…else条件语句,查询帖子年息中代表“精华”和“锁定”的“IsBest”,“IsLocked”语句,为真则显示提示,否则就不显示。以上所述的关键代码如下:
   session("ForumID")=1
 SQL="Select * from BBS Where IsNews=1 And RID=0 And ForumID=1 Order By ID Desc "
   While Not wc.Eof
………………………’省去部分代码
SQL="Select * From BBS Where IsTop=0 And IsNews=0 And RID=0 And ForumID = 1 Order by LastDateTime Desc"
Do While Not wc.Eof
If wc("IsBest") = the_True Then Response.Write
………………………’省去部分代码

 

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师