设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP应用 >> 正文
最新信息
·asp无限级分类加js收缩伸展…
·ASP读取EXCEL数据
·ASP编程操作Excel
·ASP编写了一个EXCEL上传程…
·ASP如何读取EXCEL工作表名…
·ASPJpeg和ASPUpload组件的…
·用ASP和SQL语句动态的创建…
·asp生成excel报表
·四大 FCKeditor 实战应用技…
·FCKeditor 2.0 的设置.修改…
资料搜索
热点信息
·asp生成excel报表
·Javascript+ASP制作树形菜…
·AspUpload组件的UploadedF…
·ASPJpeg和ASPUpload组件的…
·FckEditor中文配置手册详细…
·ASPUpload组件介绍
·金光ASP柱形图程序
·asp生成不重复的随机数字
·ASP读取EXCEL数据
·0-29内取15个不同的随机数…
推荐信息
·用ASP生成二维饼图
·一个取图片尺寸的类,支持…
·随即文件名
·ASP 随机图片
·本地图片,音乐等ASP防盗代…
·ASPJpeg和ASPUpload组件的…
·如何实现网上考试?
·用ASP打开远端MDB文件的方…
·ASP编写完整的一个IP所在地…
·用ASP实现远程批量文件改名


Google
 
如何实现网上考试?
〖编辑:Cloudy | 浏览:人次〗

下面就是满足你设想的几个主程序,你还可以在实际应用中不断完善和扩充:

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>

exercise.mdb数据库,包含两个表:user 和test:
user表:
序号 字段名称 字段类型 字段大小 作 用
1 user 文本 20 考生名
2 passwd 文本 20 考生密码
3 score 数字 整型 考生成绩

test表:
序号 字段名称 字段类型 字段大小 作 用
1 question 文本 255 考试题目
2 a 文本 100 选项A答案
3 b 文本 100 选项B答案
4 c 文本 100 选项C答案
5 d 文本 100 选项D答案
6 ans 文本 2 标准答案


录入时间:2006-05-11 21:43:17 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号