图4-1 系统流程图
4.2 各文件功能介绍及详解
1.<conn.asp>
该文件实现的是连接数据库和断开连接的功能。
文件中主要是定义了两个过程conn_init()和endConnection()。第一个是连接数据库,第二个是实现断开连接。其中conn_init()过程中的连接是通过下面语句实现的:
connstr= "DBQ=" + server.mappath("data.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
connstr确定了数据文件的路径和数据库驱动程序。
Conn的含义是定义了一个变量用,来存放数据库连接所创建的对象。
conn.open connstr则真正实现了数据库的连接。
该文件主要被包含在其他文件中实现数据库的连接和断开功能。
2.<default.asp>
该文件的功能是系统登陆的入口,在此可以实现用户注册入口,管理员管理入口以及用户进入考试系统登陆界面的功能。
该文件的功能使这样实现的:表单提交给文件本身。再由HTML上面的ASP程序对提交信息进行处理。
最上面的<%@ Language=VBScript %>表示脚本语言是VBScript。
<!--#include file="conn.asp"-->表示包含conn.asp文件。以下的程序进行了选择判断,如果提交的表单中的submit值为“登录”,就继续判断看student表中是否存在与该用户输入的用户名和密码相同的记录,如果存在就转到selectsubject.asp页进行考试科目选择。不存在就返回“对不起,请输入正确的用户名和密码。”如果submit值为“注册”,就转到register.asp页进行用户注册。如果submit的值为“管理”就转到admin文件夹中的login.asp页。重点程序如下:
set rs = server.createobject("adodb.recordset")
rs是一个变量,用来存放一个recordset对象。
sql="select * from student where studentname='" & Request.Form("studentname") & "' and studentpassword='" & Request.Form("studentpassword") & "'"
变量sql代表一个SQL语句,功能是从表student中选出用户名和密码与考生提交的用户名和密码都相同的记录。
rs.open sql,conn,1,1
该语句的功能是执行sql语句并把记录集结果存储在变量rs中。
rs.close的作用是关闭纪录。
session("studentname")=request.form("studentname")
该句的意思是把表单提交的变量studentname的值赋给一个session对象studentname。这个对象用来存储用户名,它在该用户对每个页面的访问中有效。
set rs=nothing含义是清空rs变量。
call endConnection()是调用conn.asp中的过程,用来关闭于数据库的连接。
3.<register.asp>
该文件实现了用户注册的功能,用户只要填写想要注册的用户名及密码,文件首先查看用户名是否已经存在,如果存在就提示该用户名已经存在,否则就将用户输入的信息添加到数据库中的student表内。然后用户就可以使用自己注册的用户名和密码登录在线考试系统进行在线考试。
在文件中,表单提交给register.Asp自身进行处理,如果submit值为“注册”首先进行判断看用户名或密码是否为空。如果为空就显示“错误!用户名或密码不能为空!”的信息。如果不为空,进行下一步判断,看student表中是否已经存在用户想要