摘要:系统主要实现BBS网站全部功能。采用目前应用最为广泛的ASP作为开发工具来开发此系统、以保证系统的稳定性。采用目前最为流行的网页制作工具Dreamweaver和目前最为流行的动画制作工具Flash MX。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成会员的注册,会员发帖,浏览新帖等所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。我的模块是考勤承认子系统.只要的功能是从数据库里查找出所有员工的出勤和作业信息,供领导的审批。因为审批的项目多,所有要从多个表中查询,这就需要功能强大的数据库支持。如何利用COM组件在数据库里查找数据,就是本论文的核心内容。
关键字:BBS,COM组件,ASP
三、 系统设计
(一) 模块划分
基于B/S模型构建论坛分以下二个模块:
1.论坛用户管理
(1) 用户注册
将用户信息保存到数据库中。注册的信息用于在论坛中识别身份。
(2) 用户信息修改
修改数据库中的用户信息。修改信息分为两个部分。
修改用户基本信息和修改密码。
(3) 用户登录
用户输入注册的用户名密码登入系统。系统将设别用户身份。系统将用户信息和系统时间显示在主页上。
2.论坛贴子管理
(1) 发表新贴
用户登录后在论坛主页可以发表新贴。新贴是新的讨论的开始。只有登录的用户才能发表新贴。
(2) 用户回帖
论坛的用户登录以后可以回复其他人发表的贴子。只有登录的用户才能回帖。回帖能恢复文本信息不能发送图片。
(3) 删除旧帖
超级管理员登录以后可以删除过期的就贴,和违反规定的,不合法的贴子。
3.后台管理
(1) 用户管理
超级用户登录后,进入后台管理系统。点击用户管理并进入。超级用户可以编辑、删除普通用户。编辑包括修改用户信息、改普通用户为高级用户。系统的唯一管理员是admin。
(2) 贴子加精
管理员进入系统后可以设置某个贴子为精华帖子。精华帖子的图标和普通帖子的图标不同。
(3) 帖子置顶
管理员进入系统后可以设置某个贴子置顶。置顶帖子的图标和普通帖子的图标不同。
(4) 友情连接管理
管理员进入系统后可以设置友情连接。输入LOGO图标地址和连接地址,友情连接会以图片的形式出现在页面底部。
(5) 版权信息管理
管理员进入系统后可以设置版权信息。版权信息在页面的底部。
(二) 页面设计
1.论坛用户管理
(1) 用户注册
图1-1-1
(2) 用户信息修改
图2-1
图1-2-2
(3) 用户登录
图1-3-1
2.论坛贴子管理
(1) 发表新贴
图2-1-1
(2) 用户回帖
图2-2-1
(3) 删除旧帖
图2-3-1
3.后台管理
(1) 用户管理
图3-1-1
(2) 友情连接管理
图3-2-1
(3) 版权信息管理
图3-3-1
(三) 数据库设计描述
1.帖子信息表
GO
CREATE TABLE [dbo].[Content] (
[ContId] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Subject] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Words] [varchar] (1000) COLLATE Chinese_PRC_CI_AS NULL ,
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CreateTime] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[LastAnswerTime] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[HitCount] [int] NULL ,
[IsTop] [int] NULL ,
[face] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[tian] [datetime] NULL
) ON [PRIMARY]
GO
2.回复表
GO
CREATE TABLE [dbo].[HuiFu] (
[Hid] [int] IDENTITY (1, 1) NOT NULL ,
[ContId] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Hobj] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Hwords] [varchar] (1000) COLLATE Chinese_PRC_CI_AS NULL ,
[Husers] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Hsex] [varchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[Hface] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Hlasttime] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Hquan] [int] NULL ,
[Hlogo] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Hemail] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
3.链接表
GO
CREATE TABLE [dbo].[link] (
[linkid] [int] IDENTITY (1, 1) NOT NULL ,
[linkurl] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[linklogo] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
4.用户表
GO
CREATE TABLE [dbo].[Users] (
[UserId] [int] IDENTITY (1, 1) NOT NULL ,
[UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[UserSex] [varchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[UserPwd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Email] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Logo] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Qan] [int] NULL
) ON [PRIMARY]
GO
4.附加表
GO
CREATE TABLE [dbo].[FuJia] (
[banquan] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[pagenum] [int] NULL
) ON [PRIMARY]
GO
四、 系统实现
(一) 用户注册
%>
<%
set rs=con.execute("select username from users where username='"& rname &"'")
if rs.eof=false then
response.Write("用户名已经有人注册过了,请重新填写<br><br>")%>
<a href="reg.asp" class="hlink"><font class="aa" >返回注册页面</font></a>
<%else<%
set con=server.CreateObject("adodb.connection")
set rs=server.CreateObject("adodb.recordset")
con.open"provider=sqloledb.1;data source=.;uid=sa;pwd=sa;database=Discuss"
rname=request.Form("regname")
rsex=request.Form("sex")
rpass=request.Form("pwd1")
rcpass=request.Form("pwd2")
remail=request.Form("email")
rface=request.Form("face")
application("face")=rface
if rsex=1 then
fsex="男"
else
fsex="女"
set rs=con.execute("insert into users(username,usersex,userpwd,email,logo,qan) values('"&rname&"','"&fsex&"','"&rpass&"','"&remail&"','"&rface&"',0)")
response.Write("<br>恭喜您注册成功<br><br>")
response.Write("您的用户名是:<font color=red>"&rname&"</font><br><br>")
response.Write("您的密码是:<font color=red>"&rpass&"</font><br><br>")%>
<meta HTTP-EQUIV=REFRESH CONTENT='2; URL=index.asp'>
<a href="index.asp" class="hlink"><font class="aa">返回首页面</font><br><br></a>
<%end if%>
(二) 用户登录
<%
if rs.eof=false then
session.Timeout=30
session("username")=uname
session("userpassword")=upass
session("uquan")=rs("Qan")
session("face")=rs("logo")
session("usex")=rs("UserSex")
session("tt")=rs("Email")%>
登陆成功,感觉社区欢迎您<br><br><a href="index.asp" class="hlink">返回首页</a>
<meta HTTP-EQUIV=REFRESH CONTENT='2; URL=index.asp'>
<%tt=Trim(Request.Form("cook"))
select case tt
case 1
Response.Cookies("userinfo")("uname") = Trim(Request.Form("uname"))
Response.Cookies("userinfo")("upwd")=Trim(Request.Form("upwd"))
case 2
Response.Cookies("userinfo").Expires=Date+1
Response.Cookies("userinfo")("uname") = Trim(Request.Form("uname"))
Response.Cookies("userinfo")("upwd")=Trim(Request.Form("upwd"))
case 3
Response.Cookies("userinfo").Expires=Date+31
Response.Cookies("userinfo")("uname") = Trim(Request.Form("uname"))
Response.Cookies("userinfo")("upwd")=Trim(Request.Form("upwd"))
case 4
Response.Cookies("userinfo").Expires=Date+365
Response.Cookies("userinfo")("uname") = Trim(Request.Form("uname"))
Response.Cookies("userinfo")("upwd")=Trim(Request.Form("upwd"))
end select
else%>
密码或用户名错误请重新<a href="login.asp" class="hlink"><font color="#0066CC">登陆</font></a>或<a href="reg.asp" class="hlink"><font color="#0066CC">注册</font></a><br><br><a href="index.asp" class="hlink">返回首页</a>
<%end if
%>
(三) 显示发贴信息
<SCRIPT language=javascript>
<!--
function checkform(){
if (document.zhuform.zhuti.value == "" || document.zhuform.textfield.value==""){
alert("请填写主题标题或主题内容" );
document.zhuform.zhuti.focus();
return(false);
}
if (document.zhuform.zhuti.value.length>50){
alert("主题标题不能超过50个字符" );
document.zhuform.zhuti.focus();
return(false);
}
if (document.zhuform.textfield.value.length>1000){
alert("主题内容不能超过1000个字符" );
document.zhuform.zhuti.focus();
return(false);
}
}
-->
</SCRIPT>