如何实现网上考试?

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

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

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]


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

查看所有标签

猜你喜欢:

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

Is Parallel Programming Hard, And, If So, What Can You Do About

Is Parallel Programming Hard, And, If So, What Can You Do About

Paul E. McKenney

The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the pa......一起来看看 《Is Parallel Programming Hard, And, If So, What Can You Do About 》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具