第一步:把如下代码加入<head>区域中
<SCRIPT LANGUAGE="JavaScript">
<!--
function scorequiz(form) {
list=0
if(form.Q1.value!=null &&form.Q1.value=="*") {list=list+1}
if(form.Q2.value!=null &&form.Q2.value=="*") {list=list+1}
if(form.Q3.value!=null &&form.Q3.value=="*") {list=list+1}
if(form.Q4.value!=null &&form.Q4.value=="*") {list=list+1}
if(form.Q5.value!=null &&form.Q5.value=="*") {list=list+1}
if(form.Q6.value!=null &&form.Q6.value=="*") {list=list+1}
if(form.Q7.value!=null &&form.Q7.value=="*") {list=list+1}
if(form.Q8.value!=null &&form.Q8.value=="*") {list=list+1}
if(form.Q9.value!=null &&form.Q9.value=="*") {list=list+1}
if(form.Q10.value!=null &&form.Q10.value=="*") {list=list+1}
form.SCORE.value =eval(list)
if (form.SCORE.value<=8){
ok="不及格!"}
}
function clearquiz(form) {
list=0
form.Q1.value="?"
form.Q2.value="?"
form.Q3.value="?"
form.Q4.value="?"
form.Q5.value="?"
form.Q6.value="?"
form.Q7.value="?"
form.Q8.value="?"
form.Q9.value="?"
form.Q10.value="?"
form.SCORE.value =eval(list)
}
function msg() {
alert("感谢参加测试,您的成绩已经将mail给Webmaster。")
}
// -->
</SCRIPT>
第二步:把如下代码加入<body>区域中
<table width="75%" border="0" align="center">
<tr>
<td>
<form name="quiz1"
action ="mailto:[email protected]?subject=测试结果反馈" method="post" enctype="text/plain"
onLoad="clearquiz(this.form)" onSubmit="msg()">
您的姓名:
<input type="Text" name="Name" value="" class="pt9">
<br>
<hr>
1. Internet上使用的网络协议是:__________
<ol>
<input type="radio" name="Q1" value="*TCP/IP" onClick=Q1.value="*">
TCP/IP<br>
<input type="radio" name="Q1" value="X.25" onClick=Q1.value="X.25">
X.25<br>
<input type="radio" name="Q1" value="NetBEUI" onClick=Q1.value="NetBEUI">
NetBEUI<br>
</ol>
2. 我们通过__________长距离连接两台计算机使它们通讯。
<ol>
<input type="radio" name="Q2" value="LAN" onClick=Q2.value="A">
LAN<br>
<input type="radio" name="Q2" value="*WAN" onClick=Q2.value="*">
WAN<br>
<input type="radio" name="Q2" value="WAIS" onClick=Q2.value="C">
WAIS<br>
</ol>
3. HUB是指:__________
<ol>
<input type="radio" name="Q3" value="网关" onClick=Q3.value="网关">
网关<br>
<input type="radio" name="Q3" value="网桥" onClick=Q3.value="网桥">
网桥<br>
<input type="radio" name="Q3" value="路由器" onClick=Q3.value="路由器">
路由器<br>
<input type="radio" name="Q3" value="*集线器" onClick=Q3.value="*">
集线器<br>
</ol>
4. 56K MODEM的传输速度为:__________
<ol>
<input type="radio" name="Q4" value="56Kbytes" onClick=Q4.value="A">
每秒传输56K bytes的数据。 <br>
<input type="radio" name="Q4" value="*56kbps" onClick=Q4.value="*">
每秒传输56k bits的数据。 <br>
</ol>
5. Gateway是指:__________
<ol>
<input type="radio" name="Q5" value="*网关" onClick=Q5.value="*">
网关<br>
<input type="radio" name="Q5" value="网桥" onClick=Q5.value="B">
网桥<br>
<input type="radio" name="Q5" value="路由器" onClick=Q5.value="C">
路由器<br>
<input type="radio" name="Q5" value="集线器" onClick=Q5.value="D">
集线器<br>
</ol>
6. Http默认的端口是:__________
<ol>
<input type="radio" name="Q6" value="8080" onClick=Q6.value="A">
8080<br>
<input type="radio" name="Q6" value="*80" onClick=Q6.value="*">
80<br>
<input type="radio" name="Q6" value="25" onClick=Q6.value="25">
25<br>
</ol>
7. JavaScript是一种类似于C++的语言,比较难掌握:__________
<ol>
<input type="radio" name="Q7" value="True" onClick=Q7.value="T">
True<br>
<input type="radio" name="Q7" value="*False" onClick=Q7.value="*">
False<br>
</ol>
8. JAVA是 __________ 公司的产品:
<ol>
<input type="radio" name="Q8" value="Microsoft" onClick=Q8.value="A">
Microsoft<br>
<input type="radio" name="Q8" value="Novell" onClick=Q8.value="B">
Novell<br>
<input type="radio" name="Q8" value="*SUN" onClick=Q8.value="*">
SUN<br>
</ol>
9. CGI通过__________收集用户填写的表单信息:
<ol>
<input type="radio" name="Q9" value="Form" onClick=Q9.value="A">
Form<br>
<input type="radio" name="Q9" value="*环境变量" onClick=Q9.value="*">
环境变量<br>
<input type="radio" name="Q9" value="javascripts脚本" onClick=Q9.value="C">
javascripts脚本<br>
</ol>
10. 服务器响应"404 error"的含义是: __________
<ol>
<input type="radio" name="Q10" value="*文件不存在" onClick=Q10.value="*">
文件不存在<br>
<input type="radio" name="Q10" value="Server error" onClick=Q10.value="B">
服务器错误<br>
<input type="radio" name="Q10" value="Client error" onClick=Q10.value="C">
浏览器错误<br>
</ol>
<hr>
<input type="button" name="submit" value="开始评分" onClick=scorequiz(this.form) class="pt9">
<input type="reset" name="reset" value="重新测试" onClick=clearquiz(this.form) class="pt9">
<input type="submit" value="将成绩MAIL给管理员" onClick=scorequiz(this.form) name="submit" class="pt9">
<br>
<br>
你的考试成绩:
<input name="SCORE" type="text" class="pt9">
</form>
</td>
</tr>
</table>
大致编写概况如下,供楼主参考1、先规划页面,在纸上弄出一个流程来
2、根据流程图把所有需要到的版面PS出来后在做成静态的HTML页面
3、规划数据库表,把一些需要到的配置信息先录入到表中
4、利用静态的HTML文件来做动态页面,一般情况下就是增删改查数据库了
利用ASP和Access数据库制作局域网网上答题系统本系统由Index. asp、Lkzk.asp、Save.asp、Db0.fun 四个小程序及Access数据库文件lkzk.mdb组成各程序的功能分别是:
1. Index. asp 是框架网页,负责导入Lkzk.asp、Save.asp两个子网页组成完整的程序页面。
2. Lkzk.asp 是随机出题答题的交互页面生成程序,主要完成随机选题、题目显示、答案输入及正确率、总答题数显示等功能。
3. Save.asp 完成答题正误判断、显示及成绩登记(按客户端IP地址)。
4. Db0.fun 包含打开Access数据库的多个函数(Lkzk.asp、Save.asp都用到的)。
5. lkzk.mdb Access数据库文件,由表“IP”和表“题库”组成。
表(IP)由编号字段ID(数字格式)、客户机地址字段IP(文本格式)、错误答案数字段nnn(数字格式)、正确答案数字段yyy(数字格式) 所组成;
表“题库” 由题号字段ID(数字格式)、单选多选标记字段dx(数字格式)、答案字段xz(文本格式)、试题内容字段na(备注格式)所组成。(注:试题内容的选择部分必须为“A. …… B. …… C. …… D. ……” 格式)
--------------- Index. Asp-----------------
<html>
<head>
<title>网上司考试题库</title>
</head>
<frameset rows="87%,*" framespacing="0">
<frame name="top" src=image/lkzk.asp scrolling="auto">
<frame name="bottom" scrolling="auto" marginwidth="0" marginheight="0">
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
</html>
--------------Lkzk.asp-------------
<!-- #include virtual="/lkzk/DB0.fun" -->
<%
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")
%>
<HTML>
<head>
<title>网上司考试题库</title>
</head>
<BODY >
<font size="4" color="#000080">司考试题库
<%
ClientIP = Request.ServerVariables("REMOTE_ADDR")
userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))
rsu2.AbsolutePosition=userIP
Randomize
I=Fix(Rnd*1800)
rs.AbsolutePosition=I+1
%>
总第<%=CStr(I+6)%>题 <%'=rs("type")%>
<FORM Action=save.asp Method=GET target="bottom">
<INPUT Type=Hidden Name=AI Value="<%=I%>">
<HR>
<% s=rs("na")
x=InStr(s,"A.")
sx="多选"
if rs("dx")=0 then
sx="单选"
end if %>
<%=Left(s,x-1)%>'显示除选择部分外的试题内容
<font color="red">
<%=sx%><BR>'显示是单选还是多选题
</font>
<% s=Right(s,Len(s)-x+1)
x=InStr(s,"B.") %>'以下开始显示复选框及选择部分
<INPUT Type=CheckBox Name=A Value="a">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x+1)
x=InStr(s,"C.")%>
<INPUT Type=CheckBox Name=A Value="b">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x+1)
x=InStr(s,"D.")%>
<INPUT Type=CheckBox Name=A Value="c">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x+1)%>
<INPUT Type=CheckBox Name=A Value="d"><%=s%>
<BR>
<INPUT Type=Submit Value="查看答案">
<a href="lkzk.asp" target="_self">继续做题</a><BR>
<%if rsu2("nnn")+rsu2("yyy")=0 then rsu2("yyy")=1 end if%>
正确率:<%=FormatNumber(rsu2("yyy")/(rsu2("nnn")+rsu2("yyy"))*100, 2, True)%>%
总答题数:<%=rsu2("nnn")+rsu2("yyy")%>
</form>
</font>
</BODY>
-----------------Save.asp-------------------
<!-- #include virtual="/lkzk/DB0.fun" -->
<%
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")
%>
<HTML>
<BODY >
<% I=CInt(Request("AI"))
rs.AbsolutePosition=I+1
ssx="错"
A=Replace( Request("A"), ", ", "" )
if A=rs("xz") then '判断答题正误
ssx="对"
end if
%>
<FONT Color=Red>
您答<%=ssx%>了 '显示答案正误等信息
</FONT>
试题库总第<%=CStr(I+1+5)%>题 您的答案是:<%=A%>
参考答案是:<%=rs("xz")%>
<%
ClientIP = Request.ServerVariables("REMOTE_ADDR")
userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))
rsu2.AbsolutePosition=userIP
rsu2.Update
If ssx="对" then
rsu2("yyy") =rsu2("yyy")+1
End if
if ssx<>"对" then
rsu2("nnn") =rsu2("nnn")+1
End if
rsu2.Update '以下将正误结果记录于数据库表“IP”中
%>
</BODY>
</HTML>
--------------Db0.fun----------------
<% ' 以下为函数程序
'---------------------------------------------------
Function GetMdbConnection( FileName )
Dim Provider, DBPath
Provider = "Provider=Microsoft.Jet.OLEDB.4.0"
DBPath = "Data Source=" &Server.MapPath(FileName)
Set GetMdbConnection = GetConnection( Provider &DBPath )
End Function
'---------------------------------------------------
Function GetMdbRecordset( FileName, Source )
Set GetMdbRecordset = GetMdbRs( FileName, Source, 2, "" )
End Function
'---------------------------------------------------
Function GetMdbStaticRecordset( FileName, Source )
Set GetMdbStaticRecordset = GetMdbRs( FileName, Source, 3, "" )
End Function
'---------------------------------------------------
Function GetConnection( Param )
Dim conn
On Error Resume Next
Set GetConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
If Err.Number <>0 Then Exit Function
conn.Open Param
If Err.Number <>0 Then Exit Function
Set GetConnection = conn
End Function
'---------------------------------------------------
Function GetMdbRs( FileName, Source, Cursor, Password )
Dim conn, rs
On Error Resume Next
Set GetMdbRs = Nothing
If Len(Password) = 0 Then
Set conn = GetMdbConnection( FileName )
Else
Set conn = GetSecuredMdbConnection( FileName, Password )
End If
If conn Is Nothing Then Exit Function
Set rs = Server.CreateObject("ADODB.Recordset")
If Err.Number <>0 Then Exit Function
rs.Open source, conn, Cursor, 2
If Err.Number <>0 Then Exit Function
Set GetMdbRs = rs
End Function
'---------------------------------------------------
%>
具体参考:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)