内容简介:如何实现网上考试?
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="FONT-SIZE: medium; FONT-STYLE: normal; FONT-VARIANT:normal; FONT-WEIGHT: 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) ? hrs-12 : 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]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 学之思教育考试系统 2.0.2 发布:前后端分离、多平台考试系统
- 网上考试设计思路是怎样的?
- 认证云安全专家(CCSP)考试攻略
- 论某教育机构考试系统设计
- CISP-PTE考试分享
- Google Professional Data Engineer(PDE)考试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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 》 这本书的介绍吧!