如何实现网上考试?

栏目: 编程语言 · 发布时间: 6年前

内容简介:如何实现网上考试?

login.asp

' 考生验证.
<
@ Language=VBScript>
<

name=trim(request("name"))
passwd=trim(request("passwd"))
if name<>"" and passwd<>"" then

' 检查考生是否输入用户名和密码.
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver(
.mdb)};

dbq=" Server.MapPat("exercise.mdb")
set rs= server.createobject("adodb.recordset")
sql= "select
from  user  where user=
'"
name"' and passwd='" passwd "'"
Set rs= conn.Execute(sql)

' 验证考生合法性.
if not(rs.eof) then
if rs("score")<>0 then

' 检查考生是否已参加过考试,若是则进行成绩查询.
response.write rs("user")
"的考试成绩是"rs("score")
else
session("pass")=1
session("user")=name
response.redirect "test.asp"
end if
else
Response.Write "
,您输入的用户名或密码不正确!"
end if
else
end if
>
<html>
<head>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<title>
撼雪喷云之考生登录</title>
</head>
<body>
<FORM action="login.asp" id=
FORM1 method=post name=FORM1>
<P title="">
nbsp;</P>
<P title="">
nbsp;</P>
<P title="" align=center>
考生:
<INPUT id=text1 name=name style="HEIGHT:22px; WIDTH: 103px"></P>
<P title="" align=center>
密码:
<INPUT id=password1 name=passwd style="HEIGHT: 23px; WIDTH: 101px" type=password></P>
<P title="" align=center>

<INPUT id=submit1 name=submit1 type=submit value="进入 " style="FONTSIZE: medium; FONTSTYLE: normal; FONTVARIANT:normal; FONTWEIGHT: bold" title=""></P>
<P title="" align=center>
</P>
</FORM>
</body></html>


test.asp

' 从题库中取题考试.
<
@ Language=VBScript >
<

if session("pass")<>1 then
response.redirect "login.asp"
else
end if
Set  conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (
.mdb)};
dbq="
Server.MapPath("exercise.mdb")
sql="select
from test"
Set rs = conn.Execute( sql )

' 提取试题.
>

<script LANGUAGE="javascript">
var isn1=null;
var isn2=false;
today=new Date();
function stopit(){
if(isn2){
  clearTimeout(isn1);
  }
isn2 = false;
}
function startit(){
stopit();
isnclock();
}
function isnclock(){
var now=new Date();
var hrs=now.getHours();
var min=now.getMinutes();
var sec=now.getSeconds();
document.clckh.disp.value=""
((hrs>12) ? hrs12 : hrs);
document.clckm.disp.value=((min<10) ? "0" : "")
min;
document.clcks.disp.value=((sec<10) ? "0" : "")
sec;
document.clck.disp.value=(hrs>=12) ? "p.m." : "a.m.";
isn1=setTimeout("isnclock()",1000);
isn2=true;
}
</script>

' 以上是一个计时函数.

<html>
<head>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</head>
<body onLoad="startit()" BGCOLOR="FFFFFF">
<center>
'
调用计时函数显示时间.
<TABLE BORDER=2>
<tr>
<td>Time</td><td>Hour</td><td>Min</td><td>Sec</td><td></td>
</tr>
<tr>
<td></td>
<td VALIGN=TOP><FORM NAME="clckh" onSubmit="0">
<INPUT TYPE="text" NAME="disp" SIZE=2 VALUE ="">
</FORM></td>
<td VALIGN=TOP><FORM NAME="clckm" onSubmit="0">
<INPUT TYPE="text" NAME="disp" SIZE=2 VALUE ="">
</FORM></td>
<td VALIGN=TOP><FORM NAME="clcks" onSubmit="0">
<INPUT TYPE="text" NAME="disp" SIZE=2 VALUE ="">
</FORM></td>
<td VALIGN=TOP><FORM NAME="clck" onSubmit="0">
<INPUT TYPE="text" NAME="disp" SIZE=4 VALUE ="">
</FORM></td></tr>
</center>

<FORM action="result.asp" id=FORM1 method=post name=FORM1>

' 显示试题.
<P>
nbsp;</P>
<P>
  <

  i=1
  rs.movefirst
  do while not rs.eof
>
  <P>
nbsp;nbsp; <=rs("question")></P>
<TABLE align=center border=1 cellPadding=1
cellSpacing=1 width="80
">
  <tr>
  <td style="WIDTH: 50
" width="50">
<INPUT name=ans<
=i> type=radio value="A"><=rs("a")></td>
<td><INPUT name=ans<
=i
type=radio value="B"><
=rs("b")></td></tr>
  <tr>
<td><INPUT name=ans<
=i>
type=radio value="C"><
=rs("c")></td>
<td><INPUT name=ans<
=i>
type=radio value="D"><
=rs("d")></td>
  </tr>
</TABLE>
<

i=i
1
rs.movenext
loop
>
</P>
<P></P>
<P align=center><INPUT id=submit1 name=submit1 type=submit value=
交卷>

<INPUT id=reset1 name=reset1 type=reset value=Reset></P></FORM>
</body></html>


result.asp

' 评分并将成绩记录到数据库.
<
@ Language=VBScript >
<html>
<head>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</head>
<body>
<P>
nbsp;</P>
<

name=session("user")
dim score
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver(
.mdb)};

dbq=" Server.MapPath("exercise.mdb")
sql="select ans from test"
Set rs = conn.Execute( sql )
ycorrect=0
rsCount=0


Response.Write "
标准答案:"

' 给出标准答案并评分.
Do while not rs.eof
Response.Write rs("ans")
rsCount=rsCount
1
if Request.Form(rsCount)=rs("ans") then
ycorrect=ycorrect
1
end if
rs.movenext
loop
Response.Write "<br>
您的答案:"
score=int(ycorrect/rscount
100)
for i=1 to Request.Form.Count
1
Response.Write Request.Form(i)
next
Response.Write "<br>"
Response.Write "
您的成绩:"score
if score<60 then Response.Write "
别难过,您不及格!""<br>"
else if score>=60 Response.Write "
幸好,您及格了!""<br>"
else Response.Write "
恭喜,您获得了优秀!"


strSql="insert into user (result) values ("
score")
where user='"
name"'"
conn.execute(strSql)

' 将成绩存到数据库.
>
</body></html>

 

[1]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

群体的智慧

群体的智慧

[美] 詹姆斯·索罗维基 / 王宝泉 / 中信出版社 / 2010-10 / 33.00元

《纽约时报》榜首畅销书,《商业周刊》《福布斯》杂志最佳商业图书 21世纪商务人士必读书,了解群体智慧时代的决策模式 告诉我们如何过日子、如何选择领导人、如何做生意以及如何思考这个世界 我们当中的大多数人,不论是选民还是投资者,是客户还是经理人,似乎都相信宝贵的知识掌握在少数人手中,认为精英们做出的决策更加聪明,很少有人相信“乌合之众”也能像专家那样做得如此出色。 但《纽约客......一起来看看 《群体的智慧》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具