教你如何设计ASP网上考试系统

这篇具有很好参考价值的文章主要介绍了教你如何设计ASP网上考试系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

教你如何设计ASP网上考试系统

为了运行这个应用程序,我们需要在global.asa文件里进行设置数据库的连接。

global.asa: 
< SCRIPT LANGUAGE=VBScript RUNAT=Server >
Sub Application_OnStart
dbPath = “DBQ=” & Server.Mappath(“onlinetest.mdb”)
dbConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; " & dbPath
Set Application(“Conn”) = Server.CreateObject (“ADODB.Connection”)
Application(“Conn”).Open dbConnectionString
End Sub
Sub Application_OnEnd
Application(“Conn”).Close
Set Application(“Conn”) = Nothing
End Sub
Sub Session_OnStart
End Sub
Sub Session_OnEnd
End Sub
< /SCRIPT >

注册页面index.asp。其中有两个输入域:用户名和口令,这两个输入域需要客户机端的JavaScript确认,以便不把它们作为空白域来传递。非考生要想参加考试必须先注册。这个页面还要显示一些错误信息,如“用户名或口令错误”、“请重新选择一个用户名”等。注册表单中还应包含考生一些个人的信息,如Emai、年龄、教育程度等。登录后,考生就可以参答考试站点的其它试卷了。

index.asp:
if (theForm.username.value == “”)
{
alert(“考生姓名"User Name”“);
theForm.username.focus();
return (false);
}
if (theForm.password.value == “”)
{
alert(“考生口令"Password””);
theForm.password.focus();
return (false);
}
< table border=“0” cellpadding=“0” >
< tr >
< td width=“50%” >
< font face=“Verdana” size=“2” >姓名:< /font >
< /td >
< td width=“50%” >
< font face=“Verdana” size=“2” >< input type=text name=username size=20 maxlength=50 >< /font >
< /td >
< /tr >
< tr >
< td width=“50%” >
< font face=“Verdana” size=“2” >口令:< /font >
< /td >
< td width=“50%” >
< font face=“Vedana” size=2 >< input type=password name=password size=20 maxlength= 50 >< /font >
< /td >
< /tr >
< tr >
< td width=“100%” colspan=“2” align=“center” >
< font face=“Verdana” size=“2” >< br > < input type=“submit” value=“提交” name=“B3” >
< input type=“reset” value=“重写” name=“B4” >
< /font >
< /td >
< /tr >
< /table >
登录文件register.asp,当考生登录或新注册后,就显示这一页。我们可以利用它来询问考生的个人信息。该表单被提交后,转到sendregister.asp页面。
验证和发送文件sendregister.asp。该页面从register.asp 中取得表单域的内容,查询数据库验证输入的用户名是否已经存在,如果存在,则将考生重新引回register.asp页面,并被提示要求重新选择用户名;如果用户名通过,则输入的内容就被传递并插入到数据库中。
sendregister.asp:
sql_findmember = “select count() from loginuser where username = ‘" & username &"’"
Set RS_findmember = Application(“Conn”).Execute(sql_findmember)
If RS_findmember(0) < > 0 Then
Session(“message”) = “噢,您输入的名字已经存在,请重新选择一个名字!”
response.redirect “register.asp”
’ 如果RS_findmember(0) 返回的值大于0,用户就被引导回注册主页,并被要求填写一个新的用户名
End If
If RS_findmember(0) = 0 Then
sql_insert = “insert into loginuser (username,useremail,password) _
values('” & username & “‘,’” & useremail & “', '” & pwd &“') "
Set RS_insert = Application(“Conn”).Execute(sql_insert)
Session(“message”) = “THE ENTRY HAS BEEN INSERTED … Thank You”
response.redirect “index.asp”
’ 如果RS_findmember(0) 返回的值是0,就表示用户名在数据库中不存在,名字就被存入.这意味着,考生可以参答站点其它的试卷了
End If
username = replace(request.form(“txt_name”),”‘“,”’‘“)
’ 防止非法进入数据库哦.替换函数,当访问者键入了”’“单撇号,就用”‘’"代替
checkuser.asp
’ 考生登录验证文件
sql_check = "select count(
) from loginuser where username ='” & _
username &“’ and password = '” & useremail &“'”
’ 验证用户名和口令是否存在于数据库中
Set RS_check = Application(“Conn”).Execute(sql_check)
If RS_check(0) < > 0 Then
Session(“username”) = request.form(“username”)
response.redirect “default.asp”
’ 如果已注册,引导到default.asp页
End If
If RS_check(0) = 0 Then
Session(“error”) = “对不起,您的姓名或口令无效,请重新输入!”
response.redirect “index.asp”
’ 检查用户是否已经注册,如果返回值为0,表明用户名或口令无效,回注册页
End If
username = replace(request.form(“username”),“'”,“‘’”)
useremail = replace(request.form(“password”),“'”,“‘’”)
’ 替换函数
选择试卷页面default.asp。登录成功后,进入该页面。在这儿,考生可以选择的考试科目列表。在本设计中,用了001HTML 和002HTML两个,在实际应用中,可以增加表格以增加考试科目数。default.asp 要求表格安装一个下拉菜单,其中包含科目的列表,然后查询数据库,从试卷的表格中搜集两个域。
default.asp
sql_papers = “select *id, topic from paper sort order by topic asc”
SET RS_papers = Application(“Conn”).Execute(sql_papers)

’ 以下代码是为了在下拉菜单中显示结果
SELECT size=1 name=select1 οnchange=“msec(document.form1._
select1.options[document.form1.select1.selectedIndex].value);” >
< option value=“0” >选择科目考试
< %Do while not RS_papers.EOF% >
< option value=“< %=RS_papers(“id”)% >” >< %=lcase(RS_papers(“topic”))% >< /OPTION >
< %
RS_papers.MoveNext
Loop
% >

function msec(x)
’ msec函数在X值的基础上调用 redirect.asp,把查询字符串: ?x的值作为下拉菜单中被选择的项的值
{if (x==0)
{ alert(“欢迎参加精彩春风之精英考试,请选择一个考试科目!”)
}
else
{ location.href=“redirect.asp?section=” + x
}
}
终于可以参加精英赛了!我们进入了试题页面redirect.asp。它将考生送到实际生成试题的ASP页面,如果数据库中没有所选择的科目的任何题目,就会显示错误信息和返回链接。如果数据库有题,则这一页就被重新引导到exam.asp页面,考生就可以进行在线考试了。
redirect.asp
id = Request.QueryString (“section”)
’ 先调用查询字符串部分,将值存入变量 id中

SQL = “select tbl_name from paper where id=”&id
Set RS = Application(“Conn”).Execute(SQL)
subject= RS(0)
’ 再使用SQL声明传递试卷表格中的域名table_name,结果存储在subject中

MyString = Split(subject,“tbl”,-1,1)
’ 分离变量subject,将其存储在MyString中.注意,此处用Split 函数在客户端显示测验名是为了更好地显示
IF RS_subject.BOF AND RS_subject.EOF Then
Response.Write Online " & MyString(1) & 题库正在创建中,请稍后再来! < a href=default.asp >返回< /a >"
Else
Response.Redirect (“exam.asp?section=”&id )
End If
exam.asp是标准试卷页面,代码共分两大部分:计时器函数和本页查询选取试题。显示试题,并以单选按钮方式供考生答题。从数据库中选择的试题,本设计采用了随机函数,这也是目前题库生成试卷的通用方式。题目的个数设定为10个,考生每次回答5个。时间限定为20秒,剩余的时间在屏幕底部的状态窗口中显示。所有的试题都一起显示出来,然后开始计时。时间和试题个数都可以改变。
exam.asp
’ 以下是计时器函数
< script language=“JavaScript” >
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;
TimerFunc();
function TimerFunc() {
tf=window.setTimeout(“TimerFunc();”,1000);
tcount++;
timeLeft=20 - tcount;
window.status = “嘻嘻,做得的好快哦,还剩” +timeLeft + “秒”;
}
< /script >

id = Request.QueryString (“section”)
session(“id”) = id
’ 查询字符串存储在一个 session(“id”)中,按顺序启动查询
sql_tblname = “select tbl_name from paper where id=”&id
’ SQL声明的目的是从试卷表格中找到表格名,如果找到了表格名就开始向指定表格的查询
Set RS_tblname = Application(“Conn”).Execute(sql_tblname)
subject= RS_tblname(0)
MyString = Split(subject,“tbl”,-1,1)
’ split 函数从结果中去掉tbl, 本设计使用了表格名前加tbl前缀的命名惯例

sql_details = “select a.id, a.question, a.choice1, a.choice2,a.choice3, " &_
" a.choice4 from " & subject & " a where a.id=”&MyArray(Counter)
’ 用随机函数生成从1-10之间的任意数字, MyArray(Counter)是已经生成的随机数字,用来从指定的科目表格中选取id.id、question、 choice1、choice2、choice3、choice4 都是科目表格域名
考试成绩单result.asp,显示结果,并将这些结果增加到数据库细节表格中,以供查询
result.asp
for each item in Request.Form
sql_check = “select Count() from “&subject&” where answer =‘" & Request.Form(item) & "’"
Set RS_check = Application(“Conn”).Execute(sql_check)
if RS_check(0) > 0 then
result = result + 1
end if
next
’ 变量result存储结果。
  
percent = round(( 100 * result )/count)
’ 百分数换算
sql_id = “select id from loginuser where username='” & Session(“username”) &“'”
Set RS_id = Application(“Conn”).Execute(sql_id)
id= RS_id(0)
SQL_insert = “insert into details (ref_id,subject,score) values('” & id & “‘,’” _
& subject & “', '” & percent &“‘) "
’ 执行查询,将结果存储在数据库中.
view.asp 文件查询是否在此参加过考试。
view.asp
sql_id= "select id from loginuser where username=’” & Session(“username”) &“'”
Set RS_id = Application(“Conn”).Execute(sql_id)
id= RS_id(0)
sql_count = "Select count(
) from details where ref_id = '” & id &“'”
Set RS_count = Application(“Conn”).Execute(sql_count)
If RS_count(0) < > 0 Then
response.redirect “viewrecord.asp”
’ 如果已参加过考试,则转到viewrecord.asp页面
End If
If RS_count(0) = 0 Then
Session(“noview”) = “噢,您还没在我们这儿考过试呢!”
response.redirect “default.asp”
End If
viewrecord.asp文件以表格形式显示注册用户的信息。
viewrecord.asp
sql_details = “Select *subject, score from details where ref_id = '” & id &“'”
Set RS_details = Application(“Conn”).Execute(sql_details)
相关数据库结构:
本设计中数据库名为onlinetest.mdb。共有5个表格:loginuser、paper、details、tbl001HTML、tbl002HTML。其中,001HTML、002HTML是按考试科目创建的单独的表格,我们可以根据考试科目的多少继续扩展或添加。

loginuser表结构:
序号 字段名 数据类型 描述
1 Id Auto Number 主关键字
2 Username Text 注册用户
3 Useremail Text 用户电子邮件地址
4 Password Text 注册口令

details 表结构:
序号 字段名 数据类型 描述
1 Id Auto Number 主关键字
2 Ref_id Text 考试ID号
3 Subject Text 选择的试题
4 Score Text 成绩

paper 表结构:
序号 字段名 数据类型 描述
1 Id Auto Number 主关键字
2 Topic Text 在线测验所要覆盖的部分/科目列表
3 Tbl_name Text 包含指定科目的相关表格名

tbl001HTML 表结构:
序号 字段名 数据类型 描述
1 Id Auto Number 主关键字
2 Question Text 要显示的试题
3 Choice1 Text 供选择的答案A
4 Choice2 Text 供选择的答案B
5 Choice3 Text 供选择的答案C
6 Choice4 Text 供选择的答案D
7 Answer Text 标准答案

tbl002HTML 表结构:
序号 字段名 数据类型 描述
1 Id Auto Number 主关键字
2 Question Text 要显示的试题
3 Choice1 Text 供选择的答案A
4 Choice2 Text 供选择的答案B
5 Choice3 Text 供选择的答案C
6 Choice4 Text 供选择的答案D
7 Answer Text 标准答案文章来源地址https://www.toymoban.com/news/detail-446613.html

到了这里,关于教你如何设计ASP网上考试系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • asp.net网上捐赠系统

    一该源码功能十分的全面,具体介绍如下: 本版本软件主要完成三个功能: 1、建立网上捐赠功能          实现网上捐赠程序自动化,智能化,在捐赠者与受捐者填写各种资料后,自动保存方便以后调阅查询,自动备案方便后台管理。 2、义工活动管理 用户注册登录网站后

    2024年02月05日
    浏览(35)
  • asp.net+sqlserver+C#网上订餐系统

    目    录 第1章.绪论    4 1.1 系统开发背景    4 1.2 开发设计目的和意义    5 1.3 网上订餐系统设计思想    5 1.4可行性分析    6 1.4.1技术可行性分析    7 1.4.2其他可行性分析    7 第2章.需求分析    9 2.1 需求分析    9 2.2建立用例图    11 2.3描述用例图    11 2.3

    2023年04月23日
    浏览(42)
  • 手把手教你从微软官网上下载系统镜像【保持最新版】

    🔥推荐阅读:http://t.csdn.cn/nQfIY🔥 🥇个人主页:@MIKE笔记 🥈专栏:爱倒腾 如何从微软官网下载到全系列的系统镜像: 有人可能会说,都有镜像下载工具了,还有了解如何从微软官网直接下载镜像的必要吗? MIKE笔记认为,不仅要知其然,还要知其所以然,掌握这些电脑技巧

    2024年02月04日
    浏览(56)
  • asp.net学生考试报名管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

    一、源码特点         asp.net学生考试报名管理系统是一套完善的web设计管理系统系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010  +sqlserver asp.net学生考试报

    2024年02月08日
    浏览(49)
  • 网上订餐系统|基于springboot的网上订餐系统设计与实现(源码+数据库+文档)

    网上订餐系统目录 目录  基于springboot的网上订餐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能模块的实现 (1)用户注册界面 (2)用户登录界面 (3)菜品详情界面 (4)下单订餐界面 (5)订单信息界面 (6)订单配送界面 2、管理员功能模块的实

    2024年04月27日
    浏览(50)
  • 网上超市系统|基于Springboot的网上超市系统设计与实现(源码+数据库+文档)

    网上超市系统目录 目录  基于Springboot的网上超市系统设计与实现  一、前言    二、系统功能设计   三、系统实现    1、商品信息管理 2、用户管理 1、 商品信息 2、购物车   四、数据库设计   1、实体ER图  五、核心代码      六、论文参考    七、最新计算机毕设

    2024年03月14日
    浏览(67)
  • 网上书城系统的设计与实现

    设计一个网上书城管理系统,通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括:首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管理等功能。 管理员可以根据系统给定

    2024年02月05日
    浏览(68)
  • 网上购物商城系统设计与实现

      目的 :伴随着互联网技术的不断发展和完善,在人们的生活和工作的各个方面,互联网都有着非常重大的影响。伴随着国内电子商务行业的迅猛发展,消费者现在能够轻松的实现足不出户的,仅仅通过网络购物平台就可以非常便捷的购买到自己需要的商品。 意义 :基于

    2024年02月04日
    浏览(37)
  • 订餐|网上订餐系统|基于springboot的网上订餐系统设计与实现(源码+数据库+文档)

    网上订餐系统目录 目录  基于springboot的网上订餐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能模块的实现 (1)用户注册界面 (2)用户登录界面 (3)菜品详情界面 (4)下单订餐界面 (5)订单信息界面 (6)订单配送界面 2、管理员功能模块的实

    2024年02月19日
    浏览(45)
  • 【java毕业设计】基于Spring Boot+mysql的网上商城购物系统设计与实现(程序源码)-网上商城购物系统

    大家好,今天给大家介绍基于Spring Boot+mysql的网上商城购物系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及论文的获取方式。更多毕业设计源码可订阅查看上方【毕业设计】专栏获取哦。 随着科学技术的飞速发展,社会的方方面面、各行各

    2024年02月06日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包