《asp在线论坛系统设计.pdf》由会员分享,可在线阅读,更多相关《asp在线论坛系统设计.pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 没有 百度文库财富值 请到文库帮手网 w w w.365x u e y u a n.c o m 免费帮下载 百度文库积分 资料 本文由a m y 71250贡献 d o c 1。作品名称:数计学院在线论坛制作 1 引言 1.1 课题背景与开发目的 BBS 是 Bu l l e t i n Bo a r d Sy s t e m 的缩写,即电子公告板。它是以文字为主的界面,为广大 网友提供了一个彼此交流的空间。随着互联网技术的迅猛发展,网络给人们带来了很多便利,人们借助于网络进行相互交流变得更加方便。于是,以互联网为基础的网上论坛逐渐成为人 们发表言论的一个平台。一些具有前卫风格的学院 BBS
2、 随着互联网的普及在各大高校建立,并逐渐成为学生之间交流信息,共享资源,娱乐休闲的场所,成为广大高校学生课余生活中 不可获缺的一部分。而且在不久的将来,各种各样展现自身风格的校园 BBS 会深入到中学 甚至小学校园。本系统采用 B/S 模式设计,开发目的除了作为在校学生、老师发布消息,共享资料,娱 乐休闲的平台,也可成为对外展示学院的一个“活广告”。1.2 开发环境 本 系 统 是 在 w i n d o w s XP 操 作 系 统 下,使 用 小 旋 风 a s p 服 务 器 w e b 2005 和 DREAMWEAVER 作为开发工具进行开发的。数据库使用的是 ACCESS。1.3
3、硬件需求 在运行本系统前,请检查一下计算机是否满足以下要求。计算机要求的配置为:(1)DREAMWEAVER 和小旋风 a s p 服务器 w e b 2005(2)Mi c r o s o f t Of f i c e Ac c e s s 2000 以上版本(3)Wi n d o w s 2000/XP 简体中文版简体中文 IE5.0 以上版本 需求分析 2.1 系统概述 根据该 BBS 的逻辑功能划分,本系统一共分为七大功能模块,分别是用户注册和登陆 模块,用户资料管理模块,帖子发表和帖子浏览模块,帖子搜索模块,版主操作模块,论坛 短消息功能模块。其中版主操作又划分为帖子信息操作模块及帖
4、子设置模块。用户资料管理 模块可划分为用户密码重设模块,用户信息查询模块,用户资料修改模块。其功能结构图如 图 2.1 所示。论坛系统 用户资料管 理 帖子发表和 帖子浏览 用户登录 和注册 管理帖子 安全退出 用户信息查 用户资料修 用户密码管 编辑帖子 删除帖子 回复帖子 图 2-1 系统功能结构图 (1)用户注册和登陆模块 主要是完成新用户的注册,将新用户注册信息加入数据库;登陆模块主要验证用户身份,使用会员身份登陆论坛即可进入论坛并享有会员的使用权限。(2)用户资料管理模块 主要功能是注册用户可以随意修改自己的个人信息,可随时查询其他用户的个人资料;如果不幸遗忘自己的登陆密码,还可利用
5、本论坛的密码重设功能,重设密码,极大的方 便了用户使用。(3)帖子发表和帖子浏览模块 本论坛最主要的功能,登陆用户和游客都可随意点击感兴趣的帖子进行浏览,而登陆用 户还可以随时在论坛里发表自己的文章,或者对论坛里的帖子进行回复。(4)版主操作模块 本论坛管理者才拥有的功能,可以对论坛中任意版块的帖子进行固顶,加精,删除等操 作,还可以p a g e 1对论坛的一些基本设置进行修改。(5)安全退出功能模块 进入本论坛之后,如果用户没有进行注册或者登录,那么为游客身份。而本例对于用户 的要求是:只有成功注册的用户才可以回复留言信息,当游客单击“回复主题”超级链 接时,将会重定向到系统首页。为方便注
6、册,在首页中提供了用户注册以及登录功能。单击“用户注册”超级链接,就可以以注册的用户身份登录本论坛,从而具备删除主题、回复信息功能(只有管理员也就是版主具备该权限)以外的所有权限,并享有一个离线 的功能,即“退出功能”。如果没有退出的话,非注册用户也可以通过当地浏览器以当前 用户的身份进入本论坛。2.2 系统角色划分 本系统操作用户按不同级别依次可分为:游客,普通会员用户、版主。高级别的用户可 以继承低级别用户的公用功能。同时,各级别用户具有一定的只有以本级别身分登录才具有 的私有功能。1.游客:只能进入论坛浏览帖子,无其他权限。2.普通会员:浏览帖子,发表或回复帖子、资料维护、文章搜索、论坛
7、短消息。3.版主:4.管理员:除会员基本功能外,可对所有版块的文章进行固顶,加精,删除等,并且有论坛设置修改权限。3 系统总体设计 3.1 关键技术 3.1.1 ASP 技术 ASP 技术是一种类似 HTML(Hy p e r t e x t Ma r k u p La n g u a g e 超文本标识语言)、Sc r i p t 与 CGI(Co m m o n Ga t e w a y In t e r f a c e 通用网关接口)的结合体,简单的讲它是一种运行于服务器 的脚本语言,但是其运行效率比 CGI 更高、程序编制也比 HTML 更方便且更有灵活性,程序 安全性及保密性也远比
8、Sc r i p t 好。其特点归纳如下:1.ASP 可以和 HTML 或其他脚本语言(VB Sc r i p t 与 Ja v a Sc r i p t)互相嵌套。2.ASP 是一种在 We b 服务器端运行的脚本语言,因此,程序代码完全保密。3.ASP 以对象为基础,因此可以使用 Ac t i v e X 控件继续扩充其功能。4.ASP 内置 ADO 组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。5.ASP 可以将运行结果以 HTML 的格式传送至客户端浏览器,因此 ASP 可以适用于各种 浏览器。3.1.2 数据库技术 在基于微软 IIS/PWS 的网络平台上,通过服务器端
9、运行的 ASP 程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的 Ac c e s s 数据库应该是与 ASP 程序配套使用的首选。由于 Ac c e s s 数据库的 ODBC 驱动程序支持的 SQL 指令全,执行效率 高,所以 Ac c e s s 后台数据库+ASP 服务器端程序+客户端 IE 浏览器,是一个精练实用高效的 组合模式。3.2 方案选择 3.2.1 数据库需求分析 根据系统功能和数据流程,可以确定一下数据项和数据结构:1.会员信息:包括会员标示 ID 号,姓名,性别,地址,邮箱,发帖数,人气数等论坛 资料。2.论坛配置信息:包括创建时间,会员总
10、数,时间等。3.版块信息:版块说明,版主等。4.论坛帖子信息:帖子号,作者,内容,发表日期,回复数等。3.2.2 数据库设计 在编写论坛之前,首先要规划好论坛的数据库结构。数据库主要用于保存和管理用户的 个人资料和帖子内容以及发帖数据。留言板系统的数据库设计采用 Ac c e s s 2000 创建一个名 为 f o r u m 的数据库,并在库中创建 DB_Us e r 和 Re p l y 以及 To p i c 的数据表,分别用于保存会 员资料数据和帖子内容以及回复资料的数据,如图 3 所示:图 3 论坛的数据库结构 3.2.3 数据库的结构定义 f o r u m 数据库中包括 DB_
11、Use r 和 Re p l y 以及 To p i c 三个数据表,它们的定义如下:(1)DB_Us e r 表结构)表1 DB_Us e r 表 (2)Re p l y 表结构)Re p l y 表用于保存会员发帖数、内容,其结构如表 2 所示 表2 Re p l y 表 (3)To p i c 表结构)3.2.4 数据库的链接 数据库连接操作是一个相当频繁的操作,在 ASP 的数据库编程中,c o n n e c t i o n 对象是 我们不可能离开的一个对象,该对象是 ADO 对象模块中的一个专门打开和关闭数据库连接的 对象,在对数据库进行任何的操作,比如更新p a g e 2记录,
12、插入,删除,检索等,都必须以 c o n n e c t i o n 对象的建立为前提。形象地来说,c o n n e c t i o n 对象就是程序与数据库沟通的管道,所 有对数据库的操作,都必须经过它,因此,本系统首先建立一个 c o n n e c t i o n 对象的实例变 量,然后才能在它的基础上建立 Re c o r d s e t 对象实例来操作数据库。这里首先利用 c o n n e c t i o n 对象的属性 Co n n St r 设置数据库的连接方式,使用的是 Ac c e s s OLE DB 驱动程序。本设计还使用了 s e r v e r 对象的 Se r
13、v e r.Ma p Pa t h(Pa t h)方法,作用是将(p a t h)指定 的虚拟路径转换为实际路径,大大提高了本系统的移植性。然后使用 s e r v e r.c r e a t e o b j ec t 方法建立 c o n n e c t i o n 对象的实例变量 c o n n,使用 c o n n e c t i o n 对象的 Op e n 方法打开数据库 连接,核心代码如下:4 详细设计(代码设计)与系统实现 详细设计(代码设计)本系统的详细设计(即代码设计)主要包括以下几个部分:1.用户注册和登录模块设计 2.查看帖子信息模块设计 3.发表主题信息功能设计 4.回
14、复主题信息功能设计 5.删除主题信息设计 4.1 用户登录与注册 用户登录与 登录与注册 进入本论坛之后,如果用户没有进行注册或者登录,那么为游客身份。而本例对用户的 要求是:只有成功注册的用户才可以回复留言信息,当用户单击“回复主题”时候的超级链 接时,将会重新定向到系统系统首页。为了方便用户注册,在首页提供了用户注册以及登陆 的功能。单击“用户注册”超级链接的时候就能享有发表、查看或者回复主题等功能。图 4.1.1 登 录 界 面 图 4.1.2 登陆界面的代码是:新用户注册界面%i f r e q u e s t.Fo r m(Us e r Na m e)a n d r e q ue s
15、 t.Fo r m(PWD)t h e n s e s s i o n(Us e r Na m e)=r e p l a c e(r e q u e s t.Fo r m(Us e r Na me),)s e s s i o n(PWD)=r e p l a c e(r e q u e s t.Fo r m(PWD),)s q l=s el e c t Us e r Na m e,PWD f r o m DB_Us e r w h e r e Us e r Na m e=&s e s s i o n(Us e r Na m e)&se t r s=c o n n.e x e c u t e(s
16、 q l)i f r s.e o f t h e n%用户登录&n b s p;用户名:&n b s p;密 码:b o r d e r=0 c e l l p a d d i n g=-2 b o r d e r=0 c e l l p a d d i n g=-2 b o r d e r=0 ce l l p a d d i n g=-2 c e l l s p a c i n g=-2 b a c k g r o u n d=i m a g e s/l o g i n _BBS.g i f 4.2 查看帖子信息模块设计 查看帖子信息 信息模块设计 帖子信息就是供别人浏览查看,使他人分享自
17、己的想法和经验的信息。进入论坛首页,单 击讨论主题超链接,将进入到查看主题信息页面,该页面主要以列表的形式浏览帖子的主题 和帖子的全部内容。运行结果如图 4.2.1 所示。图 4.2.1 查看帖子信息(1)利用包含文件命令#i n c l u d e f i l e 引用数据库配置文件,即可以访问数据库。(2)分别创建回复主题信息、发表主题信息和用户信息3个记录集。%i f Req u e s t.Qu e r y St r i n g(ID)t h e n s e s s i o n(To p i c ID)=Re q u e s t.Qu e r y St r i n g(ID)e n d
18、 i f s e t r s t o p i c =Se r v e r.Cr e a t e Ob j e c t(ADODB.Re c o r d s e t)s q l _T=SELECT*FROM To p i c WHERE ID=&Re q u e s t.Qu e r y St r i n g(ID)r s t o p i c.o p e n s ql _T,c o n n,1,3 s e t r s r e p l y =Se r v e r.Cr e a t e Ob j e c t(ADODB.Re c o r d s e t)s q l _R=SELECT*FROM Re
19、 p l y WHERE To p i c ID=&Re q u e s t.Qu e r y St r i n g(ID)&ORDER BYp a g e 3 Cr e a t e Ti m e DESC r s r e p l y.o p e n s q l _R,c o n n,1,3 自动计算人气指数 Hi t=UPDATE To p i c SET Hi t=h i t+1 WHERE ID=&Re q u e s t.Qu e r y St r i n g(ID)&c o n n.Ex e cu t e(Hi t)s e t r s s t a t u s =Se r v e r.
20、Cr e a t e Ob j e c t(ADODB.Re c o r d s e t)s q l _S=SELECT Us e r Na m e,Fl a g FROM DB_Us e r WHERE u s e r Na m e =&s e s s i o n(Us e r Na m e)&r s s t a t u s.o p e n s q l _S,c o n n,1,3 s e s s i o n(t o p i c)=r s t o p i c(t i t l e)%(3)检索数据库中的数据,根据用户的选择的主题 ID 显示主题及其回复的详细信息,同 时不要忘记更新主题的点击数
21、。主题回复信息以分页的形式输出到浏览器中,每页显示 3 条回复信息。关键代码如下:发起人 t ar g e t=_b l a n k 发 表 时 间:新话题 c l a s s=l 回复主题%m a na g e r=r s s t a t u s(f l a g)i f (m a n a g e r 版主)t h e n%删除主题 删 除 主 题 回首页 无回复信息!%分页 r s r e p l y.p a g e s i z e=3 p a g e=CLn g(Re q u e s t(p a g e)i f p a g e 回复人 t a r g e t=_b l a n k 发表时
22、间:新话题%m a n a g e r=r s s t a t u s(f l a g)i f (m a n a g e r 版主)t h e n%删除回复 c l a s s=l 删除回复 回首页 当前显示第 到 个 回 复,共 有 个回复%i f p a g e 1 t h e n%?p a g e=1 c l a s s=l 第一页?p a g e=c l as s=l 上一页%e n d i f i f p a g e r s r e p l y.p a g e c o u n t t h e n%p a g e=c l a s s=l 下一页?p a g e=c l a ss=l 最
23、后一页 4.3 发表主题信息 发表主题信息是论坛为了互相讨论话题而诞生的,发表主题信息就是表达自己的看法,与他人进行讨论,因此主题信息是论坛首要的功能。用户在查看主题信息页面中,单击“贴 新主题”或“新话题”超级链接,都可以进入“发表新主题”的页面,发表主题信息。运行 结果如 4.3 所示。(1)利用包含文件命令#i n c l u d e f i l e 引用数据库配置文件,即可以访问数据库。(2)利用 r e q u e s t 对象接收发表主题信息,然后将用户的发帖信息保存到主题信息表中,程 序代码如下:%i f r e q u e s t.Fo r m(t i t l e)t h e
24、n t i t l e=r e q u e s t.Fo r m(t i t l e)Au t ho r=r e q u e s t.Fo r m(Au t h o r)Oi c q=r e q u e s t.Fo r m(Oi c q)Ho m e Pa g e=r e q u e s t.Fo r m(Ho m e Pa g e)e m a i l=r e q u e s t.Fo r m(e m a i l)Fa c e=r e q u e s t.Fo r m(Fa c e)c o n t e n t=r e q u e s t.Fo r m(c o n t e n t)INS=In
25、 s e r t i n t o To p i c (Ti t l e,Au t h o r,Oi c q,Ho m e Pa g e,Em a i l,Fa c e,Co n t e n t)v a l u e s(&t i t l e&_ ,&Au t h o r&,&Oi c q&,&Ho m e Pa g e&,&Em a i l&,&Fa c e&,&Co n t e n t&)c o n n.e x e c u t e(INS)%4.4 回复主题信息 当用户浏览主题时,可能会对该主题有自己的看法,此时用户可以在查看主题信息页面 单击“回复主题”超链接,进入到回复主题页面来发表自己的
26、意见和想法。运行结果如下图 4.4p a g e 4 图 4.4 回复主题信息(1)利用包含文件命令#i n c l u d e f i l e 引用数据库配置文件,即可以访问数据库。(2)创建记录集,并且利用 If 语句控制主题信息不为空,说明存在发表主题信息,然后利 用 In s e r t i n t o 语句向回复信息表中添加回复信息,再利用 UPDATE 语句更新回复留言的数 量和时间,最后弹出回复成功的提示信息,并将网页重定向到查看主题信息页面。程序代码 如下:%i f r e q u e s t(ID)t h e n s e s s i o n(ID)=r e q u e s t
27、(ID)e n d i f s e t rs r e p l y=Se r v e r.Cr e a t e Ob j e c t(ADODB.Re c o r d Se t)s q l _R=Se l e c t *f r o m To p i c wh e r e ID=&s e s s i o n(ID)r s r e p l y.o p e n s q l _R,c o n n,1,3 i f r e q u e s t.Fo r m(t o p i cID)t h e n t o p i c ID=r e q u e s t.Fo r m(t o p i c ID)Au t h o
28、r=r e q u e s t.Fo r m(Au t h o r)Oi c q=r e q u e s t.Fo r m(Oi c q)Ho m e Pa g e=r e q u e s t.Fo r m(Ho m e Pa g e)e m a i l=r e q u e s t.Fo r m(e m a i l)Fa c e=r eq u e s t.Fo r m(Fa c e)c o n t e n t=r e q u e s t.Fo r m(c o n t e n t)INS=In s e r t i n t o Re p l y (To p i c ID,Au t h o r,Oi
29、 c q,Em a i l,Ho m e Pa g e,Fa c e,Co n t e n t)v a l u e s(&To p i c ID&_,&Au t h o r&,&Oi c q&,&Em a i l&,&Ho m e Pa g e&,&Fa c e&,&Co n t e n t&)c o n n.e x e c u t e(INS)s e t b a c k r e p l y =Se r v e r.Cr e a t e Ob j e c t(ADODB.Re c o r d s e t)s q l _T=SELECT*FROM To p i c WHERE ID=&Se s
30、s i o n(ID)&b a c k r e p l y.o p e n sq l _T,c o n n,1,3 UP_R=UPDATE To p i c SET r e p l y=r e p l y+1,r e p l y t i m e=n o w()WHERE ID=&s e s s i o n(ID)&c o n n.Ex e c u t e(UP_R)%4.5 删除主题以及回复信息 删除主题以及回复信息 当用户为版主时,可以删除任何的帖子(包括其他人员发布的帖子)。如果用户是该帖 的发布者,那么该用户同样拥有删除此帖的权利。在开发专业论坛网站的过程中,版主拥有 删除该论坛主题以及
31、回复信息的权利。Bb s 的版块有公共和私有之分。公共的模板是任何登 录本系统的用户都能看到的。私有的模块是只有指定的成员才能进入。运行本实例,以管理 员的身份登录本论坛,在查看主题信息页面,“删除主题”和“删除回复”超级链接处于可 用状态。单击“删除主题”超级链接,弹出“该主题已经删除”的信息,并且将同时删除与 该帖绑定的回复信息;单击“删除回复”超级链接,进入“删除回复”页面,结果如图 4.5 所示。(1)利用包含文件命令#i n c l u d e f i l e 引用数据库配置文件,即可以访问数据库。(2)创建记录集,并且利用 If 语句判断如果管理员单击了“确定删除”按钮,就利用 D
32、e l e c t 语句删除将&s e s s i o n(“RID”)所指定的回复信息并从回复信息表中删除,然后弹出删除成 功的提示信息,并且重定向页到主题信息页面。程序代码如下:%i f (Re q u e s t.Qu e r y St r i n g(ID)t h e n s e s s i o n(RID)=Re q u e s t.Qu e r y St r i n g(ID)s e t r s r e p l y =Se r v e r.Cr e a t e Ob j e c t(ADODB.Re c o r d s e t)s ql _R=SELECT*FROM Re p l
33、y WHERE ID=&s e s s i o n(RID)r s r e p l y.o p e n s q l _R,co n n,1,3 TID=r s r e p l y(To p i c ID)i f r e q u e s t.Fo r m(b u t t o n)=确定删除t h e n DEL=De l e t e f r o m Re p l y w h e r e ID=&s e s s i o n(RID)c o n n.e x e c u t e(DEL)%4.6 安全退出 进入本论坛之后,如果用户没有进行注册或者登录,那么为游客身份。本例对于用户的 要求是:只有成功注
34、册的用户才可以回复留言信息,当游客单击“回复主题”超级链接时,将会重定向到系统首页。为方便注册,在首页中提供了用户注册以及登录功能。单击“用户 注册”超级链接,就可以以注册的用户身份登录本论坛,从而具备删除主题、回复信息功能(只有管理员也就是版主具备该权限)以外的所有权限,并享有一个离线的功能,即“退出 功能”。如果没有退出的话,非注册用户也可以通过当地浏览器以当前用户的身份进入本论 坛。五、网站测试与性能分析 本系统采取的测试方法是先进行各模块测试,经过修改和调整通过以后,进行总体测试。测试结果各项功能均已经或基本达到设计要求。本网站采用的测试环境是:服务器采用 Wi n d o w s x
35、 p 操作系统+IIS 信息服务管理:客户 机采用的是 Wi n d op a g e 5w s 98 操作系统+IE 浏览器 六、结束语 论坛是随着网络的普及,越来越丰富的产物,也是深受广大网民的喜爱。本系统也是基 于网页制作的 a s p 系统,主要的是实现了查看帖子信息、发表主题信息、回复主题信息、删 除主题信息以及回复信息和安全退出 5 个典型实例对论坛进行详细描述。通过此次系统设 计,我掌握了如何在 a s p 中连接数据库。为了加强界面的美观程度,还运用了 p s 软件。一 开始登陆界面的实现不是很顺利,在链接上出了一些问题。后来查了相关资料,解决了这一 困难,此网站也有很多不足之处,功能还不是很多,因为个人技术有限,好友私下的交流功 能其实也是可以添加进去。本次系统也只是将版主作为系统的管理员,其实此系统完全可以 设立两个维护人员,一个是管理员、还有一个就是版主。虽然如此,本次系统我还是收获了 很多,学到了许多知识。对于系统不足之处,我也会不断学习,不断去完善。p a g e 6
限制150内