ASP+ACCESS基于WEB社区论坛设计与实现

摘要:系统主要实现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>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值