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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/14776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首次面试实习岗,有点紧张。。。

首次面试实习岗&#xff0c;有点紧张。。。 文章目录 首次面试实习岗&#xff0c;有点紧张。。。算法1.三角形问题2.一年中第几天问题 提问&#xff1a;一、SpringBoot的配置文件中的数据有哪几种获取方式&#xff0c;分别是怎么获取的&#xff1f;二、Autowire和Resource有什么…

卤菜销售|基于SSM+vue的智能卤菜销售平台的设计与实现(源码+数据库+文档)

智能卤菜销售平台 目录 基于SSM&#xff0b;vue的智能卤菜销售平台的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 4商家功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

windows查看mysql的版本(三种方法)

方法一&#xff1a;在win r 打开 cmd&#xff0c;在cmd命令状态下&#xff1a;mysql --help 回车即可 方法二&#xff1a;在mysql客户端窗口状态下&#xff1a;输入status并回车即可 在计算机开始菜单搜索以上应用打开即可进入mysql客户端窗口。 方法三&#xff1a;在mys…

【必会面试题】Redis如何实现分布式锁?

目录 一、为什么要使用分布式锁&#xff1f;二、什么是分布式锁&#xff1f;三、什么是Redis分布式锁&#xff1f;四、如何实现Redis分布式锁&#xff1f;1. 基础方法&#xff1a;SETNX EXPIRE2. Lua 脚本3. Redisson 实现4. Redlock 算法 五、JavaRedis分布式锁1. 基于Jedis的…

pikachu-Unsafe Filedownload

任意点击一个图片进行下载&#xff0c;发现下载的url。 http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filenamekb.png 构造payload&#xff1a; 即可下载 当前页面的源码&#xff0c;可以进行路径穿越来下载一些重要的配置文件来获取信息。 http://127.0.…

Android Audio基础——Track构造过程(十)

在 Android 中,Track 通常是指用于播放音频或视频的轨道或通道,用于音频流的控制。在这种语境下,AudioTrack 是用于播放音频的类之一,它提供了直接控制音频数据播放的功能。因此,可以说 AudioTrack 是 Android 中处理音频轨道的一种实现方式之一。 一、Track构造 我们接着…

函数对象引用题目

下列代码的输出是什么&#xff1f; python def func(x): return x1 funcs[func]*5 result[f(0) for f in funcs] print(result) A.[1,1,1,1,1] B.[1,2,3,4,5] C.[0,0,0,0,0] D.[0,1,2,3,4] 3 2 1 答案是A&#xff0c;你答对了吗&#xff1f; 解析&#xff1a; def fu…

前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践

前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践 一、同源策略&#xff1a;定义与起源1.1 定义浅析1.2 何为“源”&#xff1f;1.3 起源与意义 二、同源策略的运作机制2.1 限制范围2.2 安全边界 三、跨越同源的挑战与对策3.1 JSONP3.2 CORS3.3 postMessage 四…

VUE 创建组件常见的几种方式

在 Vue.js 中&#xff0c;组件的创建和使用通常遵循以下三种方法&#xff1a; 1. 全局组件 全局组件是通过 Vue.component() 方法创建的&#xff0c;注册后的组件可以在任何新创建的 Vue 实例&#xff08;包括根实例&#xff09;的模板中使用。 Vue.component(my-component,…

【MySQL精通之路】系统变量-持久化系统变量

MySQL服务器维护用于配置其操作的系统变量。 系统变量可以具有影响整个服务器操作的全局值&#xff0c;也可以具有影响当前会话的会话值&#xff0c;或者两者兼而有之。 许多系统变量是动态的&#xff0c;可以在运行时使用SET语句进行更改&#xff0c;以影响当前服务器实例的…

[AI Google] 10个即将到来的Android生态系统更新

新的体验带来了更强的防盗保护、手表电池寿命优化&#xff0c;以及对电视、汽车等的娱乐功能改进。 昨天&#xff0c;我们分享了Android如何以人工智能为核心重新构想智能手机。今天&#xff0c;我们推出了Android 15的第二个测试版&#xff0c;并分享了更多我们改进操作系统的…

java原型模式 (Prototype Pattern) 介绍

原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过复制现有的实例来创建新对象&#xff0c;而不是通过实例化类来创建对象。这个模式允许你创建对象时避免复杂的初始化步骤&#xff0c;并且能够动态地创建对象的副本。 原型模式的关键…

Python导入Shapefile到PostGIS的常见问题和解决方案

导入Shapefile到PostGIS的常见问题和解决方案 先决条件&#xff1a; 已经拥有含有GDAL的python环境&#xff08;如果大家需要&#xff0c;我可以后面出一片文章 问题一&#xff1a;QGIS连接到PostGIS数据库失败 错误描述&#xff1a; Connection to server at &quo…

Vue3实战笔记(40)—组件逻辑复用:自定义Hooks的完全指南

文章目录 前言一、状态管理二、副作用处理三、 生命周期钩子总结 前言 自定义Hooks是Vue3中的一个重要特性&#xff0c;它允许您创建可重用的函数&#xff0c;以便在组件之间共享状态和逻辑。以下是一些关于自定义Hooks的常见用法。 一、状态管理 使用reactive或ref来创建响应…

题解:CF1969B(Shifts and Sorting)

题解&#xff1a;CF1969B&#xff08;Shifts and Sorting&#xff09; 一、题目翻译 给定一个二进制字符串&#xff0c;你可以将其中一个子段&#xff08;注意不是子串&#xff0c;是连续的&#xff09;进行循环移位——将最后一个字符放在第一个字符之前&#xff0c;其代价为…

2024 CCF国际AIOps挑战赛·赛题与赛制解读

本文根据本届挑战赛程序委员会主席、中国科学院计算机网络信息中心副研究员裴昶华在2024 CCF国际AIOps挑战赛线下宣讲会上为《2024 CCF国际AIOps挑战赛赛题与赛制》的分享整理而成&#xff0c;全文分为挑战赛背景介绍、题目简介、流程说明和评分规则等部分&#xff0c;最后简要…

别对我动心短视频:成都鼎茂宏升文化传媒公司

别对我动心短视频&#xff1a;时代的爱情哲学与心理探索 在短视频的海洋里&#xff0c;"别对我动心"这样的标题&#xff0c;如同一颗石子投入平静的湖面&#xff0c;激起了层层涟漪。它不仅仅是对一段情感的拒绝&#xff0c;更是一种现代人情感态度的表达&#xff0…

14 vue学习:透传Attributes

Attributes 继承 “透传 attribute”指的是传递给一个组件&#xff0c;却没有被该组件声明为 [props]或 [emits]的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。 当一个组件以单个元素为根作渲染时&#xff0c;透传的 attribute 会自动被添加到根元…

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)

1.问题描述&#xff1a; 怎么判断登录的华为帐号有变动&#xff1f; 解决方案&#xff1a; 华为帐号登录成功后会返回唯一标识OpenID和UnionID&#xff0c;如果切换不同的华为帐号登录&#xff0c;这个唯一标识会变。 OpenID是华为帐号用户在不同类型的产品的身份ID&#x…

JWT Authorization header using the Bearer scheme

文章目录 引言I Json web token (JWT)1.1 JWT1.2 authentication_schemes(token authentication)1.3 SecurityScheme的实现II Swagger添加bearer token参数2.1 Swagger效果2.2 .net core Swagger实现Bearer Authentication2.3 java OpenAPI 3.0实现Bearer Authentication2.4 …