- 相關推薦
圖書頁面
目 錄
第一章:諸論………………………………………………………………..1
1.1 設計思想……………………………………………………………………………………1
1.2 開發(fā)工具的選用及介紹……………………………………………………………………….1
第二章:網站總體分析與設計 2
2.1網站系統分析………………………………………………………………………………………….2
2.2、主頁設計 3
2.3、數據庫設計 4
第三章:詳細設計 4
3.1 家長學校聯絡簿………………………………………………4
3.2 網上圖書館 11
3.3 網上評優(yōu)投票系統 20
3.4達級考試在線查分系統與計數器的制作………………………22.
第四部分:系統的使用說明與安裝 25
第五部分:參考文獻: 26
附錄:源文件代碼 27
第一章 諸論
在Internet飛速發(fā)展的今天,互聯網成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網站來實現的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網站上下載下來。因此網站建設在Internet應用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設中的重要組成部分,從而倍受人們的重視。為了更好的辦學,提高學校知名度,特構建長沙市工商職業(yè)中專學校網站。
1. 1 設計思想
通過網站,全面宣傳,展示學校風采、優(yōu)點與特色,發(fā)布學校的重大活動安排與招生政策,增強家長與學校之間的聯系,在Internet上實現完成部分校務,提高辦事效率。
1.2 開發(fā)工具的選用及介紹
ASP的優(yōu)勢:
Active Server Pages:“動態(tài)服務器網頁”,一般簡稱為“ASP”,ASP之所以能受到大家的重視與使用的原因,主要在于所產生的執(zhí)行結果都是標準的HTML格式,而且這些程序是在網絡服務端中執(zhí)行,使用一般的瀏覽器(如IE 或Netscape)都可以正確地獲得ASP的“執(zhí)行”結果,并且將這ASP執(zhí)行的結果直接在瀏覽器中“瀏覽”,不像VBScript或 JavaScript是在客戶端(Client)的瀏覽器上執(zhí)行,若使用VBScript來設計程序,客戶端(Client)在IE瀏覽器中可以顯示程序執(zhí)行的結果,可是,客戶端(Client)若使用Netscape瀏覽器就無法顯示VBScript的執(zhí)行結果。
ASP的特點:
任何開發(fā)工具皆可發(fā)展ASP
只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網頁發(fā)展工具,例如,FrontPage Express、 FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,若是使用那些所見即所得的網頁編輯來寫ASP,可能會發(fā)生一些意想不到的離奇狀態(tài)。
通吃各家瀏覽由于ASP程序是在網絡服務器端中執(zhí)行,執(zhí)行結果所產生的HTML文件適用于不同的瀏覽器。
語言相容性高
ASP與所有的ActiveX Script語言都相容,除了可結合HTML,VBScript、Java Script、Active X服務器組件來設計外,并可經由“plug-In(外掛組件模組)的方式,使用其他廠商(Third Party)所提供的語言。
隱密安全性高
如果我們在瀏覽器中直接查看網頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因杰ASP程序先于網站服務(Web Server)端執(zhí)行后,將結果轉換成標準HTML文件,再傳送到客戶端(Client)的瀏覽器上,因此,我們所辛苦撰寫的ASP程序并不會輕易地被看見進而被盜用。
易于操控數據庫
ASP可以輕易地通過ODBC(Open Database Connectivity)驅動程序連接各種不同的數據庫,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可將“文本文件”或是”Excel” 文件當成數據庫用。
面向對象學習容易
ASP具備有面向對象(Object-Oriented)功能,學習容易,ASP提供了五種方便能力強大的內建對象:Request、Response、Sever、Application以及Session,同時,若使用ASP內建的“Application”對象或”Session”對象所撰寫出來的ASP程序可以在多個網頁之間暫時保存必要的信息。
ASP的六大內部對象
對象名稱 功能描述
RequestResponseServerSessionApplicationObjectContext 從客戶端取得信息將信息送給客戶端提供一些Web服務器工具儲存在一個Session內的用戶信息,該信息僅可被該用戶訪問在一個ASP-Application中讓不同的客戶端共享信息可以用來配合Microsoft Transaction 服務器進行分布式事務處理
所以我選擇了ASP結合Frontpage架構長沙市工商職業(yè)中專學校網站
第二章 網站總體分析與設計
2.1網站系統分析
根據前面的設計思想進行分析,按照系統開發(fā)的基本觀點對網站進行分解,從內容上可對網站作如下劃分:
l 學校風采 通過學校概括、教師風采、校園之星及部分圖片等內容來展現。
l 優(yōu)點特色 通過新聞、生動活潑的教育教學欄目來展現。
l 信息發(fā)布 通過公告欄、信息查詢等欄目來實現,內容有招生政策、
活動安排等。
l 部分校務 根據校務的公開程度與參與人數的多少,特選擇圖書管
理、評優(yōu)、考試查分、家校聯系四大校務在網上實現。
2.2主頁設計
網站主頁采用靜、動相結合的方式,即靜態(tài)的主畫面和動態(tài)的圖片相結合,體現學校的勃勃生氣,靜態(tài)主頁方式介紹學校風采、優(yōu)點特色、信息發(fā)布,對于四大校務,就得利用ASP與數據庫結合的技術建立數據庫查詢管理系統,采用交互式的動態(tài)的web畫面來實現。
主頁結構圖
注:帶下劃線的表示是鏈接方式
2.3數據庫設計
采用的數據庫是Microsoft Access ,擬建立teach.mdb庫文件,包含如下幾個表文件:
allmessage 留言信息表
> Libbooks 圖書信息表
Libcategories 圖書類別信息表
Libemps 圖書館用戶信息表;
stud 學生信息表
第三章 詳細設計
3.1 家長學校聯絡簿
3.1.1功能:
利用SQL語法過濾特定的家長留言意見,讓老師可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答,同時,家長在發(fā)表個人意見時,若認為意見內容涉及敏感的話題或是意見內容涉及私人隱私,都可用“悄悄話”的方式發(fā)言,這些“悄悄話”將不會被顯示出來讓大家看到,當然,老師擁有管理的能力,只要以密碼登錄管理模式,就可以進行各個學生家長的單獨意見回復,而且還能看到家長們所留下的“悄悄話”。
3.1.2組成構造
共分成六大部分:
1, 意見留言結果網頁guest.asp:用來顯示家長發(fā)言與老師回復內容,同時還具備一般模式與管理模式兩種顯示方法。
2, 家長發(fā)言表單網頁addmsg.asp:讓學生家長填寫發(fā)言內容并選擇發(fā)言性質。
3, 家長發(fā)言數據處理ASP程序add.asp:處理家長發(fā)表的意見數據,同時將這些意見數據記錄起來并將網頁顯示轉向至意見留言結果網頁。
4, 老師回復表單網頁teachans.asp:讓老師針對某位特定學生家長所發(fā)表的意見作出獨立的回答。
5, 老師回復數據處理ASP程序anssave.asp:處理老師回復的數據內容,同時將這些意見數據起來并將網頁顯示轉向至意見留言結果網頁。
6, 數據表文件allmessage:用來儲存家長發(fā)言數據與老師回復數據的Access類型數據庫文件。
“數據表文件”負責存放家長發(fā)言數據與老師回復內容的數據記錄,為Access類型的庫文件,將它定名為:“message.mdb”。
下圖為家庭聯絡簿的組成與流程圖:
老師回復
家長留言
讀入 寫入
寫入
3.1.3數據庫結構設計
數據庫文件”teach.mdb“中的數據表” allmessage“的欄目設置,如下圖:
字段名 字段類型
3.1.4界面設計與重點、難點代碼的設計
數據庫與留言顯示程序網頁
家長發(fā)言與老師回復的內容數據全部儲存在數據庫中,要在網頁中顯示目前的家長發(fā)言與老師回復數據,必須先進行數據庫的鏈接與打開,要鏈接數據庫我們必須使用ADO對象群的Connection對象;而要打開數據庫則必須使用ADO對象群的Recordset對象,程序:
set cn=server.createobject("adodb.connection")
cn.open "filedsn=c:\program files\common files\odbc\data sources\ms access database.dsn"
set rs=server.createobject("adodb.recordset")
sql="select * from allmessage order by 留言時間 desc"
rs.open sql,cn,1,1
Recordset對象是負責瀏覽與操作從數據庫取出來的數據,Connection對象只負責與數據庫進行鏈接的動作,并不能使用數據庫內的數據,因此必須建立一個可以存取數據庫數據的Recordset對象,
使用RS.Open方法存取”teach.mdb”數據庫
RS.Open SQL,CN,1,1
使用open方法來打開數據表或執(zhí)行Select指令參數設置如下:
1, 參數一(SOURCE):為欲打開的數據表或SQL指令。
2, 參數二(ActionConnection):指定一個已打開的數據庫對象,將此參數設為鏈接我們已經建立好的Connection對象“CN”。
3, 參數三( CursorType):指定Recordset的打開類型,1為可讀寫且可自由移動。
4, 參數四(LockType):指定鎖定類型,1為只讀。
數據排序與SQL指令
1. Select 指令的篩選語句:
格式: Select…From
在SQL語言中:“Select”數據表“中選取某些“欄位”的數據.
2.如果要選取的數據表數據包含了一個以上的欄位,則我們可以利用“,”逗號來欄位名稱隔開。
3. 如果要選取的數據表數據包含了全部的欄位,則可以利用萬用字符“*”來代表全部的欄位。
可排序數據的Select指令
1. 當我們希望被選取出來的數據記錄數據能夠依據某個或某幾個欄位的內容來排序時,只要將這些排序依據的欄位擺放在“Order By“保留字之后,然后將這處排序的語句連接在”Select…From“后面就行了。
2. “Order By“默認的排序方式是“由小排到大”,但若是希望排序方式是“由大排到小”,則我們可在欄位名稱后再加上“Desc“保留字!將排序方式改為”由大排到小“。
在“顯示留言意見”網頁中的打開數據庫ASP程序中的語句:
SELECT*From allmessage order by 留言日期 Desc
功能為:從數據表“allmessage“中取出所有欄位的數據,并將取出的數據記錄內容依照”留言日期“欄位使用的”由大排到小“排序方式進行排序。
留言顯示網頁的管理模式
“顯示留言意見”的網頁就必須具備顯示模式選擇的功能,當顯示模式在一般情況時要能顯示家長們的一般性發(fā)言,同時還得將“悄悄話“的發(fā)言隱藏起來。當老師以密碼登錄成為管理模式時,則必須將一般性發(fā)言與悄悄話發(fā)言的數據全部顯示出來,同時還得讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答。
這兩個情況是通過密碼登錄管理模式的ASP程序實現的:
密碼:
在這段網頁語句中,利用Session對象來記錄目前的工作模式。當我們第一次進入“顯示留言意見”網頁的時候,我們所見的網頁畫面一定是一般!因為Session尚未被建立,因此它的“變量”值一定不會是“yes”,所以網頁中會出現一個輸入密碼進入“教師管理”模式的欄位,只有當我們輸入密碼按下“教師管理”的按鈕組織上發(fā)ASP程序中的進入管理模式語句后
,Session對象才會被建立,同時,“checkedit“Session對象變量值被設置為“yes“,所以我們就進入了能將一般性發(fā)言與悄悄話發(fā)言的數據全部顯示出來,同時還讓教師們可以針對某位特定學生家長所發(fā)表的意見作出獨立回答的管理模式頁面。
留言顯示網頁的分頁
當家長的發(fā)言與老師回復的數據筆數太多時,一次要將全部的數據內容顯示在網頁中,等待網頁下載的時間太長了,因此采用固定筆數分頁瀏覽方式來顯示網頁。
要進行分頁顯示,得先知道目前有多少筆的留言數據,而留言數據筆數可以通過Recordset對象的“Recordcount“(記錄個數)屬性得知,我們將每10筆數據為一單位分頁顯示:
count=rs.recordcount
if count/10>(count\10) then
totalpage=(count\10)+1
else totalpage=(count\10)
end if
“/”為浮點數除法,“\”為整數除法。
跳頁選擇的ASP程序語句
所有的發(fā)言數據采用固定筆數分頁瀏覽的方式來顯示后,還要提供一個跳頁鏈接顯示的功能,讓瀏覽者可以選擇希望瀏覽的頁次進得瀏覽,ASP程序語句:
pagecount=0
rs.movefirst
if request.querystring("topage")<>"" then pagecount=cint(request.querystring("topage"))
if pagecount<=0 then pagecount=1
if pagecount>totalpage then pagecount=totalpage
rs.move(pagecount-1)*10
發(fā)言表單網頁制作
inse tu3
表單的參數
表單的Action參數:Action參數是用來指定Server端處理此一表單數據內容的程序,此處表單處理ASP程序為“add.asp“,
表單的Mothed參數:要將表單傳送至Server端的方式有兩種,設置值分別為GET及POST,若設置為POST,則瀏覽器會等Server端來讀取數據,若設置為GET,則當我們按下送出按鈕時,瀏覽器會立即將表單中的數據內傳送出去。利用POST方法,在傳送的數據上將不受限制,利用GET方法傳送的數據量則大約只有2K左右。
留言處理程序
要將家長發(fā)言數據作后續(xù)處理及將這些數據內容存入數據庫,須利用添加數據記錄的Insert Into 指令,然后再寫入數據庫文件中:
Inset into 指令語句格式:
Insert into 數據表名 (欄目名) values(欄目值)
sql="insert into allmessage(家長姓名,留言主題,聯絡信箱,留言內容,私人公開,留言時間,班級) values("
sql=sql&"'"& parent&"',"
sql=sql&"'"&subject&"',"
sql=sql&"'"&email&"',"
sql=sql&"'"&memo&"',"
sql=sql&"'"&personal&"',"
sql=sql&"'"&now&"',"
sql=sql&"'"&bj&"')"
cn.execute sql
回復表單程序網頁
必須讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答,
使用Select…From…Where篩選語句
sql="select * from allmessage where(編號="&ID&")"
rs.open sql,cn,1,3
然后將特定的家長發(fā)言數據放在表單,方法是將數據庫中的數據取出來,然后放在表單欄位中:
“家長姓名“欄位網頁語句標簽
“留言主題“欄位網頁語句標簽
“留言內容“欄位網頁語句標簽
老師在回復欄位中所填入的數據,必須送給處理老師回復數據的ASP程序”anssave.asp”來記錄以及處理這些回復數據。當老師填寫好回復發(fā)言的數據后按下“送出回復”按鈕后,表單中的數據內容就會以“POST”的方式由SEVER端讀取,然后將數據內容交由處理老師回復數據的ASP程序“anssave.asp”來將數據內容寫入數據庫。
3.2網上圖書館
網上圖書館將學校圖書館圖書放到網絡上供人借閱,這樣不僅方便了校內的學生與教職員工使用圖書館的資源,還為圖書館管理員提供了一種簡便地管理圖書館的方法.
3.2.1功能
網上圖書館系統可以進行圖書的出借和歸還.還可以在系統中按照多種字段對圖書進行查找,還可以瀏覽某個種類的所有圖書.該應用程序也為圖書館管理員提供了一些功能,如添加、編輯以及刪除圖書等,或者在分類層次結構中添加新的種類。
3.2.2系統的層次結構
下圖的每個方框代表校園圖書館網站中的一個頁面。除了只包含HTML的Search頁面外,其他的均為ASP頁面。因為每個圖書的頁面都不同,所以大多數的頁面實際上都是多頁面。
3.2.3數據庫設計
本系統共使用3個數據表:
LibBooks表包含與圖書有關的所有數據。該表中的字段內容的圖書的通用信息。另外,對于已經出借的圖書,該表中還包含借閱該圖書的用戶的ID號,以及圖書的狀態(tài)。
表視圖如下:
字段名 意義 字段類型 字段名 意義 字
段類型
bookid 書號(主鍵) 數字 (no null) status 狀態(tài) 文本
title 書名 文本 checkedoutto 用戶id 數字
author 著者 文本 reservedby 用戶學號 數字
Subject 主題 文本 description 描述 文本
Isbn Isbn號 文本 keywords 關鍵字 文本
LibCategories 表包含Library中的所有類別,在訪問者瀏覽圖書列表時將會用到這些類別。每個類別都可以作為另外類別的父類別。有一個特殊的類別,Top-Level,沒有出現在類別列表中,但是可以作為其他任何類別的父類別。
字段名 意義 字段類型
Categoryname 類別 文本(noll)
parentcategory 父類別 文本(noll)
LibEmps表包含可以訪問圖書館網站的用戶信息。該表包含一些通用的信息字段,比如用于進入圖書館的用戶密碼等。
字段名 意義 字段類型 字段名 意義 字段類型
empid 用戶id (主鍵no null) 數字 password 用戶密碼 文本
Empname 用戶姓名 文本 manager 管理員代號 數字
emailaddress 用戶郵箱 文本
圖書館數據庫的數據關系如圖9-22所示。其中表LibEmps和表Lib Categories與表LibBooks之間都是一對多的關系。每個雇員都可以借閱多本圖書,每個類別都可以包含多本圖書。
3.2.3界面設計與重點代碼的設計
網上圖書館系統有兩種用戶,一是管理員。另一種是只允許使用圖書館系統,而沒有管理功能的一般用戶。訪問者進入網站,首先要進行登錄,如下圖所示。登錄頁面(index.asp)
訪問者輸入E-mail地址和密碼來登錄,然后單擊“登錄”按鈕。輸入的數據提交后與數據庫中的用戶表進行匹配。
須創(chuàng)建一個記錄來保存基于訪問者登錄的用戶信息
set RSFindEmp = conn.Execute("select EmpID, Manager from LibEmps where " _
& "EmailAddress = '" & Request.Form("EmailAddress") & "' and " _
& "Password = '" & Request.Form("Password") & "'")
if RSFindEmp.EOF then
TheMessage = "密碼或email地址不對."
else
Session("EmpID") = RSFindEmp("EmpID")
Session("Manager") = RSFindEmp("Manager")
Response.Redirect "../yk.htm"
end if
表單域EmailAddress和Password 用于Where了句中來獲取一個記錄。如果訪問者輸入了一個無效的用戶名,則記錄集中將不會返回匹配的記錄。我們可以通過查看EOF標記來判斷一個記錄集是否為空。為空,則訪問者將被拒絕進入該系統。不為空,則訪問者的EmpID值和Manager值將從記錄集中返回。寫入Session 變量, 變量將在整個網站的所有網頁中都是有效的。這些變量的存在與否及其取值將用于確定是否允許進入一個特定的網頁,同時也用于訪問者進行書目的歸還和借閱操作。
圖書館菜單頁面
圖書館菜單頁面包含指向其他4個頁面的鏈接:管理頁面、搜索頁面、圖書列表頁面和主頁面。還有一個可顯示用戶所借書籍的按紐。如果訪問者是圖書館管理員,則菜單界面如圖所示。如果訪問者不是圖書館管理員,則看到如圖所示的界面。非管理員的訪問者的界面上沒有指向管理員菜單頁面的鏈接。
實現辦法:訪問者登錄時在登錄頁面上的創(chuàng)建的會話變量Session 用于從數據庫中獲取訪問者的有關信息,表示它是否是管理員。如果值為1,就表明訪問者是一個管理員,則用如下代碼寫入一個指向管理員頁面的鏈接:
管理員菜單
通過按紐B1是否為空來判斷要不要顯示用戶所借圖書,利用一個記錄集來獲取訪問者已經借出了的所有圖書的列表。
if NOT isempty(Request.Form("B1")) then
set RSBooks = conn.Execute ("select BookID, Title from LibBooks where " _
& "CheckedOutTo = " & Session("EmpID"))
end if
再用循環(huán)語句將所借書以表格形式顯示出來。
循環(huán)將遍歷Rsbooks記錄集中的每個記錄,直到該記錄集結束:
該網站中的所有ASP頁面都會在訪問者訪問之前對其進行登錄檢查。這樣就可以避免訪問者通過輸入某個頁面地址然后在沒有登錄的情況下直接進入該頁面的情況發(fā)生。此外,每個管理頁面都要確認訪問者是管理員。
管理菜單頁面
管理菜單頁面有一個HTML表單,根據選擇的按鈕的不同,可以進行5種不同的操作:圖書的歸還、圖書的編輯、圖書的刪除、圖書的添加和類別的添加。不管選擇了哪一個按鈕,該表單都提交人其自身進行處理。
要進行圖書的歸還、圖書的編輯、圖書的刪除三種操作,須先進行搜索,找到該書后,由圖書Book.asp返回一個鏈接:
&BOOKID=">管理員菜單
而管理者頁面通過下列語句
>
這樣就將所找到的書的書號BookID、書名Title傳遞管理者頁面。再進行所須操作。共有3個不同的銨紐,可以進行3種操作。若單擊“修改”鈕:
則重定向到編輯圖書頁面,同時把Bookid 傳遞給該頁面。
Response.Redirect "./edit_book.asp?BOOKID="&request("BOOKID1")
將其他的情況需要建立到數據庫的連接:
set conn = server.createobject ("adodb.connection")
Conn.Open("FILEDSN=c:\Program Files\Common Files\ODBC\Data Sources\ms access database.dsn")
if NOT isempty(Request.Form("Delete")) and request("BOOKID1")<>"" then
conn.Execute "delete from LibBooks where BOOKID ="&request("BOOKID1")
end if
if (NOT isempty(Request.Form("checkin"))) and request("BOOKID1")<>"" then
conn.Execute "update LibBooks set checkedoutto= 0, status= 'Available' where BookID="&Request("BOOKID1")
end if
頁面中的添加新的種類部分包含一個文本控件和一個選擇控件。其中選擇控件是用所有已經存在的類別列表進行填充的,包括特殊類別 Top level ,該類別表明當前類別是處于類別層次結構中的最頂層。代碼如下:
先用一個記錄集來填充父類別選擇控件:
set RSCategories = conn.Execute("select CategoryName from LibCategories order by CategoryName")
再用下列循環(huán)語句:
">
遍歷RSCategories記錄集中的每個記錄,并作為一個選項添加到列表中,而記錄集中CategoryName 同時作為顯示值和傳遞值:
本頁面還包含一個指向添加圖書頁面的鏈接。
搜索結果頁面
搜索頁面的代碼獲取與訪問者查找規(guī)則相匹配的圖書,然后將這些圖書顯示給訪問者。
搜索頁面上的表單包含一個選擇控件和一個文本控件。選擇控件中的選項是用可搜索 的字段填充的:
需要用一個記錄集來保存與訪問者的查找規(guī)則相匹配的記錄:
set RSBooks = conn.Execute("select BookID, Author, Title, Subject from LibBooks where " _
& Request.Form("SearchField") & " Like '%" & Request.Form("SearchCriteria") & "%'")
注意:,符號%表示的是一個廣義搜索。這一點類似于ACCESS中的符號*。
然后將所找到的書以表格形式顯示出來。代碼如下:
書名: ">
著者:
主題:
圖書頁面
圖書頁面的代碼顯示圖書的有關信息,以及管理圖書的出借操作。
該頁面通過Querystring 傳遞BookID
if isempty(Request.QueryString("BookID")) then
Response.Redirect "./search.html"
end if
如果其中不存在,則訪問者將被重定向到搜索頁面:
如果同時傳遞表單中包含的變量Action不為空,則表明訪問者正借閱該圖書:
if Not isempty(Request.QueryString("Action")) then
在這種情況下,需要將圖書狀態(tài)改為 Checkout, 同時需要將Checkedoutto 字段修改為該訪問者:
conn.Execute "update LibBooks set Status = 'Checked Out', " _
& "CheckedOutTo = " & Session("EmpID") & " where BookID = " _
& Request.QueryString("BookID")
Response.Redirect "./library_menu.asp"
end if
然后將該訪問者重定到圖書館菜單頁面:
下一步,利用圖書的狀態(tài)來確定不同的鏈接
未借出時鏈接如下:
if RSBooks("status") = "Available" then
LinkText = "借這本書"
如果圖書已經借出,就創(chuàng)建一個不同的消息,并將鏈接設置為指向Library menu 頁面:
LinkText = "圖書已出借,返回主菜單。"
最后根據是否是管理員,顯示管理員菜單鏈接。
&BOOKID=">管理員菜單
3.3網上評優(yōu)投票系統
3.3.1功能:
能實現全校性的評選,快捷、公平,且有效,不允許做票。
3.3.2組成構造
這個系統由3個部分組成——投票頁面vote.htm ,處理投票結果的腳本,顯示投票頁面 。
3.3.3數據表的設計:
3.3.4界面設計與重點、難點代碼設計
投
票頁面
該頁面是一個純HTML文件,它讓用戶選擇自己想選舉的候選人,并填寫自己的詳細資料,以確認投票的有效性。頁面顯示如圖所示。
表單處理腳本
在vote.htm中各項數據都填寫完畢后,單擊確定投票按鈕,表單的數據就被提交,
本次評優(yōu)共有4個候選人,但只能選兩個。故用復選框。
投票的有效性通過是否是本校學生,且是否投過票來判斷。
if request("passno")<>"" then
sql="select * from stud where password="&"'"&request("passno")&"'" &"and yitu=0"
set rs=cn.execute(sql)
if rs.eof then%>
本設計允許少選,不允許多選。通過判斷Vote投票界面?zhèn)鬟f過來的復選按紐值的長度看是否多選。
vo=request("cand")
if len(vo)>4 then%>
然后根據所投的票將對應候選人的投票結果字段加1,同時將該投票人的已投字段置為1。
sqq="update stud set yitu=1 where password="&"'"&request("passno")&"'"
cn.execute(sqq)
if instr(vo,"1") then
cn.execute("update stud set result=result+1 where name='李寧'")
end if
if instr(vo,"2") then
cn.execute("update stud set result=result+1 where name='楊蘭'")
end if
if instr(vo,"3") then
cn.execute("update stud set result=result+1 where name='江道明'")
end if
if instr(vo,"4") then
cn.execute("update stud set result=result+1 where name='段啟文'")
end if%>
顯示當前投票情況show.asp
由于投票處理頁面已經完成了絕大部分的工作,所以 顯示結果頁面就很簡單了,其功能是從 Stud表文件中讀取候選人所得票數,顯示在頁面上。
頁面顯示如圖
值得注意的代碼主要有以下幾處:
該頁面有自動刷新功能,使在線用戶可以盡快的看到最新的選舉情況。我們這里設定每隔30秒鐘自動刷新一次。
顯示投票時,我們采用了while循環(huán),把候選人及其得票數,整齊地顯示在一個表格中,這種技術在數據庫查詢結果的顯示中也經常用到。代碼如下:
3.4達級考試在線查分系統與計數器的制作
3.4.1功能:
它提供了在線查看成績。考生可以在網上使用這一系統,通過輸入準考證編號來查詢達級考試的結果。
3.4.2數據表的設計
與評優(yōu)系統共用STUd表,表設計同上。
3.4.3界面設計與重點難點代碼的設計
該模塊需要查詢者輸入準考證號后來查看結果。若ID1不為空時,表示有表單輸入,開始查詢數據庫。使用 SELECT的SQL指令查詢數據庫的數據。先設定SQL指令,查詢ID符合準考證編號Request.Form("ID1")的數據,下個“Execute”指令,即可開始執(zhí)行存取、查詢數據的動作了。并將查詢結果儲存到Recordsets組件RS中。
IF Request.Form("ID1")<>"" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("FILEDSN=c:\Program Files\Common Files\ODBC\Data Sources\ms access database.dsn")
SQL = "SELECT name,id,score FROM stud WHERE id='" & Request.Form("ID1") & "'"
Set RS = Conn.Execute(SQL)
若考試通過,則顯示考試的結果,包括姓名、準考證編號、總分和考試結果,分別由RecordSets 組件的RS(0)、RS(1)、RS(2)、RS(3)得到。FS.Field.Count表示RecordSets組件的域的總數,由“for I=0 to RS.Fields.count-1”,取得RS(I)各域的數據。配合 表格的HTML語法,將結果填入表格的各單元格中。 若還有下一個數據,就使用RS.MoveNext 移到下一個位置。
3.4.4頁面訪問計數器的制作
利用文件處理組件FILESYSTEM的強大功能來制作,比用Application對象計數器要好,Application計數器當有20分鐘沒有人連上該網頁或關機時,計數器會被歸零。而文件計數器卻不會因時間而消失。我用Count.txt存放訪問人次。代碼如下:
whichfile=server.mappath("pic\count.txt")
set myfile=server.createobject("scripting.filesystemobject") 創(chuàng)建一個
set thisfile=myfile.opentext
file(whichfile) 組件對象
visit=thisfile.readline
thisfile.close 讀取計數器數據文件Count.txt中的計數數據
visit=visit+1 記錄自加一次
length=len(visit)
for i=1 to length
response.write "" 將記錄的數據用圖片顯示出來
next
set thisfile=myfile.createtextfile(whichfile,1) 將新計數數據寫入文件thisfile.writeline(visit)
set myfile=nothing
數字圖片我利用PHOTOSHOP中的文字特效制作了9個立方數字:
等
四.系統的使用說明與安裝
4.1運行環(huán)境要求
Windows98
Personal Web Server 3.0(PWS)
Microsoft? Access 2000 (9.0.2812)
4.2安裝設置
A. 將本網站拷貝到硬盤上的某一目錄下,如:拷貝至c:\y1下。
B. 運行PWS,將默認的Web站點主目錄設置為該目錄,如上例應為c:\y1;
具體步驟:
a. 選擇“高級”項;
b. 單擊“編輯屬性”按鈕,在出現的“編輯屬性”對話框中的“目錄”項中填入“c:\y1”,其他不變,確定;
C. 設置啟動默認文檔為:yy.asp
致謝
通過這次畢業(yè)設計,使我感到高科技、新知識的力量。這次畢業(yè)設計過程中,得到了長沙市工商職業(yè)中專學校的大力支持,給我提供了舒適的工作學習環(huán)境,也得到了科大老師、教授的精心指導,在此表示衷心的感謝!
五.參考文獻
[1]李世杰 Active Server Pages(ASP)3.0 網頁設計手冊 北京:清華大學出版社 1999
[2]前沿電腦圖像工作室 巧學巧用Dreamweaver、Fireworks、Flash制作網頁 北京:人民郵電出版社
[3]ASP入門與實例演練薄 小志編著 中國青年出版社
文章相關性:畢業(yè)論文寫作參考,免費畢業(yè)論文,大學畢業(yè)論文,畢業(yè)論文模板
[返回頂部↑] [推薦好友] [查看評論]
用戶名: (新注冊) 密碼: 匿名評論 [查看評論] 發(fā)表評論
評論內容:(不能超過500字,需審核后才會公布,請自覺遵守互聯網相關政策法規(guī)。
+相關文章+
·基于JAVA/JSP的網上書店系統 (2005-04-11)
·網絡辦公自動化系統開發(fā)分析 (2004-03-09)
·ASP制作學生檔案管理系統 (2004-04-15)
·淺析網絡安全技術(一) (2003-05-17)
·基于B/S體系結構開發(fā)應用系統 (2005-03-28)
·淺析網絡安全技術(二) (2003-10-20)
·網頁設計制作規(guī)范 (2003-11-26)
·ASP.NET的網站新聞管理系統設計與實現 (2004-04-15)
【圖書頁面】相關文章:
利用TDC組件實現對WEB頁面的交互操作08-06
圖書的日記02-09
圖書館圖書捐贈倡議書08-05
圖書室圖書自查報告04-17
語言《好看的圖書》08-15
圖書角作文08-21
整理圖書作文08-24
圖書角作文06-16
圖書借閱制度08-08