如何实现网上考试?

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="&#106avascript">
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]

(0)

相关推荐

  • 网上考试设计思路是怎样的?

    global.asa < script LANGUAGE=VBScript RUNAT=Server > Sub Application_OnStart dbPath = "DBQ=" & Server.Mappath("onlinetest.mdb") dbConnectionString =  "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbPath Set App

  • 如何实现网上考试?

    login.asp ' 考生验证.<%@ Language=VBScript%><%name=trim(request("name"))passwd=trim(request("passwd"))if name<>"" and passwd<>"" then ' 检查考生是否输入用户名和密码.Set conn = Server.CreateObject("ADODB.Conn

  • ASP.NET+XML打造网络硬盘原理分析

    常用传输方式及其在特定环境下面临的困难 我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单.直观的方式操作.我们常用的文件传输FTP.Email邮件.网上邻居都能实现文件的传送.其中,"Ftp"功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐:"Email"是大家所熟悉的了,但它的传送不仅需要你连入Internet,而且它的安全性也是个

  • 自己动手打造ajax图片上传(网上没有的)

    今天笔者需要一款图片上传插件,但是网上没有提供一款符合自己需求且好用的.于是就自己动手写了一个. 方法1,仅使用jquery代码,不用第三方插件.代码如下 <p> <label>上传图片</label> <input class="ke-input-text" type="text" id="url" value="" readonly="readonly" /&g

  • 网上比较常用的嵌入网页中的播放器代码收藏

    例如:网络上最流行的windows media流(asf,wma,wmv格式...),Real流(rm,rmvb...),还有MPEG系列编码格式(MP4/MP3格式...) Windows Media Video 是微软推出的一种流媒体格式,它是在"同门"的ASF(Advanced Stream Format)格式升级延伸来得.在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输.Windows Media Player9兼容所有格式的WMV,官方编码器是Window

  • SSH网上商城之使用ajax完成用户名是否存在异步校验

    小伙伴在上网的时候,需要下载或者观看某些视频资料,更或者是在逛淘宝的时候,我们都需要注册一个用户,当我们填写好各种信息,点击确定的时候,提示用户名已经存在,小编就想,为什么当我们填写完用户名的时候,她就自动提示用户名已经存在,我们也不需要浪费那么多感情,直到填写完那么多的信息之后在提示,在小编最近的项目中,就碰到这个问题,我们可以使用ajax完成用户名是否存在,今天这篇博客,小编就简单的总结一下,如何使用ajax来完成校验,还请小伙伴多多指教哦`(*∩_∩*)′! 首先ajax完成用户名是否存在

  • 七个绝招应对网上银行盗贼

    随着网络技术的普及,越来越多的普通百姓开始利用网上的虚拟银行来处理个人资产,查询.转账.支付或交易.但是,网络安全性又成了不少人的担忧.中国银行专家提醒,网上银行的安全使用有七大"诀窍".     一是核对网址 要开通网上银行功能,通常事先要与银行签订协议.客户在登录网上银行时,应留意核对所登录的网址与协议书中的法定网址是否相符,谨防一些不法分子恶意模仿银行网站,骗取账户信息. 二是妥善选择和保管密码 密码应避免与个人资料有关系,不要选用诸如身份证号码.出生日期.电话号码等作为密码.建

  • 网上保障隐私十大秘技

    互联网是一把两刃利剑,一方面为日常生活带来便利,另一方面又为黑客入侵电脑系统开放更多渠道.一般网友应如何防范?请看下面能保障你隐私的十大秘技:  1. 采用匿名方式浏览,因为许多网站利用cookies跟踪网友的互联网活动,从而确定网友喜好.你可以在使用浏览器时关闭电脑接收cookie的选项,避免受到 cookies的追踪.  2. 进行任何网上交易或发送电邮前,切记阅读网站的隐私保护政策,因为有些网站会将你的个人资料卖给第三方.  3. 安装个人防火墙,以防止个人资料和财务数据被窃取.及时升级是

  • 卸载OICQ造成网上银行不能连接的故障的解决方法

    WINDOWS找不到TBrowser.exe这个程序,根本就是网上银行客户端程序中的文件,一定是客户自己安装了什么程序.经过向客户询问,得知他们前几天安装过OICQ聊天程序,后来又把OICQ删除了.原来是OICQ在安装时把其自带的浏览器Tencent Explorer设置成默认浏览器,在删除OICQ后,HTML.HTM.URL等文件还在与之关联,所以造成用户不能连接上网上银行. 找到了原因,解决的办法也就找到了,通过修改文件的关联使HTML.HTM.URL等文件与IE关联就可以了. 1.在"资源

  • 网上搜索超级技巧集合第1/2页

    1.使用逻辑词辅助查找 比较大的搜索引擎都支持使用逻辑词进行更复杂的搜索界定,常用的有:AND(和).OR(或).NOT(否,有些是AND NOT)及NEAR(两个单词的靠近程度),恰当应用它们可以使结果非常精确,另外,也可以使用括号将搜索词分别组合,如在http://www.liszt.con(Liszt)里(music or jazz) and edu) not ("bill morrissey" or indiana). 2.使用双引号进行精确查找 如果查找的是一个词组或多个汉字

随机推荐