用ASP实现网上考试系统
2008-04-30 03:07:19来源: 阅读 ()
随着互连网技术的发展网上教学将成为人们接受再教育和终身教育的主要形式。在网上学校中,人们可以不受时间和空间的限制,随时随地选学任何地方的任何课程。网上学校的发展对网上考试的发展提出了迫切的要求。这里是我用Asp和Access数据库实现的一个网上考试系统。当用户凭用户名和口令登录时,系统首先检查该用户是否已参加过考试,若是则进行成绩查询,若否则从题库中提取考题供用户解答。等用户提交答卷后,系统进行评分并将成绩登记入库。
一. 数据库设计
首先建立一数据库exercise.mdb,其中包括两个表:user和test,user表中有包括三个字段:
字段名称:user;字段类型:文本;字段大小:20。存储用户名
字段名称:passwd;字段类型:文本;字段大小:20。存储用户密码
字段名称:score;字段类型:数字;字段大小:整型。存储用户成绩
test表中有五个字段:
字段名称:question;字段类型:文本;字段大小:255。存储考试题目
字段名称:a;字段类型:文本;字段大小:100。存储选项A的答案
字段名称:b;字段类型:文本;字段大小:100。存储选项B的答案
字段名称:c;字段类型:文本;字段大小:100。存储选项C的答案
字段名称:d;字段类型:文本;字段大小:100。存储选项D的答案
字段名称:ans;字段类型:文本;字段大小:2。存储正确答案
二.程序原代码
下面是该系统中较核心的三段原程序,希望对开发类似系统的读者取到抛砖引玉的作用,读者也可对其进行改进以适应自己的系统。
以下为引用的内容: ‘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.MapPath("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="" > < /P > < P title="" > < /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 > < /P > < P > < % i=1 rs.movefirst do while not rs.eof% > < P > < %=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=Submit >< INPUT id=reset1 name=reset1 type=reset value=Reset >< /P >< /FORM > < /BODY > < /HTML > |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:几种优秀的开发ASP的工具
下一篇:常用ASP脚本程序集锦
- asp中设置session过期时间方法总结 2020-03-30
- asp中日期时间函数介绍 2020-03-30
- asp教程中get post提交表单有5点区别 2020-03-30
- ASP 时间函数及如何获取服务器时间的写法 2020-03-30
- asp中的ckEditor的详细配置小结 2020-03-30
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash