摘 要:本文从计算机系的实际情况出发,经过对计算机系本科评估事项的一番考察和分析,确立了计算机系本科评估网站具体实现功能。并阐述网站的结构设计和功能设计,实现用户的分类显示、最近新闻的提示、留言板功能等。管理员用户可以通过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]。
- 打开Microsoft SQL Server2000数据库,进入查询分析器中执行Transact-SQL语句如图4.1:
图4.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 | | 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