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] |
请发表评论