首页 > 编程语言 >ASP+ACCESS教学评估系统

ASP+ACCESS教学评估系统

时间:2024-05-27 14:58:51浏览次数:23  
标签:ASP 新闻 用户 留言板 ACCESS 管理员 模块 留言 教学评估

摘  要:本文从计算机系的实际情况出发,经过对计算机系本科评估事项的一番考察和分析,确立了计算机系本科评估网站具体实现功能。并阐述网站的结构设计和功能设计,实现用户的分类显示、最近新闻的提示、留言板功能等。管理员用户可以通过Web浏览器,以人机交互式的客户端程序实现对本科评估新闻的发布、管理。本系统是计算机系WEB站点的一个子系统,具有很好的外部接口,能够很好的配合计算机系站点的其它子系统服务于全系的教学工作。

关键词: 动态;  ASP;  SQL SERVER 2000

3.2网站系统分析

根据据前面的设计思想进行分析,按照系统开发的基本观点对网站进行分解,从内容上可对网站作如下划分:

迎评概况  通过系情概况、教师队伍和一些有特色的图片等内容来展现。

评估信息  评估信息通过迎评文件,迎评问答和指标体系等来展现,主要是介绍评估的理论和方法为课堂教学评估做好组织准备和方案准备,全面回答了为什么要评(评估目的)、评谁(评估对象)、评什么(评估内容)、怎么评判(评估标准和评估指标)和怎样评(评估方法)等问题,其中评估指标体系的制定是关键性、决定性的工作。

信息发布 通过公告栏等栏目来实现,内容有评估政策、活动安排等。

部分系务 通过上传下载功能,方便学生,老师从网上获得系教学所用材料提高教学工作的办事效率。

留言板   通过留言板可获得对我系评估工作的意见,同时可通过回帖对本科评估工作进行解释说明。

3.3主页设计

网站主页采用静、动相结合的方式,即静态的主画面和动态的新闻和交互式留言板相结合,体现计算机系的勃勃生气,静态主页方式介绍系情系貌、优点特色;对于信息发布、动态新闻和留言板的的实现,就得利用ASP与数据库结合的技术建立数据库管理系统,采用交互式的动态的web画面来实现。

主页主要结构图如图3.1:

3.4数据库设计

采用的数据库是Microsoft SQL Server2000,拟建立LunWen.mdf库文件,包含如下几个表文件:

Users       用户信息表

Content     留言信息表

News        新闻信息表

3.5网站主要功能模块的分析

本网站主要包括用户信息模块,新闻管理模快,留言板和最新公告模块。

3.5.1用户信息模块

本系统用户包括注册用户和网站管理员,未注册用户可以通过留言板主页进行注册。注册用户成功登录后可进入留言板页面进行修改个人信息和发布留言等。网站管理员除具有普通用户的权限外,更重要是通过管理页面对网站用户、留言板、新闻进行管理和数据库的维护。

3.5.2新闻管理模块  

主要包括添加新闻、修改新闻、删除新闻等。

添加新闻  管理员可根据需要将最新的评估新闻通过添加新闻功能发布出去。

修改新闻  当新闻发布出去发现需要修改时,管理员可进入新闻管理在需要修改的新闻后点击修改,就可对新闻进行修改。

删除新闻  当有的新闻已经失去时效意义时,管理员可进入新闻管理选中要删除的新闻点击删除将其删除。

3.5.3 留言板模块

本模块是注册用户使用模块,注册用户在主页登录后,点击留言板就可进入留言板,未注册用户可直接点留言板,在留言板主页注册。为方便管理本系统将用户管理与留言管理合在一起,所以留言板分为两个模块,管理员留言模块和注册用户留言模块。

注册用户留言  注册用户在主页或留言板主页登录后,进入注册用户留言板,在这里可以修改自己的用户信息、发布新贴、删除自己的发贴及在其它话题中的跟贴留言。

管理员留言    管理员在主页或留言板主页登录成功后,进入管理员留言板,在这里管理员可以进行用户管理、发布新贴、其他话题中的跟贴留言,还可以对留言信息进行管理,包括删贴和置顶等。

3.5.4 最新公告模块

    该模块主要是为了直接从主页看到最新的评估新闻、信息而设定。它实现从数据库中读取按发布时最新的信息在公告栏中滚动,并且点击标题就能立即浏览新闻。

功能模块大致流程如图3.2:

图3.2 功能模块结构图

4.1网站数据库的设计与实现

数据只有用数据库来管理才能有自动化管理的可能。数据的结构将影响整个管理机制的应用,而且一但建立以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构[2]。

  1. 打开Microsoft SQL Server2000数据库,进入查询分析器中执行Transact-SQL语句如图4.1:     

                        图4.1  查询分析器主界面

点击运行按扭就可完成库的创建。  

  1. User表  用来存储系统用户的信息,创建过程同上在查询分析器中执行Transact-SQL语句:

USE LunWen

GO

CREATE TABLE Users

( UserId            Int Primary Key IDENTITY,

 UserName         Varchar(50) NOT NULL,

     UserPwd          Varchar(50) NOT NULL,

     Ename            Varchar(50),

     Email            Varchar(50),

     Logo             Char(10)

)

GO

INSERT INTO Users (UserName, UserPwd, Ename, Email, Logo) VALUES('Admin', 'Admin', '', '', '1.gif')

GO

在创建Users表后,将执行INSERT INTO命令插入默认的系统管理员用户Admin,默认密码也是Admin.

表Users结构如表4-1:

表4-1   用户数据表

编号

字段名称

数据结构

说明

1

UserId

Int

用户ID号

2

UserName

Varchar(50)

用户名

3

UserPwd

Varchar(50)

密码

4

Ename

Varchar(50)

用户姓名

5

Email

Varchar(50)

电子邮箱

6

Logo

Char(10)

头像文件名

(3)News表   用来保存网站新闻信息,在查询分析器中执行Transact-SQL语句:

USE LunWen

GO

CREATE TABLE News (

  Id           Int IDENTITY PRIMARY KEY ,

  Title         Varchar (50) NOT NULL ,

  PostTime      Datetime NOT NULL ,

  Content       Text NOT NULL

)

GO

就可建立新闻信息表,其结构如表4-2:

表4-2  新闻信息表

编号

字段名称

数据结构

说明

1

Id

Int

新闻编号

2

Title

Varchar(50)

新闻题目

3

Content

Text

新闻内容

4

PostTime

datetime

提交时间

(4)Content表  用来保存论坛留言的标题,在查询分析器中执行Transact-SQL语句:USE LunWen

 GO

CREATE TABLE Content

( ContId          Int Primary Key IDENTITY,

  Subject         Varchar(50) NOT NULL,

  Words          Varchar(1000),

  UserName        Varchar(50),

  CreateTime      Char(30),

  LastAnswerTime  Char(30),

  HitCount         Int,

  IsTop            bit,

  UpperId          Int

)

GO  

在LunWen.mdf中就完成留言信息表的建立,其结构如表4-3:

表4-3  留言信息表

编号

字段名称

字段名称

说明

1

CountId

Int

留言ID号

2

Subject

Varchar(50)

留言标题

3

Words

Varchar(100)

留言内容

4

UserName

Varchar(50)

留言人用户名

5

CreateTime

Char(30)

创建日期和时间

6

LastAnswerTime

Char(30)

最后回复的日期和时间

7

HitCount

Int

点击数

8

IsTop

Bit

置顶标记,IsTop=1,表置顶,IsTop=0,表不置

9

UpperId

int

上级留言ID,如果不是回帖,则UpperId=0

4.2具体功能模块的设计与实现

4.2.1用户管理模块的设计与实现:

在LunWen.mdf数据库中建立了一个 Users表,它存储着用户的基本资料,其中主键为User表中的ID,每一个用户只有唯一的一个ID,来标识用户。用Users数据表来实现网站最基本的用户信息管理功能:注册新用户、已注册用户的后台管理。

新用户注册的设计与实现:

 新用户必须注册后才能在留言板发贴,所以新用户必须在注册页面填写新用户的基本资料,然后由程序判断是否按要求填写,用户名是否重复等,有效性可用JavaScipt来判断,这样可以减轻服务器的负荷量。

主要代码实现如下:

<script Language="JavaScript">

function ChkFields() {

    if (document.myform.UserName.value=='') {

       window.alert ("请输入用户名!");

       myform.UserName.focus();

       return false

    }

    if (document.myform.UserName.value.Length<=2) {

       window.alert ("请用户名长度必须大于2!");

       myform.UserName.focus();

       return false

    }

    if (document.myform.Pwd.value.length<6) {    

       window.alert ("新密码长度大于等于6!");

       myform.Pwd.focus();

       return false

    }

    if (document.myform.Pwd.value=='') {     

       window.alert ("请输入新密码!");

       myform.Pwd.focus();

       return false

    }

    if (document.myform.Pwd1.value=='') {    

       window.alert ("请确认新密码!");

       myform.Pwd1.focus();

       return false

    }

    if (document.myform.Pwd.value!=document.myform.Pwd1.value) {              window.alert ("两次输入的新密码必须相同!");

       return false

    }

    return true

}

</script>

<form method="POST" action="UserSave.asp" name="myform" οnsubmit="return ChkFields()">

以上程序创建了名myform的表单,其中表单的信息传送方式为POST,表单提交给UserSave.asp文件执行,单击表单中的Submit控件,将触发表单的onSubmit事件,在表单中实现用户资料基本输入,当用户资料按正确格式输入后就要将用户的基本资料插入到数据库表中,以便进行其它的一些管理工作。

用户管理的设计与实现:

本系统的用户管理功能比较简单,在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动地添加到数据库中。Admin用户可以修改自身信息,用户信息以及删除注册用户,普通用户只能修改自身的用户信息和密码。功能管理模块关系如图4.2:

图4.2  用户管理功能模块

   管理员登录后进入用户管理模块,在这里管理员可以进入用户管理界面删除用户列表中的用户,也可进入修改用户信息对自身的信息进行修改。用户管理界面如4.3:

普通用户进入可查看和修改自身的信息,修改时为保证安全性必须输入原密码,在这里用到一个flag隐藏域用来标识用户是新用户还是修改用户信息。

4.2.2留言板模块的设计与实现:

本系统留言板主要是用来方便注册用户对我系本科评估工作提出宝贵意见,或咨询本科评估的有关事宜,管理员可利用回帖对用户解释,同时吸取用户意见中的有用部分,促进我系的本科评估工作,未注册用户进入留言板可以浏览留言,但不能进行发贴和其他操作。要使留言板达到更好的利用,留言板模块只有与数据库连接才能实现有效的管理, 因此本系统设计普通用户留言模块和管理员留言模块。

普通用户登录后,可以根据自己的需要发布新贴或删除自己的发贴,只要点击自己的发贴进入发贴页面点击删除就可以删除了,要发贴点击发新贴即可进入。发贴页面如图4.4:

在这里仍调用JavaScript来检查输入是否合乎规范,创建了名formadd的表单,其中表单的信息传送方式为POST,表单提交给artSave.asp文件执行,单击表单中的Submit控件,将触发表单的onSubmit事件,在表单中实现了资料基本输入,在这里UpprerId=0 用来表示不是回帖。

管理员留言模块

管理员登录进入留言板后不仅可以删除自己的留言,还可以删除注册用户的留言和将留言置顶和取消置顶的权限。

凡是涉及到管理员权限的都要进行身份验证,置顶和取消置顶是管理员才有的权限,所以要在开始代码前添加如下代码:<!-- #include file="IsAdmin.asp" -->,

   其原代码为:

<%

  If Session("UserName") <> "Admin" Then

    Response.Write("不是Admin用户,没有此权限")

    Response.End

  End If %>

4.2.3最新公告模块

该模块是为了让教师和学生登录主页后,更快更直接的了解评估动态和评估安排,该模块与后台数据库中的News表连接,在最新公告栏中依次滚动按发布时间最近的新闻,用户只要点击新闻标题即可迅速浏览新闻。

4.2.4新闻管理模块

此模块属于后台管理模块,用来发布本科评估的相关信息,这要求真实性很高,所以只有管理员才有权限访问。管理员登录成功后,点新闻管理即可进入,普通用户访问将显示没有权限。该模块包括新闻添加、修改、删除三个功能。

    添加新闻:主要方便管理员对本科评估新闻或部分系务新闻及时的发布出去。

修改新闻:主要是为了对发现发布出去的新闻内容或标题有误,而提供修改功能。

删除新闻:删除新闻也是对新闻进行管理,是对时间已久、失去意义的新闻进行删除,节省数据库新闻表的空间。删除新闻实现主要代码如下:

<%

Dim id, sql

id = Request.QueryString("id")

sql = "Delete From News Where id IN(" & id & ")"

Conn.Execute(sql)

Response.Redirect("NewsList.asp")

%>

4.3模块结合

以上介绍的功能模块,都是与数据库连接,都需要用户登录才能实现,本系统用户分为普通用户和管理员用户,不同的用户权限不同,进入的网页就不同。由于本系统留言板也需要管理,管理就要登录,为了方便管理,本系统将用户管理和留言管理合在一起,所以从主页登录和留言板主页的登录后的留言板界面应一致。

实现办法:

访问者登录时在登录页面上的创建的会话变量session 用于从数据库中获取访问者的有关信息,判断用户的身份,写入session 变量,变量将在整个网站的所有网页中都是有效的。这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页。

<!--#include file="conndb.asp"-->

<%

   name=trim(request("username"))

   mima=trim(request("pwd"))

   exec="select * from Users where Username='"&name&"' and  Userpwd='"&mima&"' "set  rs=conn.execute (exec)

  if rs.eof then '不存在那个用户名的时候,返回错误信息

   response.write "<script language=JavaScript>"  & "alert('此用户名不存在!');" & "history.back()" & "</script>"

   response.end

  end if

  if  rs("Userpwd")<> mima then   '如果密码错误,则返回

   response.write "<script language=JavaScript>"  & "alert('用户名或密码错误!');" & "history.back()" & "</script>"

   response.end

    else

          Session("Passed") = True

         Session("UserName") = rs.Fields("UserName")

         Session("UserId") = rs.Fields("UserId")

         Session("Errmsg") = ""

         response.redirect("index.asp")

  end if

  %>    

<!--#include file="conndb.asp"-->是连接数据库文件,在本系统原文件为:

<%

  Dim Conn

  Set Conn=Server.CreateObject("ADODB.Connection")

Conn.ConnectionString="driver={SQLServer};server=RENBINGBING;UID=sa;PWD=sa;Database=LunWen"

  Conn.Open %>

标签:ASP,新闻,用户,留言板,ACCESS,管理员,模块,留言,教学评估
From: https://blog.csdn.net/shmp54xmu/article/details/139220783

相关文章

  • 宝塔:续签SSL证书报错Verification failed, domain name resolution error or verifica
    网站SSL证书因为忘了续签,导致过期后无法进行续签,点击续签验证报错:Verificationfailed,domainnameresolutionerrororverificationURLcannotbeaccessed! 解决方法:1.点击SSL,在面板中选择“Let'sEncrypt”,1.1、选择DNSVerification(Wildcardsupport);1.2、......
  • net基于ASP. NET及HTML的高校官网设计论文
    目录第一章绪论11.1背景及意义11.2国内外研究概况21.3研究的内容2第二章关键技术的研究32.1net语言32.2MVC框架32.3VUE框架42.4Tomcat介绍42.5sqlserver数据库5第三章系统分析53.1系统设计目标63.2系统可行性分析63.3系统功能分析......
  • OWASP Top 10 2021
    OWASPTOP10是开放式Web应用程序安全项目(OpenWebApplicationSecurityProject)发布的年度全球最严重的十大web应用程序安全风险。截止到目前,最近一次的发布时间是2021年(上一次发布是2017年)。A01:2021-失效的访问控制   A02:2021-加密机制失效   A03:2021-注......
  • LVS精益价值管理系统DownLoad.aspx存在任意文件读取漏洞
    漏洞描述该漏洞允许攻击者通过构造特定的请求,读取服务器上的任意文件,从而可能导致敏感信息泄露。DownLoad.aspx页面接受一个文件路径作为参数,并直接将其传递给文件读取函数。这个函数没有经过严格的检查和过滤,攻击者可以通过构造恶意请求,包含相对路径或绝对路径,从而读取服务器上......
  • C#面:如果出现ASP.NET中的事件不能触发可能由于什么原因造成
    当ASP.NET中的事件不能触发时,可能由以下几个原因造成:事件绑定错误:请确保事件正确地绑定到相应的控件上。在ASP.NET中,可以通过在前端代码或者后端代码中使用事件处理程序来绑定事件。如果事件没有正确地绑定到控件上,那么事件将无法触发。页面生命周期问题:ASP.NET页面有一......
  • ASP.NET CORE kindeditor在线编辑器示例(上传多图和插入VIDEO标签)
    2024年05月26日更新以前记录都过时了,ASP.NETASPX版本的直接看他里面的示例就好,今天把自己弄的上传多图和插入video标签的代码贴上来。。以备以后需要用的时候直接复制粘贴。。。ASP.NETCORE版本,VS2022,原来里面也有个上传多图和插入视频的。。用的flash来上传多图和插入的embe......
  • ASP.NET Core 中的运行状况检查
    基本运行状况探测对于许多应用,报告应用在处理请求方面的可用性(运行情况)的基本运行状况探测配置足以发现应用的状态。基本配置会注册运行状况检查服务,并调用运行状况检查中间件以通过运行状况响应在URL终结点处进行响应。默认情况下,不会注册任何特定运行状况检查来测试任何......
  • 写入自定义 ASP.NET Core 中间件
    中间件是一种装配到应用管道以处理请求和响应的软件。ASP.NETCore提供了一组丰富的内置中间件组件,但在某些情况下,你可能需要写入自定义中间件。自定义中间件类通常,中间件封装在类中,并且通过扩展方法公开。一、内联中间件(不推荐) 请考虑以下内联中间件,该中间件通过查询字......
  • Aspire 框架预览版
    .NETAspire正式发布:简化.NET云原生开发 合集-.NETAspire(7) 1.Aspire框架预览版发布,使云原生开发和运维更加简单2023-11-162..NETAspirePreview4发布!03-153..NETAspire预览5版本发布04-114..NETASPIRE预览版7发布05-165..NETAspire预览版6发布04-......
  • ASP.NET MVC使用Layui选择多图片上传
    前言多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解。对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的upload.render方法已经帮我们封装好了,我们只管调用即可,也就是说你选中了几张图片,那么......