




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄第一章:諸言 2第一節(jié) 設(shè)計思想2第二節(jié) 開發(fā)工具的選用及介紹2第三節(jié) 系統(tǒng)的使用說明與安裝4第二章:網(wǎng)站總體分析與設(shè)計 4第一節(jié) 網(wǎng)站系統(tǒng)分析4第二節(jié) 主頁設(shè)計4第三節(jié) 數(shù)據(jù)庫設(shè)計4第三章:詳細設(shè)計 5第一節(jié) 家長學校聯(lián)絡(luò)簿5第二節(jié) 網(wǎng)上圖書館10第三節(jié) 網(wǎng)上評優(yōu)投票系統(tǒng)16第四節(jié) 達級考試在線查分系統(tǒng)與計數(shù)器的制作18結(jié)束語 21謝辭 21參考文獻 21附圖 22第一章 諸言在Internet飛速開展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網(wǎng)站來實現(xiàn)的,獲取信息也是要在Inter
2、net“海洋中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成局部,從而倍受人們的重視。為了更好的辦學,提高學校知名度,特構(gòu)建某校虛構(gòu)網(wǎng)站。該學校網(wǎng)是面向全社會的宣傳功能型的學校網(wǎng)站,主要是宣傳學校及展示學校的設(shè)施,發(fā)布學校開展的動態(tài)新聞。讓更多的學生了解該校,為學校學生、家長和老師上網(wǎng)瀏覽者提供一個互動性很強的紐帶作用,使學生和家長充分享受學校的優(yōu)質(zhì)效勞,目的是加強宣傳,與網(wǎng)下宣傳構(gòu)成一個立體的宣傳模式。第一節(jié) 設(shè)計思路通過網(wǎng)站,全面宣傳,展示學校風采、優(yōu)點與特色,發(fā)布學校的重大活動安排與招生
3、政策,增強家長與學校之間的溝通,在Internet上實現(xiàn)完成局部校務(wù),提高辦事效率。第二節(jié) 開發(fā)工具的選用及介紹一、ASP的優(yōu)勢:Active Server Pages:“動態(tài)效勞器網(wǎng)頁,一般簡稱為“ASP,ASP之所以能受到大家的重視與使用的原因,主要在于所產(chǎn)生的執(zhí)行結(jié)果都是標準的HTML格式,而且這些程序是在網(wǎng)絡(luò)效勞端中執(zhí)行,使用一般的瀏覽器如IE 或Netscape都可以正確地獲得ASP的“執(zhí)行結(jié)果,并且將這ASP執(zhí)行的結(jié)果直接在瀏覽器中“瀏覽,不像VBScript或 JavaScript是在客戶端Client的瀏覽器上執(zhí)行,假設(shè)使用VBScript來設(shè)計程序,客戶端Client在IE瀏
4、覽器中可以顯示程序執(zhí)行的結(jié)果,可是,客戶端Client假設(shè)使用Netscape瀏覽器就無法顯示VBScript的執(zhí)行結(jié)果。二、ASP的特點:任何開發(fā)工具皆可開展ASP只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網(wǎng)頁開展工具,例如,F(xiàn)rontPage Express、 FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,假設(shè)是使用那些所見即所得的網(wǎng)頁編輯來寫ASP,可能會發(fā)生一些意想不到的離奇狀態(tài)。通吃各家瀏覽由于ASP程序是在網(wǎng)絡(luò)效勞器端中執(zhí)行,執(zhí)行結(jié)果所產(chǎn)生的HTML文件適用于不同的瀏覽器。(一) 語言相容性高ASP與所有的ActiveX S
5、cript語言都相容,除了可結(jié)合HTML,VBScript、Java Script、Active X效勞器組件來設(shè)計外,并可經(jīng)由“plug-In外掛組件模組的方式,使用其他廠商Third Party所提供的語言。(二) 隱密平安性高如果我們在瀏覽器中直接查看網(wǎng)頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因杰ASP程序先于網(wǎng)站效勞Web Server端執(zhí)行后,將結(jié)果轉(zhuǎn)換成標準HTML文件,再傳送到客戶端Client的瀏覽器上,因此,我們所辛苦撰寫的ASP程序并不會輕易地被看見進而被盜用。(三) 易于操控數(shù)據(jù)庫ASP可以輕易地通過ODBC(Open Database
6、Connectivity)驅(qū)動程序連接各種不同的數(shù)據(jù)庫,例如:Access、Foxpro、dBase、Oracle等等,另外,ASP亦可將“文本文件或是“Excel 文件當成數(shù)據(jù)庫用。(四) 面向?qū)ο髮W習容易ASP具備有面向?qū)ο?Object-Oriented)功能,學習容易,ASP提供了五種方便能力強大的內(nèi)建對象:Request、Response、Sever、Application以及Session,同時,假設(shè)使用ASP內(nèi)建的“Application對象或“Session對象所撰寫出來的ASP程序可以在多個網(wǎng)頁之間暫時保存必要的信息。ASP的六大內(nèi)部對象對象名稱 功能描述Request Re
7、sponse Server Session Application Object Context 從客戶端取得信息將信息送給客戶端提供一些Web效勞器工具儲存在一個Session內(nèi)的用戶信息,該信息僅可被該用戶訪問在一個ASP-Application中讓不同的客戶端共享信息可以用來配合Microsoft Transaction 效勞器進行分布式事務(wù)處理所以我選擇了ASP結(jié)合dreamweaver架構(gòu)某校網(wǎng)站第三節(jié) 系統(tǒng)的使用說明與安裝一、 運行環(huán)境要求Windows XP(SP2)Internet Information Services (IIS)Microsoft Access 2002二
8、、安裝設(shè)置一 將本網(wǎng)站拷貝到硬盤上的某一目錄下,如:拷貝至c:y1下。二 運行IIS,將默認的Web站點主目錄設(shè)置為該目錄,如上例應(yīng)為c:y1;具體步驟:1.選擇“默認網(wǎng)站項;2.單擊“屬性按鈕,在出現(xiàn)的“屬性對話框中的“主目錄項中填入“c:y1,其他不變,確定;3.第二章 網(wǎng)站總體分析及設(shè)計第一節(jié) 網(wǎng)站系統(tǒng)分析根據(jù)前面的設(shè)計思想進行分析,按照系統(tǒng)開發(fā)的根本觀點對網(wǎng)站進行分解,從內(nèi)容上可對網(wǎng)站作如下劃分:一、 學校風采 通過學校概括、教師風采、校園之星及局部圖片等內(nèi)容來展現(xiàn);二、 優(yōu)點特色 通過新聞、生動活潑的教育教學欄目來展現(xiàn);三、 信息發(fā)布 通過公告欄、信息查詢等欄目來實現(xiàn),內(nèi)容有招生政策
9、、活動安排等;四、 局部校務(wù) 根據(jù)校務(wù)的公開程度與參與人數(shù)的多少,特選擇圖書管理、評優(yōu)、考試查分、家校聯(lián)系四大校務(wù)在網(wǎng)上實現(xiàn)。第二節(jié) 主頁設(shè)計網(wǎng)站主頁采用靜、動相結(jié)合的方式,即靜態(tài)的主畫面和動態(tài)的圖片相結(jié)合,表達學校的勃勃生氣,靜態(tài)主頁方式介紹學校風采、優(yōu)點特色、信息發(fā)布,對于四大校務(wù),就得利用ASP與數(shù)據(jù)庫結(jié)合的技術(shù)建立數(shù)據(jù)庫查詢管理系統(tǒng),采用交互式的動態(tài)的web畫面來實現(xiàn)。主頁結(jié)構(gòu)簡圖 見P22附圖1第三節(jié) 數(shù)據(jù)庫設(shè)計采用的數(shù)據(jù)庫是Microsoft Access ,擬建立teach.mdb庫文件,包含如下幾個表文件:allmessage 留言信息表Libbooks 圖書信息表Libcat
10、egories 圖書類別信息表Libemps 圖書館用戶信息表stud 學生信息表第三章 詳細設(shè)計第一節(jié) 家長學校聯(lián)絡(luò)簿一、 功能:利用SQL語法過濾特定的家長留言意見,讓老師可以針對某位特定學生家長所發(fā)表的意見作出獨立的答復(fù),同時,家長在發(fā)表個人意見時,假設(shè)認為意見內(nèi)容涉及敏感的話題或是意見內(nèi)容涉及私人隱私,都可用“悄悄話的方式發(fā)言,這些“悄悄話將不會被顯示出來讓大家看到,當然,老師擁有管理的能力,只要以密碼登錄管理模式,就可以進行各個學生家長的單獨意見回復(fù),而且還能看到家長們所留下的“悄悄話。二、 組成構(gòu)造共分成六大局部:一意見留言結(jié)果網(wǎng)頁guest.asp:用來顯示家長發(fā)言與老師回復(fù)內(nèi)容
11、,同時還具備一般模式與管理模式兩種顯示方法;二家長發(fā)言表單網(wǎng)頁addmsg.asp:讓學生家長填寫發(fā)言內(nèi)容并選擇發(fā)言性質(zhì);三家長發(fā)言數(shù)據(jù)處理ASP程序add.asp:處理家長發(fā)表的意見數(shù)據(jù),同時將這些意見數(shù)據(jù)記錄起來并將網(wǎng)頁顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁;四老師回復(fù)表單網(wǎng)頁teachans.asp:讓老師針對某位特定學生家長所發(fā)表的意見作出獨立的答復(fù);五老師回復(fù)數(shù)據(jù)處理ASP程序anssave.asp:處理老師回復(fù)的數(shù)據(jù)內(nèi)容,同時將這些意見數(shù)據(jù)起來并將網(wǎng)頁顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁;六數(shù)據(jù)表文件allmessage:用來儲存家長發(fā)言數(shù)據(jù)與老師回復(fù)數(shù)據(jù)的Access類型數(shù)據(jù)庫文件?!皵?shù)據(jù)表文件負責存
12、放家長發(fā)言數(shù)據(jù)與老師回復(fù)內(nèi)容的數(shù)據(jù)記錄,為Access類型的庫文件,將它定名為:“message.mdb。以下圖為家庭聯(lián)絡(luò)簿的組成與流程圖:家庭聯(lián)絡(luò)簿的組成與流程圖 見P23附圖2三、 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計數(shù)據(jù)庫文件teach.mdb“中的數(shù)據(jù)表 allmessage“的欄目設(shè)置,如以下圖:字段名 字段類型 意義meid 自動編號主鍵 標識每一條留言mename 文本 發(fā)言人姓名metime 日期 發(fā)言時間metitle 文本 發(fā)言標題mecontent 備注 發(fā)言內(nèi)容meflag 數(shù)字 悄悄話標識mereply 備注 回復(fù)內(nèi)容mereplyer 文本 回復(fù)者姓名mereplytime 日期 回復(fù)時
13、間四、界面設(shè)計與重點代碼的設(shè)計一數(shù)據(jù)庫與留言顯示程序網(wǎng)頁數(shù)據(jù)篩選家長發(fā)言與老師回復(fù)的內(nèi)容數(shù)據(jù)全部儲存在數(shù)據(jù)庫中,要在網(wǎng)頁中顯示目前的家長發(fā)言與老師回復(fù)數(shù)據(jù),必須先進行數(shù)據(jù)庫的鏈接與翻開,要鏈接數(shù)據(jù)庫我們必須使用ADO對象群的Connection對象;而要翻開數(shù)據(jù)庫那么必須使用ADO對象群的Recordset對象,程序:eateobject("adodb.connection") cn.open "filedsn=c:program filescommon filesodbcdata sourcesms access database.dsn"set rs
14、=server.createobject("adodb.recordset")sql="select * from allmessage order by 留言時間 desc"rs.open sql,cn,1,1Recordset對象是負責瀏覽與操作從數(shù)據(jù)庫取出來的數(shù)據(jù),Connection對象只負責與數(shù)據(jù)庫進行鏈接的動作,并不能使用數(shù)據(jù)庫內(nèi)的數(shù)據(jù),因此必須建立一個可以存取數(shù)據(jù)庫數(shù)據(jù)的Recordset對象,使用RS.Open方法存取teach.mdb數(shù)據(jù)庫RS.Open SQL,CN,1,1使用open方法來翻開數(shù)據(jù)表或執(zhí)行Select指令參數(shù)設(shè)置如下
15、:a.參數(shù)一SOURCE:為欲翻開的數(shù)據(jù)表或SQL指令。b. 參數(shù)二ActionConnection:指定一個已翻開的數(shù)據(jù)庫對象,將此參數(shù)設(shè)為鏈接我們已經(jīng)建立好的Connection對象“CN。c. 參數(shù)三 CursorType:指定Recordset的翻開類型,1為可讀寫且可自由移動。d. 參數(shù)四LockType:指定鎖定類型,1為只讀。數(shù)據(jù)排序與SQL指令Select 指令的篩選語句:格式: SelectFrom在SQL語言中:“Select數(shù)據(jù)表“中選取某些“欄位的數(shù)據(jù).如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了一個以上的欄位,那么我們可以利用“,逗號來欄位名稱隔開。如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了全部的
16、欄位,那么可以利用萬用字符“*來代表全部的欄位??膳判驍?shù)據(jù)的Select指令a.當我們希望被選取出來的數(shù)據(jù)記錄數(shù)據(jù)能夠依據(jù)某個或某幾個欄位的內(nèi)容來排序時,只要將這些排序依據(jù)的欄位擺放在“Order By“保存字之后,然后將這處排序的語句連接在SelectFrom“后面就行了。b. “Order By“默認的排序方式是“由小排到大,但假設(shè)是希望排序方式是“由大排到小,那么我們可在欄位名稱后再加上“Desc“保存字!將排序方式改為由大排到小“。在“顯示留言意見網(wǎng)頁中的翻開數(shù)據(jù)庫ASP程序中的語句:SELECT*From allmessage order by 留言日期 Desc功能為:從數(shù)據(jù)表“a
17、llmessage“中取出所有欄位的數(shù)據(jù),并將取出的數(shù)據(jù)記錄內(nèi)容依照留言日期“欄位使用的由大排到小“排序方式進行排序。2.留言顯示網(wǎng)頁的管理模式“顯示留言意見的網(wǎng)頁就必須具備顯示模式選擇的功能,當顯示模式在一般情況時要能顯示家長們的一般性發(fā)言,同時還得將“悄悄話“的發(fā)言隱藏起來。當老師以密碼登錄成為管理模式時,那么必須將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來,同時還得讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的答復(fù)。這兩個情況是通過密碼登錄管理模式的ASP程序?qū)崿F(xiàn)的:<form method="post"> <%if session("
18、;checkedit")="yes" then%> <input type="hidden" value="yes" name="goexit"> <input type="submit" value="離開管理模式"> <%else%> 密碼:<input type="password" name="password" size="4" maxlength=
19、"4">_  <input type="submit" value="教師管理"> <%end if%> </form> 在這段網(wǎng)頁語句中,利用Session對象來記錄目前的工作模式。當我們第一次進入“顯示留言意見網(wǎng)頁的時候,我們所見的網(wǎng)頁畫面一定是一般!因為Session尚未被建立,因此它的“變量值一定不會是“yes,所以網(wǎng)頁中會出現(xiàn)一個輸入密碼進入“教師管理模式的欄位,只有當我們輸入密碼按下“教師管理的按鈕組織上發(fā)ASP程序中的進入管理模式語句后,Sessi
20、on對象才會被建立,同時,“checkeditSession對象變量值被設(shè)置為“yes,所以我們就進入了能將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來,同時還讓教師們可以針對某位特定學生家長所發(fā)表的意見作出獨立答復(fù)的管理模式頁面。3.留言顯示網(wǎng)頁的分頁當家長的發(fā)言與老師回復(fù)的數(shù)據(jù)筆數(shù)太多時,一次要將全部的數(shù)據(jù)內(nèi)容顯示在網(wǎng)頁中,等待網(wǎng)頁下載的時間太長了,因此采用固定筆數(shù)分頁瀏覽方式來顯示網(wǎng)頁。要進行分頁顯示,得先知道目前有多少筆的留言數(shù)據(jù),而留言數(shù)據(jù)筆數(shù)可以通過Recordset對象的“Recordcount“記錄個數(shù)屬性得知,我們將每10筆數(shù)據(jù)為一單位分頁顯示:if count/10>(c
21、ount10) thentotalpage=(count10)+1else totalpage=(count10)end if“/為浮點數(shù)除法,“為整數(shù)除法。跳頁選擇的ASP程序語句所有的發(fā)言數(shù)據(jù)采用固定筆數(shù)分頁瀏覽的方式來顯示后,還要提供一個跳頁鏈接顯示的功能,讓瀏覽者可以選擇希望瀏覽的頁次進得瀏覽,ASP程序語句:pagecount=0if request.querystring("topage")<>"" then pagecount=cint(request.querystring_("topage")if pag
22、ecount<=0 then pagecount=1if pagecount>totalpage then pagecount=totalpagers.move(pagecount-1)*10二發(fā)言表單網(wǎng)頁制作1表單的參數(shù)表單的Action參數(shù):Action參數(shù)是用來指定Server端處理此一表單數(shù)據(jù)內(nèi)容的程序,此處表單處理ASP程序為“add.asp“,表單的Mothed參數(shù):要將表單傳送至Server端的方式有兩種,設(shè)置值分別為GET及POST,假設(shè)設(shè)置為POST,那么瀏覽器會等Server端來讀取數(shù)據(jù),假設(shè)設(shè)置為GET,那么當我們按下送出按鈕時,瀏覽器會立即將表單中的數(shù)據(jù)內(nèi)傳
23、送出去。利用POST方法,在傳送的數(shù)據(jù)上將不受限制,利用GET方法傳送的數(shù)據(jù)量那么大約只有2K左右。2留言處理程序要將家長發(fā)言數(shù)據(jù)作后續(xù)處理及將這些數(shù)據(jù)內(nèi)容存入數(shù)據(jù)庫,須利用添加數(shù)據(jù)記錄的Insert Into 指令,然后再寫入數(shù)據(jù)庫文件中:Inset into 指令語句格式:Insert into 數(shù)據(jù)表名 欄目名 values欄目值sql="insert into allmessage(家長姓名,留言主題,聯(lián)絡(luò)信箱,留言內(nèi)容,私人公開,留言時間,班級) values("sql=sql&"'"& parent&"
24、;',"sql=sql&"'"&subject&"',"sql=sql&"'"&email&"',"sql=sql&"'"&memo&"',"sql=sql&"'"&personal&"',"sql=sql&"'"&n
25、ow&"',"sql=sql&"'"&bj&"')"cn.execute sql3回復(fù)表單程序網(wǎng)頁必須讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的答復(fù),使用SelectFromWhere篩選語句sql="select * from allmessage where(編號="&ID&")"rs.open sql,cn,1,3然后將特定的家長發(fā)言數(shù)據(jù)放在表單,方法是將數(shù)據(jù)庫中的數(shù)據(jù)取出來,然后放在表單欄位中:“家長姓名
26、“欄位網(wǎng)頁語句標簽<td bgcolor="#CCCCFF"><font size="2"><%=RS("家長姓名")%><font></td>“留言主題“欄位網(wǎng)頁語句標簽<td bgcolor="#CCCCFF"><font size="2"><%=RS("留言主題")%></font></td>“留言內(nèi)容“欄位網(wǎng)頁語句標簽<td bgcolor=&
27、quot;#CCCCFF"><font size="2"><%=RS("留言內(nèi)容")%><font></td>老師在回復(fù)欄位中所填入的數(shù)據(jù),必須送給處理老師回復(fù)數(shù)據(jù)的ASP程序anssave.asp來記錄以及處理這些回復(fù)數(shù)據(jù)。當老師填寫好回復(fù)發(fā)言的數(shù)據(jù)后按下“送出回復(fù)按鈕后,表單中的數(shù)據(jù)內(nèi)容就會以“POST的方式由SEVER端讀取,然后將數(shù)據(jù)內(nèi)容交由處理老師回復(fù)數(shù)據(jù)的ASP程序“anssave.asp來將數(shù)據(jù)內(nèi)容寫入數(shù)據(jù)庫。第二節(jié) 網(wǎng)上圖書館網(wǎng)上圖書館將學校圖書館圖書放到網(wǎng)絡(luò)上供人借閱,這樣
28、不僅方便了校內(nèi)的學生與教職員工使用圖書館的資源,還為圖書館管理員提供了一種簡便地管理圖書館的方法。一、 功能網(wǎng)上圖書館系統(tǒng)可以進行圖書的出借和歸還.還可以在系統(tǒng)中按照多種字段對圖書進行查找,還可以瀏覽某個種類的所有圖書.該應(yīng)用程序也為圖書館管理員提供了一些功能,如添加、編輯以及刪除圖書等,或者在分類層次結(jié)構(gòu)中添加新的種類。二、 系統(tǒng)的層次結(jié)構(gòu)以下圖的每個方框代表校園圖書館網(wǎng)站中的一個頁面。除了只包含HTML的Search頁面外,其他的均為ASP頁面。因為每個圖書的頁面都不同,所以大多數(shù)的頁面實際上都是多頁面。圖書館系統(tǒng)管理、使用示意圖 見P23附圖3三、 數(shù)據(jù)庫設(shè)計本系統(tǒng)共使用3個數(shù)據(jù)表:(一
29、) LibBooks表包含與圖書有關(guān)的所有數(shù)據(jù)。該表中的字段內(nèi)容的圖書的通用信息。另外,對于已經(jīng)出借的圖書,該表中還包含借閱該圖書的用戶的ID號,以及圖書的狀態(tài)。表視圖如下:字段名 意義 字段類型 字段名 意義 字段類型bookid 書號(主鍵) 數(shù)字 (no null) status 狀態(tài) 文本title 書名 文本 checkedoutto 用戶id 數(shù)字author 著者 文本 reservedby 用戶學號 數(shù)字Subject 主題 文本 description 描述 文本Isbn Isbn號 文本 keywords 關(guān)鍵字 文本(二) LibCategories 表包含Library
30、中的所有類別,在訪問者瀏覽圖書列表時將會用到這些類別。每個類別都可以作為另外類別的父類別。有一個特殊的類別,Top-Level,沒有出現(xiàn)在類別列表中,但是可以作為其他任何類別的父類別。字段名 意義 字段類型Categoryname 類別 文本(noll)parentcategory 父類別 文本(noll)三LibEmps表包含可以訪問圖書館網(wǎng)站的用戶信息。該表包含一些通用的信息字段,比方用于進入圖書館的用戶密碼等。字段名 意義 字段類型 字段名 意義 字段類型empid 用戶id (主鍵no null) 數(shù)字 password 用戶密碼 文本Empname 用戶姓名 文本 manager 管
31、理員代號 數(shù)字emailaddress 用戶郵箱 文本 其中表LibEmps和表Lib Categories與表LibBooks之間都是一對多的關(guān)系。每個雇員都可以借閱多本圖書,每個類別都可以包含多本圖書。四、 界面設(shè)計與重點代碼的設(shè)計網(wǎng)上圖書館系統(tǒng)有兩種用戶,一是管理員。另一種是只允許使用圖書館系統(tǒng),而沒有管理功能的一般用戶。訪問者進入網(wǎng)站,首先要進行登錄,如以下圖所示。登錄頁面index.asp網(wǎng)上圖書館系統(tǒng)登陸界面簡圖 見P24附圖4訪問者輸入mail地址和密碼來登錄,然后單擊“登錄按鈕。輸入的數(shù)據(jù)提交后與數(shù)據(jù)庫中的用戶表進行匹配。須創(chuàng)立一個記錄來保存基于訪問者登錄的用戶信息set RS
32、FindEmp = conn.Execute("select EmpID, Manager from LibEmps where " _rm("EmailAddress") & "' and " _& "Password = '" & Request.Form("Password") & "'")if RSFindEmp.EOF thenTheMessage = "密碼或email地址不對."Else
33、Session("EmpID") = RSFindEmp("EmpID")Session("Manager") = RSFindEmp("Manager")Response.Redirect "./yk.htm"end if表單域EmailAddress和Password 用于Where了句中來獲取一個記錄。如果訪問者輸入了一個無效的用戶名,那么記錄集中將不會返回匹配的記錄。我們可以通過查看EOF標記來判斷一個記錄集是否為空。為空,那么訪問者將被拒絕進入該系統(tǒng)。不為空,那么訪問者的EmpID值和
34、Manager值將從記錄集中返回。寫入Session 變量,變量將在整個網(wǎng)站的所有網(wǎng)頁中都是有效的。這些變量的存在與否及其取值將用于確定是否允許進入一個特定的網(wǎng)頁,同時也用于訪問者進行書目的歸還和借閱操作。(一) 圖書館菜單頁面圖書館菜單頁面包含指向其他4個頁面的鏈接:管理頁面、搜索頁面、圖書列表頁面和主頁面。還有一個可顯示用戶所借書籍的按紐。如果訪問者是圖書館管理員,那么菜單界面如下圖。如果訪問者不是圖書館管理員,那么看到如下圖的界面。非管理員的訪問者的界面上沒有指向管理員菜單頁面的鏈接。實現(xiàn)方法:訪問者登錄時在登錄頁面上的創(chuàng)立的會話變量Session 用于從數(shù)據(jù)庫中獲取訪問者的有關(guān)信息,表
35、示它是否是管理員。如果值為1,就說明訪問者是一個管理員,那么用如下代碼寫入一個指向管理員頁面的鏈接:<% If Session("Manager") = 1 then %><A HREF="./html/management_menu.asp">管理員菜單</A><% end if %>通過按紐B1是否為空來判斷要不要顯示用戶所借圖書,利用一個記錄集來獲取訪問者已經(jīng)借出了的所有圖書的列表。if NOT isempty(Request.Form("B1") thenset RSBooks
36、= conn.Execute ("select BookID, Title from LibBooks where " _& "CheckedOutTo = " & Session("EmpID")end if 再用循環(huán)語句將所借書以表格形式顯示出來。<table border=1 width="90%" > <% if NOT isempty(Request.Form("B1") thenDo Until RSBooks.EOF%> <tr>
37、 <tde RSBooks("Title") %></td></tr><% RSBooks.MoveNext loopend if%> </table> 循環(huán)將遍歷Rsbooks記錄集中的每個記錄,直到該記錄集結(jié)束:該網(wǎng)站中的所有ASP頁面都會在訪問者訪問之前對其進行登錄檢查。這樣就可以防止訪問者通過輸入某個頁面地址然后在沒有登錄的情況下直接進入該頁面的情況發(fā)生。此外,每個管理頁面都要確認訪問者是管理員。(二) 管理菜單頁面管理菜單頁面有一個HTML表單,根據(jù)選擇的按鈕的不同,可以進行5種不同的操作:圖書的歸還、圖
38、書的編輯、圖書的刪除、圖書的添加和類別的添加。不管選擇了哪一個按鈕,該表單都提交人其自身進行處理。要進行圖書的歸還、圖書的編輯、圖書的刪除三種操作,須先進行搜索,找到該書后,由圖書Book.asp返回一個鏈接:<% If Session("Manager") = 1 then %><A HREF="./html/management_menu.asp?title=<% response.write RSBooks("Title") %>&BOOKID=<% response.write RSBooks
39、("BOOKID") %>">管理員菜單</A><% end if %> 而管理者頁面通過以下語句<%=request.querystring("title")%><inputzztype=hidden name="BOOKID1"value="<%=request.querystring("BOOKID")%>>這樣就將所找到的書的書號BookID、書名Title傳遞管理者頁面。再進行所須操作。共有3個不同的銨紐,可以進行
40、3種操作。假設(shè)單擊“修改鈕:那么重定向到編輯圖書頁面,同時把Bookid 傳遞給該頁面。Response.Redirect "./edit_book.asp?BOOKID="&request("BOOKID1")將其他的情況需要建立到數(shù)據(jù)庫的連接:eateobject ("adodb.connection")Conn.Open("FILEDSN=c:Program FilesCommon FilesODBCData Sourcesms access database.dsn")if NOT isempty(
41、Request.Form("Delete") and request("BOOKID1")<>"" thenconn.Execute "delete from LibBooks where BOOKID ="&request("BOOKID1")end ifif (NOT isempty(Request.Form("checkin") and request("BOOKID1")<>"" thenconn
42、.Execute "update LibBooks set checkedoutto= 0, status= 'Available' where BookID="&Request("BOOKID1")end if頁面中的添加新的種類局部包含一個文本控件和一個選擇控件。其中選擇控件是用所有已經(jīng)存在的類別列表進行填充的,包括特殊類別 Top level ,該類別說明當前類別是處于類別層次結(jié)構(gòu)中的最頂層。代碼如下:先用一個記錄集來填充父類別選擇控件:set RSCategories = conn.Execute("select
43、 CategoryName from LibCategories order by CategoryName")再用以下循環(huán)語句:<% Do Until RSCategories.EOF %> <OPTION VALUE="<% response.write RSCategories("CategoryName") %>"><% response.write RSCategories("CategoryName") %></OPTION> <% RSCateg
44、ories.MoveNext Loop %> 遍歷RSCategories記錄集中的每個記錄,并作為一個選項添加到列表中,而記錄集中CategoryName 同時作為顯示值和傳遞值:本頁面還包含一個指向添加圖書頁面的鏈接。(三) 搜索結(jié)果頁面搜索頁面的代碼獲取與訪問者查找規(guī)那么相匹配的圖書,然后將這些圖書顯示給訪問者。搜索頁面上的表單包含一個選擇控件和一個文本控件。選擇控件中的選項是用可搜索 的字段填充的:需要用一個記錄集來保存與訪問者的查找規(guī)那么相匹配的記錄:set RSBooks = conn.Execute("select BookID, Author, Title, S
45、ubject from LibBooks where " & Request.Form("SearchField") & " Like '%" &_Request.Form("SearchCriteria") & "%'")注意:,符號%表示的是一個廣義搜索。這一點類似于ACCESS中的符號*。然后將所找到的書以表格形式顯示出來。代碼如下:<% Do Until RSBooks.EOF %> <TR VALIGN="top&quo
46、t; ALIGN="left"> <TD WIDTH=40% height="20"><B>書名:e RSBooks("Title") %></A></TD> rite RSBooks("Author") %></td> te RSBooks("Subject") %> </td> <% RSBooks.MoveNext Loop %> (四) 圖書頁面圖書頁面的代碼顯示圖書的有關(guān)信息,以
47、及管理圖書的出借操作。該頁面通過Querystring 傳遞BookIDif isempty(Request.QueryString("BookID") thenResponse.Redirect "./search.html"end if如果其中不存在,那么訪問者將被重定向到搜索頁面:如果同時傳遞表單中包含的變量Action不為空,那么說明訪問者正借閱該圖書:if Not isempty(Request.QueryString("Action") then在這種情況下,需要將圖書狀態(tài)改為 Checkout, 同時需要將Checked
48、outto 字段修改為該訪問者:conn.Execute "update LibBooks set Status = 'Checked Out', " _& "CheckedOutTo = " & Session("EmpID") & " where BookID = " _& Request.QueryString("BookID")Response.Redirect "./library_menu.asp"end if然后將
49、該訪問者重定到圖書館菜單頁面:下一步,利用圖書的狀態(tài)來確定不同的鏈接未借出時鏈接如下:if RSBooks("status") = "Available" thenLinkText = "<A HREF=""./html/book.asp?Action=CheckOut&BookID=" _& Request.QueryString("BookID") & """>借這本書</A>"如果圖書已經(jīng)借出,就創(chuàng)立一
50、個不同的消息,并將鏈接設(shè)置為指向Library menu 頁面:LinkText = "<A HREF=""./html/library_menu.asp"">圖書已出借,返回主菜單。</A>"最后根據(jù)是否是管理員,顯示管理員菜單鏈接。<% If Session("Manager") = 1 then %><A HREF="./html/management_menu.asp?title=<% response.write RSBooks("Tit
51、le") %>&BOOKID=<% response.write RSBooks("BOOKID") %>">管理員菜單</A><% end if %> 第三節(jié) 網(wǎng)上評優(yōu)投票系統(tǒng)一、功能:能實現(xiàn)全校性的評選,快捷、公平,且有效,不允許做票。二、 組成構(gòu)造這個系統(tǒng)由3個局部組成投票頁面vote.htm ,處理投票結(jié)果的腳本,顯示投票頁面 。三、界面設(shè)計與重點代碼設(shè)計(一) 投票頁面該頁面是一個純HTML文件,它讓用戶選擇自己想選舉的候選人,并填寫自己的詳細資料,以確認投票的有效性。頁面顯示如下圖。投票
52、頁面簡圖 見P24附圖5(二) 表單處理腳本在vote.htm中各項數(shù)據(jù)都填寫完畢后,單擊確定投票按鈕,表單的數(shù)據(jù)就被提交,本次評優(yōu)共有4個候選人,但只能選兩個。故用復(fù)選框。投票的有效性通過是否是本校學生,且是否投過票來判斷。if request("passno")<>"" thensql="select * from stud where password="&"'"&request("passno")&"'" &
53、"and yitu=0"set rs=cn.execute(sql)if rs.eof then%><h2 align=center><%response.write"你無權(quán)投票"%></h2>本設(shè)計允許少選,不允許多項選擇。通過判斷Vote投票界面?zhèn)鬟f過來的復(fù)選按紐值的長度看是否多項選擇。vo=request("cand")if len(vo)>4 then%><h2 align=center><%response.write "多項選擇了,無效&qu
54、ot;%></h2>然后根據(jù)所投的票將對應(yīng)候選人的投票結(jié)果字段加1,同時將該投票人的已投字段置為1。sqq="update stud set yitu=1 where password="&"'"&request("passno")&"'"cn.execute(sqq)if instr(vo,"1") thencn.execute("update stud set result=result+1 where name='
55、李寧'")end ifif instr(vo,"2") thencn.execute("update stud set result=result+1 where name='楊蘭'")end ifif instr(vo,"3") thencn.execute("update stud set result=result+1 where name='江道明'")end ifif instr(vo,"4") thencn.execute("
56、;update stud set result=result+1 where name='段啟文'")end if%>(三) 顯示當前投票情況由于投票處理頁面已經(jīng)完成了絕大局部的工作,所以 顯示結(jié)果頁面就很簡單了,其功能是從 Stud表文件中讀取候選人所得票數(shù),顯示在頁面上。頁面顯示如圖顯示投票結(jié)果頁面簡圖 見P24附圖6值得注意的代碼主要有以下幾處:該頁面有自動刷新功能,使在線用戶可以盡快的看到最新的選舉情況。我們這里設(shè)定每隔30秒鐘自動刷新一次。<meta -equiv="refresh" content="10;URL=
57、show.asp">顯示投票時,我們采用了while循環(huán),把候選人及其得票數(shù),整齊地顯示在一個表格中,這種技術(shù)在數(shù)據(jù)庫查詢結(jié)果的顯示中也經(jīng)常用到。代碼如下:<%while not hs.eof %><tr><td width="100%"><center><font color="#8000ff"><big><%=hs("name")&" "&hs("result")&"
58、;票"%></big> </font></center></td></tr><%hs.movenext%><%wend%>第四節(jié) 達級考試在線查分系統(tǒng)與計數(shù)器的制作一、 功能:它提供了在線查看成績??忌梢栽诰W(wǎng)上使用這一系統(tǒng),通過輸入準考證編號來查詢達級考試的結(jié)果。二、 數(shù)據(jù)表的設(shè)計與評優(yōu)系統(tǒng)共用STUd表,表設(shè)計同上。 三、 界面設(shè)計與重點代碼設(shè)計該模塊需要查詢者輸入準考證號后來查看結(jié)果。假設(shè)ID1不為空時,表示有表單輸入,開始查詢數(shù)據(jù)庫。使用 SELECT的SQL指令查詢數(shù)據(jù)庫的數(shù)據(jù)。先設(shè)定
59、SQL指令,查詢ID符合準考證編號Request.Form("ID1")的數(shù)據(jù),下個“Execute指令,即可開始執(zhí)行存取、查詢數(shù)據(jù)的動作了。并將查詢結(jié)果儲存到Recordsets組件RS中。IF Request.Form("ID1")<>"" THEN Set ConneateObject("ADODB.Connection") Conn.Open("FILEDSN=c:Program FilesCommon FilesODBCData Sourcesms access database.dsn") SQL = "SELECT name,id,sc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ABS合金項目可行性研究報告
- 2025至2030年小型機械式剪板機項目投資價值分析報告
- 《1 雙色火》(教學設(shè)計)-2023-2024學年四年級下冊綜合實踐活動吉美版
- 2025至2030年中國香辣臘雞腿數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年凹凸扣自封帶彩條吹膜機組項目投資價值分析報告
- 2025至2030年低噪聲下變頻器LNB項目投資價值分析報告
- 2025至2030年CVD試聽機項目投資價值分析報告
- 2025至2030年中國抗菌被數(shù)據(jù)監(jiān)測研究報告
- 2025至2031年中國EGF營養(yǎng)霜行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國高效脫苯酚萃取劑數(shù)據(jù)監(jiān)測研究報告
- 湖南省長沙市2023-2024學年八年級下學期入學考試英語試卷(附答案)
- 青海2024年01月青海省省直機關(guān)遴選公務(wù)員69人^2024年國家公務(wù)員考試考試大綱歷年真題筆試歷年高頻考點難、易錯點薈萃附答案帶詳解
- 一年級美術(shù)課后輔導教案-1
- 智慧社區(qū)建設(shè)中的智能化醫(yī)療與康養(yǎng)服務(wù)
- 2023-2024年人教版八年級上冊數(shù)學期末模擬試卷(含答案)
- 數(shù)據(jù)采集管理制度范文
- 幼兒園小班開學家長會課件
- 中藥抗骨質(zhì)疏松作用
- 中建綜合支吊架施工方案
- 建筑施工規(guī)范大全
- 幼兒園開學家長會PPT模板(含完整內(nèi)容)
評論
0/150
提交評論