asp在线论坛系统设计

更新时间:2023-03-14 20:24:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

作品名称:

数计学院在线论坛制作

1 引言

1.1 课题背景与开发目的

BBS是Bulletin Board System的缩写,即电子公告板。它是以文字为主的界面,为广大网友提供了一个彼此交流的空间。随着互联网技术的迅猛发展,网络给人们带来了很多便利,人们借助于网络进行相互交流变得更加方便。于是,以互联网为基础的网上论坛逐渐成为人们发表言论的一个平台。一些具有前卫风格的学院BBS随着互联网的普及在各大高校建立,并逐渐成为学生之间交流信息,共享资源,娱乐休闲的场所,成为广大高校学生课余生活中不可获缺的一部分。而且在不久的将来,各种各样展现自身风格的校园BBS会深入到中学甚至小学校园。

本系统采用B/S模式设计,开发目的除了作为在校学生、老师发布消息,共享资料,娱乐休闲的平台,也可成为对外展示学院的一个“活广告”。 1.2开发环境

本系统是在windows XP操作系统下,使用小旋风asp服务器web2005和DREAMWEAVER作为开发工具进行开发的。数据库使用的是ACCESS。 1.3硬件需求

在运行本系统前,请检查一下计算机是否满足以下要求。 计算机要求的配置为:

(1) DREAMWEAVER和小旋风asp服务器web2005 (2) Microsoft Office Access2000以上版本

(3) Windows 2000/XP 简体中文版+简体中文IE5.0以上版本

2 需求分析

2.1系统概述

根据该BBS的逻辑功能划分,本系统一共分为七大功能模块,分别是用户注册和登陆模块,用户资料管理模块,帖子发表和帖子浏览模块,帖子搜索模块,版主操作模块,论坛短消息功能模块。其中版主操作又划分为帖子信息操作模块及帖子设置模块。用户资料管理模块可划分为用户密码重设模块,用户信息查询模块,用户资料修改模块。其功能结构图如图2.1所示。

论坛系统 用户资料管理 用户信息查 用户资料修帖子发表和帖子浏览 用户密码管 编辑帖子 用户登录 和注册 删除帖子 管理帖子 安全退出 回复帖子 图2-1 系统功能结构图

(1)用户注册和登陆模块 主要是完成新用户的注册,将新用户注册信息加入数据库;登陆模块主要验证用户身份,使用会员身份登陆论坛即可进入论坛并享有会员的使用权限。 (2)用户资料管理模块

主要功能是注册用户可以随意修改自己的个人信息,可随时查询其他用户的个人资料;如果不幸遗忘自己的登陆密码,还可利用本论坛的密码重设功能,重设密码,极大的方便了用户使用。

(3)帖子发表和帖子浏览模块

本论坛最主要的功能,登陆用户和游客都可随意点击感兴趣的帖子进行浏览,而登陆用户还可以随时在论坛里发表自己的文章,或者对论坛里的帖子进行回复。 (4)版主操作模块

本论坛管理者才拥有的功能,可以对论坛中任意版块的帖子进行固顶,加精,删除等操作,还可以对论坛的一些基本设置进行修改。 (5)安全退出功能模块

进入本论坛之后,如果用户没有进行注册或者登录,那么为游客身份。而本例对于用户的要求是:只有成功注册的用户才可以回复留言信息,当游客单击“回复主题”超级链接时,将会重定向到系统首页。为方便注册,在首页中提供了用户注册以及登录功能。单击“用户注册”超级链接,就可以以注册的用户身份登录本论坛,从而具备删除主题、回复信息功能(只有管理员也就是版主具备该权限)以外的所有权限,并享有一个离线的功能,即“退出功能”。如果没有退出的话,非注册用户也可以通过当地浏览器以当前用户的身份进入本论坛。 2.2系统角色划分

本系统操作用户按不同级别依次可分为:游客,普通会员用户、版主。高级别的用户可以继承低级别用户的公用功能。同时,各级别用户具有一定的只有以本级别身分登录才具有的私有功能。

1.游客:只能进入论坛浏览帖子,无其他权限。

2.普通会员:浏览帖子,发表或回复帖子、资料维护、文章搜索、论坛短消息。 3.版主: 4.管理员:除会员基本功能外,可对所有版块的文章进行固顶,加精,删除等,并且有论坛设置修改权限。

3 系统总体设计 3.1关键技术

3.1.1 ASP技术

ASP技术是一种类似HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common Gateway Interface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。 其特点归纳如下:

1. ASP可以和HTML或其他脚本语言(VB Script与Java Script)互相嵌套。 2. ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。 3. ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。

4. ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。 5. ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。 3.1.2 数据库技术

在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的

组合模式。

3.2方案选择

3.2.1 数据库需求分析

根据系统功能和数据流程,可以确定一下数据项和数据结构:

1.会员信息:包括会员标示ID号,姓名,性别,地址,邮箱,发帖数,人气数等论坛资料。

2.论坛配置信息:包括创建时间,会员总数,时间等。 3.版块信息:版块说明,版主等。

4.论坛帖子信息:帖子号,作者,内容,发表日期,回复数等。 3.2.2 数据库设计

在编写论坛之前,首先要规划好论坛的数据库结构。数据库主要用于保存和管理用户的个人资料和帖子内容以及发帖数据。留言板系统的数据库设计采用Access2000创建一个名为forum的数据库,并在库中创建DB_User和Reply以及Topic的数据表,分别用于保存会员资料数据和帖子内容以及回复资料的数据,如图3所示:

图3 论坛的数据库结构

3.2.3数据库的结构定义

forum数据库中包括DB_User和Reply以及Topic三个数据表,它们的定义如下:

(1) DB_User表结构

表1 DB_User表

(2) Reply表结构

Reply表用于保存会员发帖数、内容,其结构如表2所示

表2 Reply表

(3) Topic表结构

3.2.4数据库的链接

数据库连接操作是一个相当频繁的操作,在ASP的数据库编程中,connection对象是我们不可能离开的一个对象,该对象是ADO对象模块中的一个专门打开和关闭数据库连接的对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须以connection对象的建立为前提。形象地来说,connection对象就是程序与数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,本系统首先建立一个connection对象的实例变量,然后才能在它的基础上建立Recordset对象实例来操作数据库。这里首先利用connection对象的属性ConnStr 设置数据库的连接方式,使用的是Access OLE DB驱动程序。

本设计还使用了server对象的Server.MapPath(Path)方法,作用是将(path)指定的虚拟路径转换为实际路径,大大提高了本系统的移植性。然后使用server.createobject方法建立connection对象的实例变量conn,使用connection对象的Open方法打开数据库连接,核心代码如下: <%

set conn=server.CreateObject(\

sql=\Server.MapPath(\conn.open(sql)

%>

4 详细设计(代码设计)与系统实现

本系统的详细设计(即代码设计)主要包括以下几个部分: 1. 用户注册和登录模块设计 2. 查看帖子信息模块设计 3. 发表主题信息功能设计

4. 回复主题信息功能设计 5. 删除主题信息设计

4.1用户登录与注册

进入本论坛之后,如果用户没有进行注册或者登录,那么为游客身份。而本例对用户的要求是:只有成功注册的用户才可以回复留言信息,当用户单击“回复主题”时候的超级链接时,将会重新定向到系统系统首页。为了方便用户注册,在首页提供了用户注册以及登陆的功能。单击“用户注册”超级链接的时候就能享有发表、查看或者回复主题等功能。

4.1.1 登 录 界 面

图 登陆界面的代码是:

<%@LANGUAGE=\

4.1.2 新用户注册界面