,ASP程序设计,1
第 9章 设计实例 ----网上论坛
9.1 系统概述
9.2 用户登录、注册、个人资料功能模块
9.3 栏目信息功能模块
9.4 帖子管理功能模块
9.5 回复管理功能模块
9.6 论坛搜索功能模块
9.7 论坛管理功能模块
9.8 退出系统功能模块
,ASP程序设计,2
9.1 系统概述论坛系统目前已经成为各类网站 不可缺少 的模块,通过论坛系统可以 发布 信息、
阐述 观点,与别人 讨论 各种各样的话题。
此外,一些专业性质的论坛也成为了学习和探讨专业技术的 实时课堂 。
,ASP程序设计,3
9.1.1 数据库设计
1,数据库服务器,SQL Server 2000
2,数据库,bbs
3,数据表,4个
– 用户信息表 userInfo
– 栏目信息表 board
– 帖子信息表 topic
– 回复信息表 reply
,ASP程序设计,4
用户信息表 userInfo
字段名称 数据类型 长度 取值 说明
userId int 4 标识,增 1 用户编号,主键
userName varchar 20 不允许为空 用户名称
passWord varchar 20 用户登录密码
userSex char 2 用户性别
userEMail varchar 20 用户电子邮件
userSign varchar 200 用户签名
userLevel int 4 不允许为空 用户级别 ( 0:论坛管理员; 1:普通用户 ),int类型,为以后扩展使用
visitCount int 4 用户访问系统次数
topicCount int 4 用户发表帖子数目
regDate datetime 8 用户注册时间
isLocked bit 1 不允许为空 用户是否被锁定 ( 0:否; 1:是 )
,ASP程序设计,5
栏目信息表 board
字段名称 数据类型长度 取值 说明
boardId int 4 标识,
增 1
栏目编号,
主键
boardNa
me
varcha
r
20 不允许为空栏目名称
boardDesc
ription
varcha
r
100 不允许为空栏目描述
,ASP程序设计,6
帖子信息表 topic
字段名称 数据类型 长度 取值 说明
topicId int 4 标识,增 1 编号,主键
boardId int 20 不允许为空 栏目编号,外键,对应 board
表中的 boardId
topicTitle varchar 50 不允许为空 帖子标题
topicMood int 4 帖子心情图片编号 ( 用函数得到对应图片路径及名 )
topicContent text 16 帖子内容
userName varchar 20 不允许为空 发表帖子的用户名称
addTime datetime 8 发表帖子时间
readCount int 4 帖子被阅读的次数
replyCount int 4 帖子被回复的次数
,ASP程序设计,7
回复信息表 reply
字段名称数据类型 长度 取值 说明
replyId int 4 标识,增 1 编号,主键
topicId int 20 不允许为空帖子编号,外键,对应
topic表中的 topicId
replyMoo
d
int 4 回复心情图片编号
replyCo
ntent
text 16 不允许为空回复内容
userNa
me
varchar 20 不允许为空发表回复的用户名称
replyTim
e
datetime 8 发表回复时间
,ASP程序设计,8
9.1.2 功能模块划分用户登录是否正确是用户注册未注册注册成功根据权限显示不同功能模块帖子管理回复管理论坛搜索个人资料论坛管理退出系统栏目信息否
,ASP程序设计,9
1,用户登录模块根据用户输入的帐号和密码判断该用户是否合法以及具有哪些 操作权限,并根据不同的权限返回包含不同模块的页面 。
2,用户注册模块用于新用户的注册,注册成功的用户将自动登录 进入系统 。 新注册的用户默认为普通用户,不能删除帖子及回复,不能进行论坛管理 。
9.1.2 功能模块划分
,ASP程序设计,10
3,帖子管理模块普通用户若未被锁定可以 发表 帖子,编辑 帖子;论坛管理员除前面两种操作外还可以 删除 帖子 。
4,回复管理模块普通用户若未被锁定可以 发表 回复,编辑 回复;论坛管理员除前面两种操作外还可以 删除 回复 。
9.1.2 功能模块划分
,ASP程序设计,11
5,论坛搜索模块所有用户均可在论坛内 搜索 符合指定条件的帖子,并查看帖子及其回复的内容 。
6,个人资料模块所有用户登录后均可 修改 个人资料,查看 其它用户的资料 。
9.1.2 功能模块划分
,ASP程序设计,12
7,论坛管理模块论坛管理员登录后可进行论坛的管理操作,包括 栏目 的添加,修改,删除,用户的锁定,删除 。
8,退出系统结束用户在登录模块获得的 Session变量,退出 本系统,返回登录页面 。
9.1.2 功能模块划分
,ASP程序设计,13
9.1.3 系统的公共模块
1.层叠样式表文件为了使论坛系统的界面美观、风格统一、
修改方便,创建一个层叠样式表文件 css.css,
对论坛系统所有网页文件中标记的属性实行统一控制。
,ASP程序设计,14
9.1.3 系统的公共模块
2,访问权限判断文件为防止用户在未登录的状态下,直接进入论坛系统的内部页面,创建一个访问权限判断文件。在该文件中通过
Session变量 判断用户是否登录,若用户未登录,不允许用户访问页面,并转向登录页面。
,ASP程序设计,15
9.1.3 系统的公共模块
3,公用函数文件系统中几乎所有页面都要进行数据库的连接,此外,还需要一些转换函数进行数据转换 。 因此,创建一个公用函数文件 conn_fun.asp,来存放系统的公用函数 。
,ASP程序设计,16
9.1.3 系统的公共模块
4,页面的顶部显示文件为了使本系统的所有页面 顶部显示相同,
且便于修改,特将页面的顶部做成了一个单独的文件 ( top.asp),使用时将该文件包含进来即可 。
,ASP程序设计,17
9.1.3 系统的公共模块
5,页面的底部显示文件为了使本系统的所有页面 底部显示相同,且便于修改,也将页面的底部做成了一个单独的文件 ( bottom.htm),
使用时在页面最后将该文件包含进来即可 。
,ASP程序设计,18
9.2 用户登录、注册、个人资料功能模块
9.2.1 用户登录模块
9.2.2 用户注册模块
9.2.3 个人资料模块
,ASP程序设计,19
9.2.1 用户登录模块
,ASP程序设计,20
9.2.2 用户注册模块
,ASP程序设计,21
9.2.3 个人资料模块
,ASP程序设计,22
9.3 栏目信息功能模块
9.3.1 论坛栏目浏览
9.3.2 栏目帖子浏览
9.3.3 帖子与回复内容浏览
,ASP程序设计,23
9.3.1 论坛栏目浏览
,ASP程序设计,24
9.3.2 栏目帖子浏览
,ASP程序设计,25
9.3.3 帖子与回复内容浏览
( a) 未被锁定的普通用户登录
( b) 论坛管理员登录
( c) 被锁定用户登录
,ASP程序设计,26
9.4 帖子管理功能模块
9.4.1 发表新帖
9.4.2 编辑帖子
9.4.3 删除帖子
,ASP程序设计,27
9.4.1 发表新帖
,ASP程序设计,28
9.4.2 编辑帖子
,ASP程序设计,29
9.5 回复管理功能模块
9.5.1 发表回复
9.5.2 编辑回复
9.5.3 删除回复
,ASP程序设计,30
9.5.1 发表回复
,ASP程序设计,31
9.6 论坛搜索功能模块
,ASP程序设计,32
9.7 论坛管理功能模块
第 9章 设计实例 ----网上论坛
9.1 系统概述
9.2 用户登录、注册、个人资料功能模块
9.3 栏目信息功能模块
9.4 帖子管理功能模块
9.5 回复管理功能模块
9.6 论坛搜索功能模块
9.7 论坛管理功能模块
9.8 退出系统功能模块
,ASP程序设计,2
9.1 系统概述论坛系统目前已经成为各类网站 不可缺少 的模块,通过论坛系统可以 发布 信息、
阐述 观点,与别人 讨论 各种各样的话题。
此外,一些专业性质的论坛也成为了学习和探讨专业技术的 实时课堂 。
,ASP程序设计,3
9.1.1 数据库设计
1,数据库服务器,SQL Server 2000
2,数据库,bbs
3,数据表,4个
– 用户信息表 userInfo
– 栏目信息表 board
– 帖子信息表 topic
– 回复信息表 reply
,ASP程序设计,4
用户信息表 userInfo
字段名称 数据类型 长度 取值 说明
userId int 4 标识,增 1 用户编号,主键
userName varchar 20 不允许为空 用户名称
passWord varchar 20 用户登录密码
userSex char 2 用户性别
userEMail varchar 20 用户电子邮件
userSign varchar 200 用户签名
userLevel int 4 不允许为空 用户级别 ( 0:论坛管理员; 1:普通用户 ),int类型,为以后扩展使用
visitCount int 4 用户访问系统次数
topicCount int 4 用户发表帖子数目
regDate datetime 8 用户注册时间
isLocked bit 1 不允许为空 用户是否被锁定 ( 0:否; 1:是 )
,ASP程序设计,5
栏目信息表 board
字段名称 数据类型长度 取值 说明
boardId int 4 标识,
增 1
栏目编号,
主键
boardNa
me
varcha
r
20 不允许为空栏目名称
boardDesc
ription
varcha
r
100 不允许为空栏目描述
,ASP程序设计,6
帖子信息表 topic
字段名称 数据类型 长度 取值 说明
topicId int 4 标识,增 1 编号,主键
boardId int 20 不允许为空 栏目编号,外键,对应 board
表中的 boardId
topicTitle varchar 50 不允许为空 帖子标题
topicMood int 4 帖子心情图片编号 ( 用函数得到对应图片路径及名 )
topicContent text 16 帖子内容
userName varchar 20 不允许为空 发表帖子的用户名称
addTime datetime 8 发表帖子时间
readCount int 4 帖子被阅读的次数
replyCount int 4 帖子被回复的次数
,ASP程序设计,7
回复信息表 reply
字段名称数据类型 长度 取值 说明
replyId int 4 标识,增 1 编号,主键
topicId int 20 不允许为空帖子编号,外键,对应
topic表中的 topicId
replyMoo
d
int 4 回复心情图片编号
replyCo
ntent
text 16 不允许为空回复内容
userNa
me
varchar 20 不允许为空发表回复的用户名称
replyTim
e
datetime 8 发表回复时间
,ASP程序设计,8
9.1.2 功能模块划分用户登录是否正确是用户注册未注册注册成功根据权限显示不同功能模块帖子管理回复管理论坛搜索个人资料论坛管理退出系统栏目信息否
,ASP程序设计,9
1,用户登录模块根据用户输入的帐号和密码判断该用户是否合法以及具有哪些 操作权限,并根据不同的权限返回包含不同模块的页面 。
2,用户注册模块用于新用户的注册,注册成功的用户将自动登录 进入系统 。 新注册的用户默认为普通用户,不能删除帖子及回复,不能进行论坛管理 。
9.1.2 功能模块划分
,ASP程序设计,10
3,帖子管理模块普通用户若未被锁定可以 发表 帖子,编辑 帖子;论坛管理员除前面两种操作外还可以 删除 帖子 。
4,回复管理模块普通用户若未被锁定可以 发表 回复,编辑 回复;论坛管理员除前面两种操作外还可以 删除 回复 。
9.1.2 功能模块划分
,ASP程序设计,11
5,论坛搜索模块所有用户均可在论坛内 搜索 符合指定条件的帖子,并查看帖子及其回复的内容 。
6,个人资料模块所有用户登录后均可 修改 个人资料,查看 其它用户的资料 。
9.1.2 功能模块划分
,ASP程序设计,12
7,论坛管理模块论坛管理员登录后可进行论坛的管理操作,包括 栏目 的添加,修改,删除,用户的锁定,删除 。
8,退出系统结束用户在登录模块获得的 Session变量,退出 本系统,返回登录页面 。
9.1.2 功能模块划分
,ASP程序设计,13
9.1.3 系统的公共模块
1.层叠样式表文件为了使论坛系统的界面美观、风格统一、
修改方便,创建一个层叠样式表文件 css.css,
对论坛系统所有网页文件中标记的属性实行统一控制。
,ASP程序设计,14
9.1.3 系统的公共模块
2,访问权限判断文件为防止用户在未登录的状态下,直接进入论坛系统的内部页面,创建一个访问权限判断文件。在该文件中通过
Session变量 判断用户是否登录,若用户未登录,不允许用户访问页面,并转向登录页面。
,ASP程序设计,15
9.1.3 系统的公共模块
3,公用函数文件系统中几乎所有页面都要进行数据库的连接,此外,还需要一些转换函数进行数据转换 。 因此,创建一个公用函数文件 conn_fun.asp,来存放系统的公用函数 。
,ASP程序设计,16
9.1.3 系统的公共模块
4,页面的顶部显示文件为了使本系统的所有页面 顶部显示相同,
且便于修改,特将页面的顶部做成了一个单独的文件 ( top.asp),使用时将该文件包含进来即可 。
,ASP程序设计,17
9.1.3 系统的公共模块
5,页面的底部显示文件为了使本系统的所有页面 底部显示相同,且便于修改,也将页面的底部做成了一个单独的文件 ( bottom.htm),
使用时在页面最后将该文件包含进来即可 。
,ASP程序设计,18
9.2 用户登录、注册、个人资料功能模块
9.2.1 用户登录模块
9.2.2 用户注册模块
9.2.3 个人资料模块
,ASP程序设计,19
9.2.1 用户登录模块
,ASP程序设计,20
9.2.2 用户注册模块
,ASP程序设计,21
9.2.3 个人资料模块
,ASP程序设计,22
9.3 栏目信息功能模块
9.3.1 论坛栏目浏览
9.3.2 栏目帖子浏览
9.3.3 帖子与回复内容浏览
,ASP程序设计,23
9.3.1 论坛栏目浏览
,ASP程序设计,24
9.3.2 栏目帖子浏览
,ASP程序设计,25
9.3.3 帖子与回复内容浏览
( a) 未被锁定的普通用户登录
( b) 论坛管理员登录
( c) 被锁定用户登录
,ASP程序设计,26
9.4 帖子管理功能模块
9.4.1 发表新帖
9.4.2 编辑帖子
9.4.3 删除帖子
,ASP程序设计,27
9.4.1 发表新帖
,ASP程序设计,28
9.4.2 编辑帖子
,ASP程序设计,29
9.5 回复管理功能模块
9.5.1 发表回复
9.5.2 编辑回复
9.5.3 删除回复
,ASP程序设计,30
9.5.1 发表回复
,ASP程序设计,31
9.6 论坛搜索功能模块
,ASP程序设计,32
9.7 论坛管理功能模块