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

news2024/10/5 18:24:24

摘要:系统主要实现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.coloradmin.cn/o/1689135.html

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

相关文章

CAN总线的终端电阻为什么要分布在两端?

CAN总线的终端节点需要分布在两端&#xff0c;主要是为了防止信号反射。 在任何传输线路中&#xff0c;当信号传输到线路的末端时&#xff0c;如果末端没有被正确匹配&#xff0c;就会产生反射信号。这个反射信号会沿着原来的路线返回&#xff0c;与原来的信号叠加&#xff0c;…

微信小程序开发 tabbar组件常见问题

一、 tabbar不显示问题 问题 刚开始我在app.json中配置了下面的代码&#xff0c;但tabbar并没有显示。代码如下&#xff1a; "tabBar": {"custom": true,"color": "#7A7E83","selectedColor": "#3cc51f","…

fortran77 初始化矩阵 打印矩阵 模版 备拷

1&#xff0c;源码 SUBROUTINE INIT_MATRIX(A, m, n, lda)DOUBLE PRECISION A(*)CALL SRAND(2024)DO i1, mDO j1, nA(i lda*(j-1)) RAND() RAND() C WRITE(*, (F8.4)) A(i)END DOEND DOENDSUBROUTINE PRINT_MATRIX(A, m, n, lda)DOUBLE PREC…

Undet for SketchUp 2023.3 点云建模软件 支持支持草图大师sketchup2021-2022-2023

1.Undet for sketchup 2023.3支持草图大师sketchup2021-2022-2023。支持机载雷达扫描、车载扫描还是地面扫描&#xff0c;对AEC行业用户来说&#xff0c;真正需要的是如何将这些数据快速处理为三维模型&#xff0c;这样才能将这些信息延展到BIM领域发挥效用。因此面对这些海量的…

Mask R-CNN实战

一、源码和数据集的准备 获取git开源项目代码 https://github.com/matterport/Mask_RCNN 一下载2.1的前三个文件&#xff0c;和2.0的第一个h5文件&#xff0c;coco.h5是预训练权重&#xff0c;也放入源码 项目文件结构如下&#xff1a; samples/logs:训练模型保存的位置 配置…

python+pytest+pytest-html+allure集成测试案例

pythonpytestpytest-htmlallure集成测试案例 下面是pythonpytestpytest-htmlallure四个组件同时集成使用的简单案例。 1. 项目结构 project/│├── src/│ ├── __init__.py│ ├── main.py│├── tests/│ ├── __init__.py│ ├── conftest.py│ └──…

docker容器安装mysql

linux: centOS-7 hadoop: 3.3.6 前置章节&#xff1a; (图文并茂)基于CentOS-7搭建hadoop3.3.6大数据集群-CSDN博客 可选&#xff1a;zookeeper安装教程-CSDN博客 1.安装docker 1.1 添加docker的repo源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/…

nss刷题(3)

1、[SWPUCTF 2021 新生赛]include 根据提示传入一个file后显示了关于flag的代码 这是一个文件包含&#xff0c;考虑php伪协议&#xff0c;构造payload&#xff1a; ?filephp://filter/readconvert.base64-encode/resourceflag.php 2、[SWPUCTF 2021 新生赛]Do_you_know_http …

codewars check_same_case 题解

题目 编写一个函数来检查两个给定的字符是否大小写相同。 如果任何字符不是字母&#xff0c;则返回-1如果两个字符大小写相同&#xff0c;则返回1如果两个字符都是字母且大小写不同&#xff0c;则返回0 例子 a并g返回1A并C返回1b并G返回0B并g返回00并?返回-1题解 1 此题主…

MariaDB 给指定列值自动加密(持久数据加触发器)

文章目录 代码插入时&#xff0c;自动加密更新时&#xff0c;自动加密查看触发器数据操作示例update数据取出解密取 注意一次尝试&#xff0c;看加密后数据长度 参考链接&#xff1a; 一篇非常好的讲解触发器的文章&#xff1a;示例、原理MySQL/MariaDB触发器。 用触发器自动加…

Virtuoso IC5141 实验六 全差动运算放大器设计

一、实验目的 1.学习设计二极管连接的MOS做负载的放大器&#xff0c;根据仿真现象使用理论对其分析。 2.学习设计全差动电流源作负载的差动放大器&#xff0c;根据仿真现象使用理论对其分析。 3.学习设计共源共栅全差动放大器&#xff0c;根据仿真现象使用理论对其分析。 4…

保护元件-详实的熔断器(保险丝)知识

目录&#xff1a; 一、汽车保险丝设计与选型 1、概述 2、构造及工作原理 1&#xff09;构造 2&#xff09;工作原理 3&#xff09;保险丝熔断及分断时间 4&#xff09;时间/电流特性曲线 5&#xff09;环境温度修正系数 3、熔化热能值I2t★ 4、三种电流模型 1&a…

BioMistral 7B——医疗领域的新方法,专为医疗领域设计的大规模语言模型

1. 概述 自然语言处理领域正在以惊人的速度发展&#xff0c;ChatGPT 和 Vicuna 等大型语言模型正在从根本上改变我们与计算机交互的方式。从简单的文本理解到复杂的问题解决&#xff0c;这些先进的模型展示了类似人类的推理能力。 特别是&#xff0c;BLOOM 和 LLaMA 等开源模…

html多节点生成图片并导出zip包

html多节点生成图片并导出zip包 背景 在做项目时遇到一个要将html节点展示的图片列表统一导出为zip包的需求。 难点 将html节点生成图片将多张图片加入zip包中&#xff0c;然后下载 解决html生成图片问题 参考html截图的思路使用 pnpm add html-to-image如何将图片资源生成z…

python:__class_getitem__使用以及cached_property源码分析

python&#xff1a;__class_getitem__使用以及cached_property源码分析 1 前言 Python中如何模拟泛型类型&#xff1f; 当使用类型标注时&#xff0c;使用 Python 的方括号标记来形参化一个 generic type 往往会很有用处。 例如&#xff0c;list[int] 这样的标注可以被用来表…

【openlayers系统学习】1.1渲染GeoJSON,添加link交互

一、渲染GeoJSON 在进入编辑之前&#xff0c;我们将看一下使用矢量源和图层进行基本要素渲染。Workshop在 data​ 目录中包含一个 countries.json​ GeoJSON文件。我们首先加载该数据并将其渲染在地图上。 首先&#xff0c;编辑 index.html​ 以便向地图添加深色背景&#xf…

开源RAG,本地mac启动 dify源码服务

一、Dify文档 参考官方文档来操作&#xff0c;基本没太大的问题。一些细节&#xff0c;我在本篇文章中补充了出来。 这篇文章主要讲以源码的方式启动后端服务&#xff0c;前端服务使用容器启动。 dify 文档地址 欢迎使用 Dify | 中文 | Dify Dify 本地源码部署文档&#xff…

Redis系统架构中各个处理模块是干什么的?no.19

Redis 系统架构 通过前面的学习&#xff0c;相信你已经掌握了 Redis 的原理、数据类型及访问协议等内容。本课时&#xff0c;我将进一步分析 Redis 的系统架构&#xff0c;重点讲解 Redis 系统架构的事件处理机制、数据管理、功能扩展、系统扩展等内容。 事件处理机制 Redis…

Linxu 系统中 修改 docker 镜像存放目录 修改docker默认路径。亲测有效。

1、关闭docker 服务 systemctl stop docker 2、创建新的存放路径&#xff08;-p 父级目录不存在一起创建&#xff09; mkdir /home/service/docker -p 3、移动默认路径中的镜像文件到新目录 mv /var/lib/docker/* /home/service/docker/ 4、修改docker.service 将新的路…

实操专区-第14周-课堂练习专区-饼图和圆环图、玫瑰图

实操专区-第14周-课堂练习专区-饼图和圆环图、玫瑰图 下载安装ECharts&#xff0c;完成如下样式图形。 代码和截图上传 基本要求&#xff1a;下图3选1&#xff0c;完成代码和截图 完成 3.1.3.13 饼图和圆环图、玫瑰图 中的任务点 基本要求&#xff1a;3个选一个完成&#xff0c…