用ASP實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)_ASP教程
推薦:ASP 3.0高級(jí)編程(三十六)第8章 ADO基礎(chǔ) 在本書前7章中,已經(jīng)講述了ASP的有關(guān)內(nèi)容,以及ASP如何為Web站點(diǎn)帶來(lái)動(dòng)態(tài)的內(nèi)容。已經(jīng)見(jiàn)到其腳本程序允許自定義Web頁(yè)面,使我們能夠構(gòu)建功能更為強(qiáng)大的ASP頁(yè)面。 現(xiàn)在,將研究ASP
隨著互連網(wǎng)技術(shù)的發(fā)展網(wǎng)上教學(xué)將成為人們接受再教育和終身教育的主要形式。在網(wǎng)上學(xué)校中,人們可以不受時(shí)間和空間的限制,隨時(shí)隨地選學(xué)任何地方的任何課程。網(wǎng)上學(xué)校的發(fā)展對(duì)網(wǎng)上考試的發(fā)展提出了迫切的要求。這里是我用Asp和Access數(shù)據(jù)庫(kù)實(shí)現(xiàn)的一個(gè)網(wǎng)上考試系統(tǒng)。當(dāng)用戶憑用戶名和口令登錄時(shí),系統(tǒng)首先檢查該用戶是否已參加過(guò)考試,若是則進(jìn)行成績(jī)查詢,若否則從題庫(kù)中提取考題供用戶解答。等用戶提交答卷后,系統(tǒng)進(jìn)行評(píng)分并將成績(jī)登記入庫(kù)。
一. 數(shù)據(jù)庫(kù)設(shè)計(jì)
首先建立一數(shù)據(jù)庫(kù)exercise.mdb,其中包括兩個(gè)表:user和test,user表中有包括三個(gè)字段:
字段名稱:user;字段類型:文本;字段大小:20。存儲(chǔ)用戶名
字段名稱:passwd;字段類型:文本;字段大小:20。存儲(chǔ)用戶密碼
字段名稱:score;字段類型:數(shù)字;字段大小:整型。存儲(chǔ)用戶成績(jī)
test表中有五個(gè)字段:
字段名稱:question;字段類型:文本;字段大小:255。存儲(chǔ)考試題目
字段名稱:a;字段類型:文本;字段大小:100。存儲(chǔ)選項(xiàng)A的答案
字段名稱:b;字段類型:文本;字段大小:100。存儲(chǔ)選項(xiàng)B的答案
字段名稱:c;字段類型:文本;字段大小:100。存儲(chǔ)選項(xiàng)C的答案
字段名稱:d;字段類型:文本;字段大小:100。存儲(chǔ)選項(xiàng)D的答案
字段名稱:ans;字段類型:文本;字段大小:2。存儲(chǔ)正確答案
二.程序原代碼
下面是該系統(tǒng)中較核心的三段原程序,希望對(duì)開(kāi)發(fā)類似系統(tǒng)的讀者取到拋磚引玉的作用,讀者也可對(duì)其進(jìn)行改進(jìn)以適應(yīng)自己的系統(tǒng)。
以下為引用的內(nèi)容: ‘Login.asp源程序,檢驗(yàn)用戶是否合法 < %@ 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 檢查用戶是否已參加過(guò)考試, 若是則進(jìn)行成績(jī)查詢 if rs(“score”)< >0 then response.write rs(“user”)& “的考試成績(jī)是”&rs(“score”) else session("pass")=1 session(“user”)=name response.redirect “test.asp” end if else Response.Write "對(duì)不起, 用戶或口令不正確!!!" 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=" 進(jìn)入 " 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源程序,從題庫(kù)中提取試題供解答 < %@ 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 ) % > ‘計(jì)時(shí)函數(shù) < 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 > ‘調(diào)用計(jì)時(shí)函數(shù)顯示時(shí)間 < 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 > |
分享:ASP進(jìn)階:用ASP制作統(tǒng)計(jì)餅圖、柱狀圖等我們工作中經(jīng)常需要將數(shù)據(jù)轉(zhuǎn)化成柱狀圖,餅圖等,以方便直觀的分析數(shù)據(jù), 這里給大家介紹一個(gè)ASP中制作餅圖、柱狀圖的組件:csDrawGraph,csdgt.zip,因?yàn)槭墙M件,所以我們?cè)谑褂弥靶枰肦EGSV
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過(guò)濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
ASP教程Rss訂閱編程教程搜索
ASP教程推薦
- ASP教程:解決ASP腳本運(yùn)行超時(shí)的方法
- 使用新云cms過(guò)程中的問(wèn)題總結(jié)
- ASP技巧實(shí)例:使用ASP記錄在線用戶的數(shù)量
- asp批量生成大量規(guī)律性文本內(nèi)容的代碼
- ASP Application對(duì)象教程
- 查詢某個(gè)字段沒(méi)有值的所有記錄的SQL語(yǔ)句怎么寫?
- ASP基礎(chǔ)教程之ASP程序?qū)ookie的處理
- 凈化網(wǎng)絡(luò)環(huán)境 ASP程序?qū)崿F(xiàn)過(guò)濾臟話
- ASP實(shí)現(xiàn)SQL語(yǔ)句日期格式的加減運(yùn)算
- asp當(dāng)中判斷函數(shù)一覽
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-用ASP實(shí)現(xiàn)網(wǎng)上考試系統(tǒng)。