




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-.z校園的設計與實現摘要在Internet飛速開展的今天,互聯網成為人們快速獲取、發布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發揮著重要的作用。Internet上發布信息主要是通過來實現的,獲取信息也是要在Internet“海洋〞中按照一定的檢索方式將所需要的信息從上下載下來。因此建立在Internet應用上的地位顯而易見,它已成為政府、企事業單位信息化建立中的重要組成局部,從而倍受人們的重視。為了更好的辦學,提高學校知名度,特構建城關第一小學學校。建立校園的根本過程可以分為以下七個環節:1
了解中國網絡學校的研究背景與開展現狀2
系統需求分析與總體設計3
熟悉開發模式、工具及環境4把想要展示的內容制作成網頁。5
使用動態網頁技術(ASP),實現動態內容更新。6
認真地選取測試用例,進展穿插測試7
的后期完善、宣傳及開展方向其中,網頁制作和使用動態網頁技術(ASP)實現動態內容更新是開發的核心內容。關鍵詞:網頁、制作、訪問、目錄第一章:諸論…………………..1
1.1設計思想…………………1
1.2開發工具的選用及介紹………………….1第二章:總體分析與設計2
2.1系統分析……………….2
2.2、主頁設計3
2.3、數據庫設計4第三章:詳細設計4
3.1家長學校聯絡簿………………4
3.2網上圖書館11
3.3網上評優投票系統20
3.4達級考試在線查分系統與計數器的制作………22.第四局部:系統的使用說明與安裝25第五局部:參考文獻:26附錄:源文件代碼27第一章諸論在Internet飛速開展的今天,互聯網成為人們快速獲取、發布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發揮著重要的作用。Internet上發布信息主要是通過來實現的,獲取信息也是要在Internet“海洋〞中按照一定的檢索方式將所需要的信息從上下載下來。因此建立在Internet應用上的地位顯而易見,它已成為政府、企事業單位信息化建立中的重要組成局部,從而倍受人們的重視。為了更好的辦學,提高學校知名度,特構建城關第一小學學校。1.1設計思想通過,全面宣傳,展示學校風采、優點與特色,發布學校的重大活動安排與招生政策,增強家長與學校之間的聯系,在Internet上實現完成局部校務,提高辦事效率。1.2開發工具的選用及介紹ASP的優勢:ActiveServerPages:“動態效勞器網頁〞,一般簡稱為“ASP〞,ASP之所以能受到大家的重視與使用的原因,主要在于所產生的執行結果都是標準的HTML格式,而且這些程序是在網絡效勞端中執行,使用一般的瀏覽器〔如IE或Netscape〕都可以正確地獲得ASP的“執行〞結果,并且將這ASP執行的結果直接在瀏覽器中“瀏覽〞,不像VBScript或javascript是在客戶端〔Client〕的瀏覽器上執行,假設使用VBScript來設計程序,客戶端〔Client〕在IE瀏覽器中可以顯示程序執行的結果,可是,客戶端〔Client〕假設使用Netscape瀏覽器就無法顯示VBScript的執行結果。ASP的特點:任何開發工具皆可開展ASP,只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網頁開展工具,例如,FrontPageE*press、FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,假設是使用那些所見即所得的網頁編輯來寫ASP,可能會發生一些意想不到的離奇狀態。通吃各家瀏覽由于ASP程序是在網絡效勞器端中執行,執行結果所產生的HTML文件適用于不同的瀏覽器。語言相容性高ASP與所有的Active*Script語言都相容,除了可結合HTML,VBScript、JavaScript、Active*效勞器組件來設計外,并可經由“plug-In〔外掛組件模組〕的方式,使用其他廠商〔ThirdParty〕所提供的語言。隱密平安性高如果我們在瀏覽器中直接查看網頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因杰ASP程序先于效勞〔WebServer〕端執行后,將結果轉換成標準HTML文件,再傳送到客戶端〔Client〕的瀏覽器上,因此,我們所辛苦撰寫的ASP程序并不會輕易地被看見進而被盜用。易于操控數據庫ASP可以輕易地通過ODBC(OpenDatabaseConnectivity)驅動程序連接各種不同的數據庫,例如:Acess、Fo*pro、dBase、Oracle等等,另外,ASP亦可將“文本文件〞或是〞E*cel〞文件當成數據庫用。面向對象學習容易ASP具備有面向對象〔Object-Oriented〕功能,學習容易,ASP提供了五種方便能力強大的內建對象:Request、Response、Sever、Application以及Session,同時,假設使用ASP內建的“Application〞對象或〞Session〞對象所撰寫出來的ASP程序可以在多個網頁之間暫時保存必要的信息。ASP的六大內部對象對象名稱功能描述RequestResponseServerSessionApplicationObjectConte*t從客戶端取得信息將信息送給客戶端提供一些Web效勞器工具儲存在一個Session內的用戶信息,該信息僅可被該用戶訪問在一個ASP-Application中讓不同的客戶端共享信息可以用來配合MicrosoftTransaction效勞器進展分布式事務處理所以我選擇了ASP結合Frontpage架構**市工商職業中專學校第二章總體分析與設計2.1系統分析根據前面的設計思想進展分析,按照系統開發的根本觀點對進展分解,從內容上可對作如下劃分:l學校風采通過學校概括、教師風采、校園之星及局部圖片等內容來展現。優點特色通過新聞、生動活潑的教育教學欄目來展現。信息發布通過公告欄、信息查詢等欄目來實現,內容有招生政策、活動安排等。局部校務根據校務的公開程度與參與人數的多少,特選擇評優、家校聯系、收支情況、重大事件四大校務在網上實現。2.2主頁設計主頁采用靜、動相結合的方式,即靜態的主畫面和動態的圖片相結合,表達學校的勃勃生氣,靜態主頁方式介紹學校風采、優點特色、信息發布,對于四大校務,就得利用ASP與數據庫結合的技術建立數據庫查詢管理系統,采用交互式的動態的web畫面來實現。2.3數據庫設計采用的數據庫是MicrosoftAccess,擬建立teach.mdb庫文件,包含如下幾個表文件:allmessage留言信息表Libbooks圖書信息表Libcategories圖書類別信息表Libemps圖書館用戶信息表;stud學生信息表第三章詳細設計3.1家長學校聯絡簿3.1.1功能:利用SQL語法過濾特定的家長留言意見,讓教師可以針對*位特定學生家長所發表的意見作出獨立的答復,同時,家長在發表個人意見時,假設認為意見內容涉及敏感的話題或是意見內容涉及私人隱私,都可用“悄悄話〞的方式發言,這些“悄悄話〞將不會被顯示出來讓大家看到,當然,教師擁有管理的能力,只要以密碼登錄管理模式,就可以進展各個學生家長的單獨意見回復,而且還能看到家長們所留下的“悄悄話〞。3.1.2組成構造共分成六大局部:1,意見留言結果網頁guest.htm:用來顯示家長發言與教師回復內容,同時還具備一般模式與管理模式兩種顯示方法。2,家長發言表單網頁addmsg.htm:讓學生家長填寫發言內容并選擇發言性質。3,家長發言數據處理ASP程序add.htm:處理家長發表的意見數據,同時將這些意見數據記錄起來并將網頁顯示轉向至意見留言結果網頁。4,教師回復表單網頁teachans.htm:讓教師針對*位特定學生家長所發表的意見作出獨立的答復。5,教師回復數據處理ASP程序anssave.htm:處理教師回復的數據內容,同時將這些意見數據起來并將網頁顯示轉向至意見留言結果網頁。6,數據表文件allmessage:用來儲存家長發言數據與教師回復數據的Access類型數據庫文件。“數據表文件〞負責存放家長發言數據與教師回復內容的數據記錄,為Access類型的庫文件,將它定名為:“message.mdb〞。以下列圖為家庭聯絡簿的組成與流程圖:教師回復家長留言讀入寫入寫入3.1.3數據庫構造設計數據庫文件〞teach.mdb“中的數據表〞allmessage“的欄目設置,如以下列圖:字段名字段類型3.1.4界面設計與重點、難點代碼的設計數據庫與留言顯示程序網頁家長發言與教師回復的內容數據全部儲存在數據庫中,要在網頁中顯示目前的家長發言與教師回復數據,必須先進展數據庫的與翻開,要數據庫我們必須使用ADO對象群的Connection對象;而要翻開數據庫則必須使用ADO對象群的Recordset對象,程序:set=server.createobject("adodb.connection")
.open"filedsn=c:\programfiles\monfiles\odbc\datasources\msaccessdatabase.dsn"
setrs=server.createobject("adodb.recordset")
sql="select*fromallmessageorderby留言時間desc"
rs.opensql,,1,1Recordset對象是負責瀏覽與操作從數據庫取出來的數據,Connection對象只負責與數據庫進展的動作,并不能使用數據庫內的數據,因此必須建立一個可以存取數據庫數據的Recordset對象,使用RS.Open方法存取〞teach.mdb〞數據庫RS.OpenSQL,,1,1使用open方法來翻開數據表或執行Select指令參數設置如下:1,參數一〔SOURCE〕:為欲翻開的數據表或SQL指令。2,參數二〔ActionConnection〕:指定一個已翻開的數據庫對象,將此參數設為我們已經建立好的Connection對象“〞。3,參數三〔CursorType〕:指定Recordset的翻開類型,1為可讀寫且可自由移動。4,參數四〔LockType〕:指定鎖定類型,1為只讀。數據排序與SQL指令1.Select指令的篩選語句:格式:Select…From在SQL語言中:“Select〞數據表“中選取*些“欄位〞的數據。2.如果要選取的數據表數據包含了一個以上的欄位,則我們可以利用“,〞逗號來欄位名稱隔開。3.如果要選取的數據表數據包含了全部的欄位,則可以利用萬用字符“*〞來代表全部的欄位。可排序數據的Select指令1.當我們希望被選取出來的數據記錄數據能夠依據*個或*幾個欄位的內容來排序時,只要將這些排序依據的欄位擺放在“OrderBy“保存字之后,然后將這處排序的語句連接在〞Select…From“后面就行了。2.“OrderBy“默認的排序方式是“由小排到大〞,但假設是希望排序方式是“由大排到小〞,則我們可在欄位名稱后再加上“Desc“保存字!將排序方式改為〞由大排到小“。在“顯示留言意見〞網頁中的翻開數據庫ASP程序中的語句:SELECT*Fromallmessageorderby留言日期Desc功能為:從數據表“allmessage“中取出所有欄位的數據,并將取出的數據記錄內容依照〞留言日期“欄位使用的〞由大排到小“排序方式進展排序。留言顯示網頁的管理模式“顯示留言意見〞的網頁就必須具備顯示模式選擇的功能,當顯示模式在一般情況時要能顯示家長們的一般性發言,同時還得將“悄悄話“的發言隱藏起來。當教師以密碼登錄成為管理模式時,則必須將一般性發言與悄悄話發言的數據全部顯示出來,同時還得讓教師們可以針對*位特定學生家長所發表的意見作出獨立的答復。這兩個情況是通過密碼登錄管理模式的ASP程序實現的:<formmethod="post">
<%ifsession("checkedit")="yes"then%>
<inputtype="hidden"value="yes"name="goe*it"><inputtype="submit"value="離開管理模式">
<%else%>密碼:<inputtype="password"name="password"size="4"ma*length="4">  <inputtype="submit"value="教師管理">
<%endif%>
</form>在這段網頁語句中,利用Session對象來記錄目前的工作模式。當我們第一次進入“顯示留言意見〞網頁的時候,我們所見的網頁畫面一定是一般!因為Session尚未被建立,因此它的“變量〞值一定不會是“yes〞,所以網頁中會出現一個輸入密碼進入“教師管理〞模式的欄位,只有當我們輸入密碼按下“教師管理〞的按鈕組織上發ASP程序中的進入管理模式語句后,Session對象才會被建立,同時,“checkedit“Session對象變量值被設置為“yes“,所以我們就進入了能將一般性發言與悄悄話發言的數據全部顯示出來,同時還讓教師們可以針對*位特定學生家長所發表的意見作出獨立答復的管理模式頁面。留言顯示網頁的分頁當家長的發言與教師回復的數據筆數太多時,一次要將全部的數據內容顯示在網頁中,等待網頁下載的時間太長了,因此采用固定筆數分頁瀏覽方式來顯示網頁。要進展分頁顯示,得先知道目前有多少筆的留言數據,而留言數據筆數可以通過Recordset對象的“Recordcount“〔記錄個數〕屬性得知,我們將每10筆數據為一單位分頁顯示:count=rs.recordcount
ifcount/10>(count\10)then
totalpage=(count\10)+1
elsetotalpage=(count\10)
endif“/〞為浮點數除法,“\〞為整數除法。跳頁選擇的ASP程序語句所有的發言數據采用固定筆數分頁瀏覽的方式來顯示后,還要提供一個跳頁顯示的功能,讓瀏覽者可以選擇希望瀏覽的頁次進得瀏覽,ASP程序語句:pagecount=0
rs.movefirst
ifrequest.querystring("topage")<>"thenpagecount=cint(request.querystring("topage"))
ifpagecount<=0thenpagecount=1
ifpagecount>totalpagethenpagecount=totalpage
rs.move(pagecount-1)*10發言表單網頁制作insetu3表單的參數表單的Action參數:Action參數是用來指定Server端處理此一表單數據內容的程序,此處表單處理ASP程序為“add.htm“,表單的Mothed參數:要將表單傳送至Server端的方式有兩種,設置值分別為GET及POST,假設設置為POST,則瀏覽器會等Server端來讀取數據,假設設置為GET,則當我們按下送出按鈕時,瀏覽器會立即將表單中的數據內傳送出去。利用POST方法,在傳送的數據上將不受限制,利用GET方法傳送的數據量則大約只有2K左右。留言處理程序要將家長發言數據作后續處理及將這些數據內容存入數據庫,須利用添加數據記錄的InsertInto指令,然后再寫入數據庫文件中:Insetinto指令語句格式:Insertinto數據表名〔欄目名〕values〔欄目值〕sql="insertintoallmessage(家長**,留言主題,聯絡信箱,留言內容,私人公開,留言時間,班級)values("
sql=sql&"'"&parent&"',"
sql=sql&"'"&subject&"',"
sql=sql&"'"&email&"',"
sql=sql&"'"&memo&"',"
sql=sql&"'"&personal&"',"
sql=sql&"'"&now&"',"
sql=sql&"'"&bj&"')"
.e*ecutesql回復表單程序網頁必須讓教師們可以針對*位特定學生家長所發表的意見作出獨立的答復,使用Select…From…Where篩選語句sql="select*fromallmessagewhere(編號="&ID&")"
rs.opensql,,1,3然后將特定的家長發言數據放在表單,方法是將數據庫中的數據取出來,然后放在表單欄位中:“家長**“欄位網頁語句標簽<tdbgcolor="*CCCCFF"><fontsize="2"><%=RS("家長**")%><font></td>“留言主題“欄位網頁語句標簽<tdbgcolor="*CCCCFF"><fontsize="2"><%=RS("留言主題")%></font></td>“留言內容“欄位網頁語句標簽<tdbgcolor="*CCCCFF"><fontsize="2"><%=RS("留言內容")%><font></td>教師在回復欄位中所填入的數據,必須送給處理教師回復數據的ASP程序〞anssave.htm〞來記錄以及處理這些回復數據。當教師填寫好回復發言的數據后按下“送出回復〞按鈕后,表單中的數據內容就會以“POST〞的方式由SEVER端讀取,然后將數據內容交由處理教師回復數據的ASP程序“anssave.htm〞來將數據內容寫入數據庫。3.2網上圖書館網上圖書館將學校圖書館圖書放到網絡上供人借閱,這樣不僅方便了校內的學生與教職員工使用圖書館的資源,還為圖書館管理員提供了一種簡便地管理圖書館的方法.3.2.1功能網上圖書館系統可以進展圖書的出借和歸還.還可以在系統中按照多種字段對圖書進展查找,還可以瀏覽*個種類的所有圖書.該應用程序也為圖書館管理員提供了一些功能,如添加、編輯以及刪除圖書等,或者在分類層次構造中添加新的種類。3.2.2系統的層次構造以下列圖的每個方框代表校園圖書館中的一個頁面。除了只包含HTML的Search頁面外,其他的均為ASP頁面。因為每個圖書的頁面都不同,所以大多數的頁面實際上都是多頁面。數據庫設計本系統共使用3個數據表:LibBooks表包含與圖書有關的所有數據。該表中的字段內容的圖書的通用信息。另外,對于已經出借的圖書,該表中還包含借閱該圖書的用戶的ID號,以及圖書的狀態。表視圖如下:字段名意義字段類型字段名意義字段類型bookid書號(主鍵)數字(nonull)status狀態文本title書名文本checkedoutto用戶id數字author著者文本reservedby用戶**數字Subject主題文本description描述文本IsbnIsbn號文本keywords關鍵字文本LibCategories表包含Library中的所有類別,在訪問者瀏覽圖書列表時將會用到這些類別。每個類別都可以作為另外類別的父類別。有一個特殊的類別,Top-Level,沒有出現在類別列表中,但是可以作為其他任何類別的父類別。字段名意義字段類型Categoryname類別文本(noll)
parentcategory父類別文本(noll)LibEmps表包含可以訪問圖書館的用戶信息。該表包含一些通用的信息字段,比方用于進入圖書館的用戶密碼等。字段名意義字段類型字段名意義字段類型empid用戶id(主鍵nonull)數字password用戶密碼文本Empname用戶**文本manager管理員代號數字emailaddress用戶文本圖書館數據庫的數據關系如圖9-22所示。其中表LibEmps和表LibCategories與表LibBooks之間都是一對多的關系。每個雇員都可以借閱多本圖書,每個類別都可以包含多本圖書。界面設計與重點代碼的設計網上圖書館系統有兩種用戶,一是管理員。另一種是只允許使用圖書館系統,而沒有管理功能的一般用戶。訪問者進入,首先要進展登錄,如以下列圖所示。登錄頁面〔inde*.htm〕訪問者輸入E-mail地址和密碼來登錄,然后單擊“登錄〞按鈕。輸入的數據提交后與數據庫中的用戶表進展匹配。須創立一個記錄來保存基于訪問者登錄的用戶信息setRSFindEmp=conn.E*ecute("selectEmpID,ManagerfromLibEmpswhere"_
&"EmailAddress='"&Request.Form("EmailAddress")&"'and"_
&"Password='"&Request.Form("Password")&"'")
ifRSFindEmp.EOFthen
TheMessage="密碼或email地址不對."
else
Session("EmpID")=RSFindEmp("EmpID")
Session("Manager")=RSFindEmp("Manager")Response.Redirect"../yk.htm"
endif表單域EmailAddress和Password用于Where了句中來獲取一個記錄。如果訪問者輸入了一個無效的用戶名,則記錄集中將不會返回匹配的記錄。我們可以通過查看EOF標記來判斷一個記錄集是否為空。為空,則訪問者將被拒絕進入該系統。不為空,則訪問者的EmpID值和Manager值將從記錄集中返回。寫入Session變量,變量將在整個的所有網頁中都是有效的。這些變量的存在與否及其取值將用于確定是否允許進入一個特定的網頁,同時也用于訪問者進展書目的歸還和借閱操作。圖書館菜單頁面圖書館菜單頁面包含指向其他4個頁面的:管理頁面、搜索頁面、圖書列表頁面和主頁面。還有一個可顯示用戶所借書籍的按紐。如果訪問者是圖書館管理員,則菜單界面如下列圖。如果訪問者不是圖書館管理員,則看到如下列圖的界面。非管理員的訪問者的界面上沒有指向管理員菜單頁面的。實現方法:訪問者登錄時在登錄頁面上的創立的會話變量Session用于從數據庫中獲取訪問者的有關信息,表示它是否是管理員。如果值為1,就說明訪問者是一個管理員,則用如下代碼寫入一個指向管理員頁面的:<%IfSession("Manager")=1then%>
<AHREF="../html/management_menu.htm">管理員菜單</A>
<%endif%>通過按紐B1是否為空來判斷要不要顯示用戶所借圖書,利用一個記錄集來獲取訪問者已經借出了的所有圖書的列表。ifNOTisempty(Request.Form("B1"))then
setRSBooks=conn.E*ecute("selectBookID,TitlefromLibBookswhere"_
&"CheckedOutTo="&Session("EmpID"))
endif再用循環語句將所借書以表格形式顯示出來。<tableborder=1width="90%">
<%ifNOTisempty(Request.Form("B1"))then
DoUntilRSBooks.EOF%>
<TR>
<TDWIDTH=40%height="20"><%Response.WriteRSBooks("Title")%></td></tr>
<%RSBooks.MoveNe*t
loop
endif
%>
</table>循環將遍歷Rsbooks記錄集中的每個記錄,直到該記錄集完畢:該中的所有ASP頁面都會在訪問者訪問之前對其進展登錄檢查。這樣就可以防止訪問者通過輸入*個頁面地址然后在沒有登錄的情況下直接進入該頁面的情況發生。此外,每個管理頁面都要確認訪問者是管理員。管理菜單頁面管理菜單頁面有一個HTML表單,根據選擇的按鈕的不同,可以進展5種不同的操作:圖書的歸還、圖書的編輯、圖書的刪除、圖書的添加和類別的添加。不管選擇了哪一個按鈕,該表單都提交人其自身進展處理。要進展圖書的歸還、圖書的編輯、圖書的刪除三種操作,須先進展搜索,找到該書后,由圖書Book.htm返回一個:<%IfSession("Manager")=1then%>
<AHREF="../html/management_menu.htm?title=<%response.writeRSBooks("Title")%>&BOOKID=<%response.writeRSBooks("BOOKID")%>">管理員菜單</A>
<%endif%>而管理者頁面通過以下語句<%=request.querystring("title")%>
<inputzztype=hiddenname="BOOKID1"value="<%=request.querystring("BOOKID")%>>這樣就將所找到的書的書號BookID、書名Title傳遞管理者頁面。再進展所須操作。共有3個不同的銨紐,可以進展3種操作。假設單擊“修改〞鈕:則重定向到編輯圖書頁面,同時把Bookid傳遞給該頁面。Response.Redirect"./edit_book.htm?BOOKID="&request("BOOKID1")將其他的情況需要建立到數據庫的連接:setconn=server.createobject("adodb.connection")
Conn.Open("FILEDSN=c:\ProgramFiles\monFiles\ODBC\DataSources\msaccessdatabase.dsn")
ifNOTisempty(Request.Form("Delete"))andrequest("BOOKID1")<>"then
conn.E*ecute"deletefromLibBookswhereBOOKID="&request("BOOKID1")
endif
if(NOTisempty(Request.Form("checkin")))andrequest("BOOKID1")<>"then
conn.E*ecute"updateLibBookssetcheckedoutto=0,status='Available'whereBookID="&Request("BOOKID1")
endif頁面中的添加新的種類局部包含一個文本控件和一個選擇控件。其中選擇控件是用所有已經存在的類別列表進展填充的,包括特殊類別Toplevel,該類別說明當前類別是處于類別層次構造中的最頂層。代碼如下:先用一個記錄集來填充父類別選擇控件:setRSCategories=conn.E*ecute("selectCategoryNamefromLibCategoriesorderbyCategoryName")再用以下循環語句:<%
DoUntilRSCategories.EOF
%>
<OPTIONVALUE="<%response.writeRSCategories("CategoryName")%>"><%response.writeRSCategories("CategoryName")%></OPTION>
<%
RSCategories.MoveNe*t
Loop
%>遍歷RSCategories記錄集中的每個記錄,并作為一個選項添加到列表中,而記錄集中CategoryName同時作為顯示值和傳遞值:本頁面還包含一個指向添加圖書頁面的。搜索結果頁面搜索頁面的代碼獲取與訪問者查找規則相匹配的圖書,然后將這些圖書顯示給訪問者。搜索頁面上的表單包含一個選擇控件和一個文本控件。選擇控件中的選項是用可搜索的字段填充的:需要用一個記錄集來保存與訪問者的查找規則相匹配的記錄:setRSBooks=conn.E*ecute("selectBookID,Author,Title,SubjectfromLibBookswhere"_
&Request.Form("SearchField")&"Like'%"&Request.Form("SearchCriteria")&"%'")注意:,符號%表示的是一個廣義搜索。這一點類似于ACCESS中的符號*。然后將所找到的書以表格形式顯示出來。代碼如下:<%DoUntilRSBooks.EOF%>
<TRVALIGN="top"ALIGN="left">
<TDWIDTH=40%height="20"><B>書名:</B><AHREF="../html/book.htm?BookID=<%Response.WriteRSBooks("BookID")%>"><%Response.WriteRSBooks("Title")%></A></TD>
<tdwidth=20%height="20"><B>著者:</B><%Response.WriteRSBooks("Author")%></td>
<tdwidth=30%height="20"><B>主題:</B><%Response.WriteRSBooks("Subject")%></td>
<%RSBooks.MoveNe*t
Loop%>圖書頁面圖書頁面的代碼顯示圖書的有關信息,以及管理圖書的出借操作。該頁面通過Querystring傳遞BookID
ifisempty(Request.QueryString("BookID"))then
Response.Redirect"./search.html"
endif如果其中不存在,則訪問者將被重定向到搜索頁面:如果同時傳遞表單中包含的變量Action不為空,則說明訪問者正借閱該圖書:ifNotisempty(Request.QueryString("Action"))then在這種情況下,需要將圖書狀態改為Checkout,同時需要將Checkedoutto字段修改為該訪問者:conn.E*ecute"updateLibBookssetStatus='CheckedOut',"_
&"CheckedOutTo="&Session("EmpID")&"whereBookID="_
&Request.QueryString("BookID")
Response.Redirect"./library_menu.htm"
endif然后將該訪問者重定到圖書館菜單頁面:下一步,利用圖書的狀態來確定不同的未借出時如下:ifRSBooks("status")="Available"then
LinkTe*t="<AHREF="../html/book.htm?Action=CheckOut&BookID="_
&Request.QueryString("BookID")&"">借這本書</A>"如果圖書已經借出,就創立一個不同的消息,并將設置為指向Librarymenu頁面:LinkTe*t="<AHREF="../html/library_menu.htm">圖書已出借,返回主菜單。</A>"最后根據是否是管理員,顯示管理員菜單。<%IfSession("Manager")=1then%><AHREF="../html/management_menu.htm?title=<%response.writeRSBooks("Title")%>&BOOKID=<%response.writeRSBooks("BOOKID")%>">管理員菜單</A><%endif%>3.3網上評優投票系統功能:能實現全校性的評選,快捷、公平,且有效,不允許做票。組成構造這個系統由3個局部組成——投票頁面vote.htm,處理投票結果的腳本,顯示投票頁面。3.3.3數據表的設計:3.3.4界面設計與重點、難點代碼設計投票頁面該頁面是一個純HTML文件,它讓用戶選擇自己想選舉的候選人,并填寫自己的詳細資料,以確認投票的有效性。頁面顯示如下列圖。表單處理腳本在vote.htm中各項數據都填寫完畢后,單擊確定投票按鈕,表單的數據就被提交,本次評優共有4個候選人,但只能選兩個。故用復選框。投票的有效性通過是否是本校學生,且是否投過票來判斷。ifrequest("passno")<>"then
sql="select*fromstudwherepassword="&"'"&request("passno")&"'"&"andyitu=0"
setrs=.e*ecute(sql)
ifrs.eofthen%>
<h2align=center><%response.write"你無權投票"%></h2>本設計允許少選,不允許多項選擇。通過判斷Vote投票界面傳遞過來的復選按紐值的長度看是否多項選擇。vo=request("cand")
iflen(vo)>4then%>
<h2align=center><%response.write"多項選擇了,無效"%></h2>然后根據所投的票將對應候選人的投票結果字段加1,同時將該投票人的已投字段置為1。sqq="updatestudsetyitu=1wherepassword="&"'"&request("passno")&"'"
.e*ecute(sqq)
ifinstr(vo,"1")then
.e*ecute("updatestudsetresult=result+1wherename='李寧'")
endif
ifinstr(vo,"2")then.e*ecute("updatestudsetresult=result+1wherename='楊蘭'")
endif
ifinstr(vo,"3")then
.e*ecute("updatestudsetresult=result+1wherename='江道明'")
endif
ifinstr(vo,"4")then
.e*ecute("updatestudsetresult=result+1wherename='段啟文'")
endif%>顯示當前投票情況show.htm由于投票處理頁面已經完成了絕大局部的工作,所以顯示結果頁面就很簡單了,其功能是從Stud表文件中讀取候選人所得票數,顯示在頁面上。頁面顯示如圖值得注意的代碼主要有以下幾處:該頁面有自動刷新功能,使在線用戶可以盡快的看到最新的選舉情況。我們這里設定每隔30秒鐘自動刷新一次。<meta-equiv="refresh"content="10;URL=show.htm">顯示投票時,我們采用了while循環,把候選人及其得票數,整齊地顯示在一個表格中,這種技術在數據庫查詢結果的顯示中也經常用到。代碼如下:<%whilenoths.eof%>
<tr>
<tdwidth="100%"><center>
<fontcolor="*8000ff"><big>
<%=hs("name")&""&hs("result")&"票"%>
</big></font>
</center>
</td>
</tr>
<%hs.movene*t%>
<%wend%>3.4達級考試在線查分系統與計數器的制作3.4.1功能:它提供了在線查看成績。考生可以在網上使用這一系統,通過輸入**編號來查詢達級考試的結果。3.4.2數據表的設計與評優系統共用STUd表,表設計同上。3.4.3界面設計與重點難點代碼的設計該模塊需要查詢者輸入**號后來查看結果。假設ID1不為空時,表示有表單輸入,開場查詢數據庫。使用SELECT的SQL指令查詢數據庫的數據。先設定SQL指令,查詢ID符合**編號Request.Form("ID1")的數據,下個“E*ecute〞指令,即可開場執
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 日用品生產設備安全風險評估考核試卷
- 船舶拆除項目合同條款解讀與應用考核試卷
- 故事代替道理:《不要把問題怪到別人身上》
- 海外務工人員意外傷害及體檢保險補充協議
- 海外留學行李保險與托運質量雙保障協議
- 影視后期特效合成與影視衍生品開發合同
- 物流公司供應鏈總監職位競聘與培訓與發展合同
- 美容儀器攝影服務與市場推廣協議
- 新能源汽車充電設施對賭協議(業績補償條款)及充電樁建設合作協議
- 2025年中國半導體光電器件行業市場規模調研及投資前景研究分析報告
- 糖尿病患者的飲食指導-課件
- 醫院藥物臨床試驗倫理委員會倫理審查申請及受理表
- 2021譯林版高中英語選擇性必修三課文翻譯
- 智能網聯汽車線控技術課件
- 鄭州大學ppt模板
- (完整版)ECRS培訓課件
- 學校端午假期致學生家長一封信
- 第1本書出體旅程journeys out of the body精教版2003版
- 塑料制品事業部獨立核算體系文件
- 《鴻門宴》話劇劇本
- 灸法操作規程完整
評論
0/150
提交評論