|
<html><head><title>Online quiz update: 2548-02-22</title></head> <body bgcolor="#ddffdd"><font face="microsoft sans serif" size=0><ul> <% dim totscore, totrec, totquiz, programname, connect, rs, sql, scolor, i, qchoose, qprocess, chk, ip, fromquiz, datetimestart, datetimestop, masterpassword, cntsid masterpassword = "thaiall" programname = "quizseq.asp" totquiz = 20 totscore = 0 qchoose = request.form("tbl") + request.querystring("tbl") qprocess = request.form("process") + request.querystring("process") qip = request.form("ip") + request.querystring("ip") qdatetimestart = request.form("datetimestart") + request.querystring("datetimestart") qdatetimestop = now() qmasterpassword = request.form("masterpassword") + request.querystring("masterpassword") if len(qchoose) < 2 then qchoose = "math101" if len(qprocess) < 2 then qprocess = "show" set connect = server.createobject("ADODB.Connection") ' ========== ' It have many method to open file. Some method does not work. ' connect.open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("quizans.mdb")) ' connect.open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\yourdir\db\quizans.mdb")) ' connect.open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\thaiall.com\allthai.quiz\quizans.mdb") connect.open "provider=microsoft.jet.oledb.4.0; data source=" & Server.MapPath("quizans.mdb") ' ========== set rs=server.createobject("ADODB.recordset") sql = "select * from " + qchoose + "ans where sid ='" + request.form("sid") + "'" rs.open sql,connect,1,3 cntsid = rs.recordcount sql = "select * from student where sid='" & request.form("sid") &"'" sql = sql & " and pass ='" & request.form("pass") &"'" rs.close rs.open sql,connect,1,3 totrec = rs.recordcount if totrec = 0 or masterpassword <> qmasterpassword then response.write("Incorrect student id or password") response.end end if response.write("Student id : " & request.form("sid")) response.write("<br>Student name : " & rs("sname")) response.write("<br>Subject : " & request.form("tbl")) response.write("<br>IP : " & qip) response.write("<br>Can save this exam : ") if cntsid > 0 then response.write("No") else response.write("Yes") end if response.write("<br>Start : " & qdatetimestart) sql = "select * from " + qchoose rs.close set rs=server.createobject("ADODB.recordset") rs.open sql,connect,1,3 totrec = rs.recordcount if qprocess = "show" then response.write("<form method=post action=" & programname & ">") response.write("<input name=masterpassword type=hidden value=" & request.form("masterpassword") &">") response.write("<input name=sid type=hidden value=" & request.form("sid") &">") response.write("<input name=pass type=hidden value=" & request.form("pass") &">") response.write("<input name=ip type=hidden value=" & qip &">") response.write("<input name=datetimestart type=hidden value='" & qdatetimestart &"'>") response.write("<input name=fromquiz type=hidden value=" & programname &">") response.write("<input name=tbl type=hidden value=" & qchoose &">") response.write("<input name=process type=hidden value=check>") i = 1 if Not rs.eof then rs.MoveFirst do while Not rs.eof and i <= totquiz response.write("<hr><b>"&i& "." &rs("ques")&"</b> [ "&rs("qid") &_ " ]<br><input type=hidden name=gqid" & i & " value=" &rs("qid") &">"&_ "<input type=hidden name=gans" & i & " value=" &rs("ans") &">"&_ "<input type=radio name=c"&i&" value=1 checked>a. "&rs("c1")&"<br>"&_ "<input type=radio name=c"&i&" value=2>b. "&rs("c2")&"<br>"&_ "<input type=radio name=c"&i&" value=3>c. "&rs("c3")&"<br>"&_ "<input type=radio name=c"&i&" value=4>d. "&rs("c4")&"<br>"&_ "<input type=radio name=c"&i&" value=5>e. "&rs("c5")&"<br>") rs.MoveNext i = i + 1 loop response.write( "<input type=submit name=submit value=SendAns>" ) response.write( "<input type=reset name=reset value=Reset></form>" ) else response.write("<br>Stop : " & qdatetimestop) i = 1 if Not rs.eof then rs.MoveFirst do while Not rs.eof and i <= totquiz g_qid = request.form("gqid" & i) g_ans = request.form("gans" & i) g_c = request.form("c" & i) response.write( "<hr>"& i & "." & rs("ques") & rs("qid") &"<br>") if g_qid = rs("qid") then if g_ans = 1 then chk="/" else chk="X" end if response.write("<font face=fixedsys>" & chk & "</font> a. "& rs("c1") &"<br>") if g_ans = 2 then chk="/" else chk="X" end if response.write("<font face=fixedsys>" & chk & "</font> b. "& rs("c2") &"<br>") if g_ans = 3 then chk="/" else chk="X" end if response.write("<font face=fixedsys>" & chk & "</font> c. "& rs("c3") &"<br>") if g_ans = 4 then chk="/" else chk="X" end if response.write("<font face=fixedsys>" & chk & "</font> d. "& rs("c4") &"<br>") if g_ans = 5 then chk="/" else chk="X" end if response.write("<font face=fixedsys>" & chk & "</font> e. "& rs("c5") &"<br>") if g_ans = g_c then response.write("<font color=blue>Right.</font>") totscore = totscore + 1 else response.write("<font color=red>Wrong. Try again. [" & g_c & "]</font>") end if end if rs.MoveNext i = i + 1 loop response.write("<hr>Total score : " & totscore) ' บรรทัดข้างล่างนี้จะทำให้แสดงคะแนน และหยุดให้ดูเพียง 15 วินาที แล้วกลับไปที่หน้า default.asp อีกครั้ง response.write("<meta http-equiv='refresh' content='15;URL=default.asp'> ") if cntsid = 0 then sql = "insert into " + qchoose + "ans(sid,score,ip,datetimestart,datetimestop,scriptname,q01,q02,q03,q04,q05,q06,q07,q08,q09,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20)values('" sql = sql & request.form("sid") & "'," & totscore & ",'" & qip & "','" & qdatetimestart & "','" & qdatetimestop & "','" & programname & "','" for i = 1 to (totquiz - 1) ' sql = sql & request.form("gans" & i) & "','" sql = sql & request.form("c" & i) & "','" next ' sql = sql & request.form("gans" & totquiz) & "')" sql = sql & request.form("c" & totquiz) & "')" connect.execute(sql) response.write("<br>Save : ok") else response.write("<br>Save : error<br>Can not duplicate") end if end if connect.close set rs = nothing set connect = nothing %> </ul></body></html> |