在线考试系统论文
项、管理管理员选项、管理考试科目选项、管理考试纪录选项以及管理各科试题选项。管理用户的界面可以实现用户的增加、和删除的功能,管理员在此可以对用户进行管理。
管理管理员的界面,功能和管理用户的差不多,实现对管理员的增加和删除功能。
管理考试科目界面用来增加或删除考试的科目,以方便对各科试题的管理和查询。
管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成绩、考试科目、时间及考试各相关纪录进行查询和删除。
最后是试题库管理界面,它根据各科进行分类。通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。这样就十分方便灵活的对试题库进行管理。
下图就是系统流程图:
图4-1 系统流程图
4.2 各文件功能介绍及详解
1.该文件实现的是连接数据库和断开连接的功能。
文件中主要是定义了两个过程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.该文件的功能是系统登陆的入口,在此可以实现用户注册入口,管理员管理入口以及用户进入考试系统登陆界面的功能。
该文件的功能使这样实现的:表单提交给文件本身。再由HTML上面的ASP程序对提交信息进行处理。
最上面的<%@ language="VBScript">表示脚本语言是VBScript。
表示包含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.该文件实现了用户注册的功能,用户只要填写想要注册的用户名及密码,文件首先查看用户名是否已经存在,如果存在就提示该用户名已经存在,否则就将用户输入的信息添加到数据库中的student表内。然后用户就可以使用自己注册的用户名和密码登录在线考试系统进行在线考试。
在文件中,表单提交给register.Asp自身进行处理,如果submit值为“注册”首先进行判断看用户名或密码是否为空。如果为空就显示“错误!用户名或密码不能为空!”的信息。如果不为空,进行下一步判断,看student表中是否已经存在用户想要注册的用户名,如果存在,就显示信息“错误!该用学生存在!”,如果不存在就将要注册的用户名和密码写入student表。代码如下:
sql=" into student(studentname,studentpassword) values(" & cstr(trim(request("studentname"))) & "," & cstr(trim(request("studentpassword"))) & ")"
conn.execute sql
最后,用一个Vbscrip语言编写的消息框显示注册成功信息。
4.该文件是实现用户登录在线考试系统后进行考试科目选择的功能,选择科目后进入考试界面。
该文件首先是将subject表中所有的纪录都以单选项的方式选出来,如果没有纪录,则显示“对不起,暂时没有任何考试科目。”用户按提交后,表单仍然提交给文件自身。处理程序首先判断用户是否选择了一个考试科目,如果没有选择显示“你没有选择考试科目,请选择考试科目!”如果选择了某个考试科目,先把该科目赋值给一个session变量selectsubjectname,然后从subject表中选出该科的相关信息,并也都设成session变量。Singlenumber表示单选试题数量,multinumber表示多选试题数量,singleper表示单选试题分值,multiper表示多选试题分值,testtime表示考试总时间。接着进入考试界面。
5.<test.asp&