版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
.PAGE.摘要雖然目前很多大型的圖書館已經(jīng)有一整套比較完善的管理系統(tǒng),但是在一些中小型的圖書館中,大部分工作仍需由手工完成,工作起來效率比較低,管理員不能及時(shí)了解圖書館內(nèi)各類圖書的借閱情況,讀者需要的圖書難以在短時(shí)間內(nèi)找到,不便于動(dòng)態(tài)及時(shí)地調(diào)整圖書結(jié)構(gòu)為了更好地適應(yīng)當(dāng)前讀者的借閱需求,解決手工管理中存在的許多弊端,越來越多的中小型圖書館正在逐步向計(jì)算機(jī)信息化管理轉(zhuǎn)變。本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了基于web的圖書管理系統(tǒng),該系統(tǒng)采用現(xiàn)今比較流行的PHP語言,結(jié)合MYsql數(shù)據(jù)庫,實(shí)現(xiàn)了圖書信息的存儲(chǔ)查詢等功能。系統(tǒng)不僅維護(hù)方便,節(jié)省了圖書館的資源,方便圖書館進(jìn)行管理圖書,本系統(tǒng)主要為圖書管理者而設(shè)計(jì),為學(xué)校和學(xué)生提供提供科學(xué)化圖書管理數(shù)據(jù)的平臺(tái)。系統(tǒng)主要功能包括:用戶的管理,圖書的增刪,圖書的檢索等。關(guān)鍵詞:數(shù)據(jù)庫;PHP;MySQL;數(shù)據(jù)庫技術(shù);圖書管理AbstractAlthoughmanylargelibraryhasasetofperfectmanagementsystem,butinsomesmallandmedium-sizedlibraries,mostoftheworkremainstobedonebyhand,workefficiencyisrelativelylow,theadministratorcan'tunderstandallkindsofbookstoborrowlibrarybooks,readersneedtofoundinashortperiodoftime,noteasydynamicandtimelyadjustthestructureofbooksinordertobetteradapttothereadersoftheloandemand,solvethemanualmanagementexistsmanydisadvantages,moreandmoresmallandmedium-sizedlibrariesaregraduallytothecomputerinformationmanagement.It’smainfunctionsinclude:theadministrationofusers,bywhichadministratorscanadd,deleteorrevisetheinformationthroughdifferentsettings;thefunctionofborrowingbooks,bywhichadministratorscanchoosetoborrowbooksornotaccordingtotheretrieval;checkinginformation,bywhichadministratorscancheckthehistoryofborrowingandreturningbooksandrecordsofthosebookswhichareoverdue;checkingthedetailedinformationofbooks,bywhichuserscanfindthedetailsandwhetherit'savailableornotinlibrary.Thesystemfeaturesinclude:usermanagement,additionsanddeletionsofbooks,booksearchKeywords:Database;PHP;MySQL;DatabaseTechnology;LibraryManagement目錄TOC\o"1-3"\u1緒論61.1研究背景61.2研究現(xiàn)狀61.3研究意義72相關(guān)技術(shù)綜述82.1PHP技術(shù)82.2MYSQL數(shù)據(jù)庫92.3Apache 102.4WampServer 102.5數(shù)據(jù)庫簡介112.6網(wǎng)頁制作工具122.7B/S模式123需求分析163.1系統(tǒng)需求163.2需求分析163.2.1功能分析163.2.2功能描述16可行性分析174總體設(shè)計(jì)184.1系統(tǒng)流程圖184.2數(shù)據(jù)庫設(shè)計(jì)184.2.1數(shù)據(jù)庫概念設(shè)計(jì)184.2.2創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表205設(shè)計(jì)思想與實(shí)現(xiàn)315.1首頁設(shè)計(jì)31首頁概述315.1.2首頁實(shí)現(xiàn)過程335.2管理模塊設(shè)計(jì)345.2.1管理員模塊概述345.2.2管理員模塊技術(shù)分析34系統(tǒng)登錄的實(shí)現(xiàn)過程35查看管理員的實(shí)現(xiàn)過程385.2.5添加管理員的實(shí)現(xiàn)過程40設(shè)置管理員權(quán)限的實(shí)現(xiàn)過程41刪除管理員的實(shí)現(xiàn)過程425.3圖書檔案管理模塊設(shè)計(jì)435.3.1圖書檔案管理模塊概述43圖書檔案管理模塊技術(shù)分析44查看圖書信息列表的實(shí)現(xiàn)過程44添加圖書信息的實(shí)現(xiàn)過程465.3.5修改圖書信息的實(shí)現(xiàn)過程47刪除圖書信息的實(shí)現(xiàn)過程485.4.1圖書借還模塊概述495.4.2圖書借還模塊技術(shù)分析49圖書借閱的實(shí)現(xiàn)過程505.3.4圖書續(xù)借的實(shí)現(xiàn)過程54圖書歸還的實(shí)現(xiàn)過程565.4.6圖書借閱查詢的實(shí)現(xiàn)過程576.系統(tǒng)測試636.1軟件測試概念與方法636.2測試內(nèi)容646.3測試結(jié)果646.3.1登陸測試65添加會(huì)員頁面65借還書測試667.總結(jié)688.參考文獻(xiàn)691緒論1.1研究背景隨著社會(huì)的發(fā)展和經(jīng)濟(jì)的進(jìn)步,科學(xué)技術(shù)的飛速發(fā)展把人類社會(huì)推向了一個(gè)嶄新的時(shí)代——信息時(shí)代。學(xué)校是人們學(xué)習(xí)知識(shí)、獲取信息的主要場所。由于我國的教育行業(yè)飛速發(fā)展,目前各類學(xué)校的學(xué)生人數(shù)與日俱增,隨之而來的是學(xué)校所擁有的圖書越來越多,在這種情況下,對(duì)圖書的管理和查詢以及對(duì)借閱者的管理都變得非常困難,利用計(jì)算機(jī)設(shè)計(jì)的圖書館管理系統(tǒng)對(duì)其進(jìn)行輔助管理,是一種很好的方法。圖書管理系統(tǒng)的開發(fā)和應(yīng)用,可以提高學(xué)校的管理水平以及辦公效率,為學(xué)校的圖書信息的管理提供了一個(gè)良好的工具,化簡了繁瑣的工作模式,從而使得學(xué)校的管理更加規(guī)范化和科學(xué)化。良好的管理信息系統(tǒng)節(jié)省了大量的人力和物力,避免了大量重復(fù)性工作。它作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書管理的效率,也是學(xué)??茖W(xué)化、正規(guī)化管理的重要條件。1.2研究現(xiàn)狀隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,信息自動(dòng)化的作用也越來越大。這就使傳統(tǒng)的圖書管理方式受到了很大的沖擊,有關(guān)圖書的借閱工作部分還是手工管理,工作效率很低,并且不能及時(shí)了解圖書的種類和讀者們比較需求的圖書等,不能更好的適應(yīng)當(dāng)前讀者的借閱要求。手工管理還存在這許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報(bào)?,F(xiàn)今許多學(xué)校圖書館已經(jīng)逐步實(shí)現(xiàn)了利用計(jì)算機(jī)對(duì)圖書進(jìn)行信息化管理,但大部分使用的是VB、VC++等系統(tǒng),這些系統(tǒng)多數(shù)使用access數(shù)據(jù)庫,它在并發(fā)操作的控制和數(shù)據(jù)庫安全性方面遠(yuǎn)沒有MYSQL強(qiáng)大,不能夠進(jìn)行基于web的管理,即使如此,還有更多的二級(jí)學(xué)院因經(jīng)費(fèi)等各種原因還是延續(xù)傳統(tǒng)手工管理模式,工作量巨大、存放麻煩、更新困難、不易備份,已不能適應(yīng)信息化社會(huì)的要求。1.3研究意義本系統(tǒng)主要適用于二級(jí)學(xué)院的圖書管理,編寫本系統(tǒng)是為了達(dá)到圖書管理工作系統(tǒng)化、智能化、規(guī)范化、自動(dòng)化、科學(xué)化,減輕管理人員的工作強(qiáng)度,方便查詢與統(tǒng)計(jì),節(jié)約時(shí)間,從而達(dá)到提高圖書管理效率的目的。使用本系統(tǒng),圖書管理人員作為橋梁、導(dǎo)航的作用將變得更為重要,圖書管理工作變得更加便利和高效,系統(tǒng)將傳統(tǒng)的方式與現(xiàn)代的信息技術(shù)相結(jié)合,為讀者提供更加優(yōu)質(zhì)的服務(wù),只有如此,才能有效地提高學(xué)校的科研和教學(xué)水平。
本系統(tǒng)服務(wù)器端采用MYSQL數(shù)據(jù)庫系統(tǒng)和PHP組件來構(gòu)成整個(gè)圖書管理系統(tǒng)客戶端采用瀏覽器來實(shí)現(xiàn)信息管理的全過程,同時(shí)管理員通過瀏覽器也可以進(jìn)行遠(yuǎn)程系統(tǒng)的維護(hù)和管理。本系統(tǒng)選擇使用目前比較流行的apache服務(wù)器結(jié)合mysql數(shù)據(jù)庫使用php語言進(jìn)行web設(shè)計(jì)。2相關(guān)技術(shù)綜述2.1PHP技術(shù)PHP"PHPHypertextPreprocessor"超文本預(yù)處理器的字母縮寫,是一種被廣泛應(yīng)用的開放源代碼的多用途腳本語言,它可嵌入到HTML中,尤其適合web開發(fā)。它是一種服務(wù)器端的HTML腳本編程語言,是一種簡單的、面向?qū)ο蟮摹⒔忉屝偷?、健壯的、安全的、性能非常之高的、?dú)立于架構(gòu)的、可移植的、動(dòng)態(tài)的腳本語言。PHP代碼在服務(wù)器端被解釋轉(zhuǎn)變成普通的HTML頁面內(nèi)容,送給瀏覽器端,這種模式可使我們用它來完成相當(dāng)復(fù)雜的功能。它能運(yùn)行在包括Windows、Linux等在內(nèi)的絕大多數(shù)操作系統(tǒng)環(huán)境中,常與免費(fèi)的Web服務(wù)器軟件Apache和免費(fèi)數(shù)據(jù)庫軟件MySQL配合使用于Linux平臺(tái)上,具有較高的性能價(jià)格比。
強(qiáng)大的數(shù)據(jù)庫支持目前其支持范圍覆蓋了包括Oracle,Sybase,MicrosoftSQL,MySQL,Informix、SoliddBase,ODBC,Unixdb,PostgreSQL,AdabasD等在內(nèi)的大多數(shù)常見數(shù)據(jù)庫。用它編寫一個(gè)含有數(shù)據(jù)庫功能的網(wǎng)頁程序十分簡單。
PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是絕佳組合。你還可以自己編寫外圍的函數(shù)去間接存取數(shù)據(jù)庫。通過這樣的途徑當(dāng)你更換使用數(shù)據(jù)庫時(shí),可以輕松的更改編碼以適應(yīng)變化。
可擴(kuò)展性就像前面說的那樣PHP已經(jīng)進(jìn)入了一個(gè)高速發(fā)展的時(shí)期。對(duì)于一個(gè)非程序員來說為PHP擴(kuò)展附加功能可能會(huì)比較難,但是對(duì)于一個(gè)PHP程序員來說并不困難。
面向?qū)ο缶幊蘌HP提供了類和對(duì)象?;趙eb的編程工作非常需要面向?qū)ο缶幊棠芰?。PHP支持構(gòu)造器、提取類等。
可伸縮性傳統(tǒng)上網(wǎng)頁的交互作用是通過CGI來實(shí)現(xiàn)的。CGI程序的伸縮性不很理想,因?yàn)樗鼮槊恳粋€(gè)正在運(yùn)行的CGI程序開一個(gè)獨(dú)立進(jìn)程。解決方法就是將經(jīng)常用來編寫CGI程序的語言的解釋器編譯進(jìn)你的web服務(wù)器<比如mod_perl,JSP>。PHP就可以以這種方式安裝雖然很少有人愿意這樣以CGI方式安裝它。內(nèi)嵌的PHP可以具有更高的可伸縮性。2.2MYSQL數(shù)據(jù)庫MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,如規(guī)模小、功能
有限,MySQL不支持視圖已經(jīng)被列入5.1版的開發(fā)計(jì)劃、事件等等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。在數(shù)據(jù)庫的發(fā)展歷程中曾出現(xiàn)過多種不同形式的數(shù)據(jù)庫系統(tǒng),但關(guān)系型數(shù)據(jù)庫管理系統(tǒng)<RDBMS>以其優(yōu)越性而被廣為采用,象現(xiàn)在幾種廣泛使用的數(shù)據(jù)庫全為關(guān)系型數(shù)據(jù)庫。同樣,MySQL也是關(guān)系型的數(shù)據(jù)庫系統(tǒng),支持標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言<StructuredQueryLanguage>。MySQL是C/S架構(gòu)的服務(wù)器服務(wù)器端是多線程的,為客戶端提供了不同的程序接口和鏈接庫,如C、C++、Java、Perl、PHP、Tcl等,也提供了簡單的管理工具,如mysqladmin,mysql等。目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP<Linux+Apache+MySQL+PHP>即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。相比較其他系統(tǒng)而言,MySQL數(shù)據(jù)庫可以稱得上是目前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫之一,除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個(gè)人或商業(yè)用途,而不必支付任何費(fèi)用??傮w來說,MySQL數(shù)據(jù)庫具同時(shí)訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;可以保存超過50,000,000條記錄,是目前市場上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫系統(tǒng);用戶權(quán)限設(shè)置簡單、有效。2.3ApacheApache是世界使用排名第一的Web服務(wù)器軟件。Apache起初由伊利諾伊大學(xué)香檳分校的國家超級(jí)電腦應(yīng)用中心〔NCSA開發(fā)。此后,Apached被開放源代碼團(tuán)體的成員不斷的發(fā)展和加強(qiáng)。Apache網(wǎng)站服務(wù)器擁有牢靠可信的美譽(yù),已經(jīng)在全球超過半數(shù)的網(wǎng)站中被使用-特別是幾乎所有最熱門和瀏覽量最大的網(wǎng)站。比方說,維基百科網(wǎng)站服務(wù)器就是使用Apache的。剛開始發(fā)展時(shí),Apache只是Netscape網(wǎng)頁服務(wù)器〔現(xiàn)在是SunONE之外的開放源代碼選擇之一。慢慢地,它開始在功能和速度超越其他基于Unix的服務(wù)器。到了Apache2.x的時(shí)代,實(shí)際效率又比Apache1.x更快,2.x比1.x能同時(shí)服務(wù)更多的網(wǎng)頁連線數(shù)。1996年4月以來,Apache一直是Internet上最流行的服務(wù)器:1999年5月它在57%的網(wǎng)頁服務(wù)器上運(yùn)行,到了20XX7月這個(gè)比例上升到了69%。在20XX11月最風(fēng)光的時(shí)候達(dá)到接近70%的市占率,不過在部份擁有大量域名的主機(jī)域名商轉(zhuǎn)換為微軟IIS平臺(tái)后,Apache市占率近年來呈現(xiàn)些微下滑。同時(shí)搜尋引擎巨擘Google自己的網(wǎng)頁服務(wù)器平臺(tái)GWS推出后<也可說是一種修改版的Apache[3]>,再加上nginx、Ligd等輕量化網(wǎng)頁服務(wù)器軟件在市場上有一些能見度,這些因素都反應(yīng)在整體網(wǎng)頁服務(wù)器市占率的消長,Apache的市占率就隨之滑落。根據(jù)Netcraft在20XX12月的最新統(tǒng)計(jì)數(shù)據(jù),Apache的市占率已經(jīng)降為53.67%,IIS降為18.26%,谷歌網(wǎng)頁服務(wù)器13.53%,nginx8.75%。盡管如此,Apache仍舊是當(dāng)前互聯(lián)網(wǎng)市場上,市占率最高的網(wǎng)頁服務(wù)器軟件。2.4WampServerWampServer是ApacheWeb服務(wù)器、PHP解釋器以及MySQL數(shù)據(jù)庫的整合軟件包。免去了開發(fā)人員將時(shí)間花費(fèi)在繁瑣的配置環(huán)境過程,從而騰出更多精力去做開發(fā)。在windows下將Apache+PHP+Mysql集成環(huán)境,擁有簡單的圖形和菜單安裝2.5數(shù)據(jù)庫簡介數(shù)據(jù)庫〔Database是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。數(shù)據(jù)整體性數(shù)據(jù)庫是一個(gè)單位或是一個(gè)應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng),他存儲(chǔ)的是屬于企業(yè)和事業(yè)部門、團(tuán)體和個(gè)人的有關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)是從全局觀點(diǎn)出發(fā)建立的,他按一定的數(shù)據(jù)模型進(jìn)行組織、描述和存儲(chǔ)。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對(duì)某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。數(shù)據(jù)共享性數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫中的數(shù)據(jù);多個(gè)用戶可以同時(shí)共享數(shù)據(jù)庫中的數(shù)據(jù)資源,即不同的用戶可以同時(shí)存取數(shù)據(jù)庫中的同一個(gè)數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對(duì)信息內(nèi)容的要求,同時(shí)也滿足了各用戶之間信息通信的要求。2.6網(wǎng)頁制作工具本系統(tǒng)的開發(fā)主要依靠MacromediaDreamweaver8制作動(dòng)態(tài)網(wǎng)頁。
MacromediaDreamweaver8是一款專業(yè)的HTML編輯器,用于對(duì)Web站點(diǎn)、Web頁和Web應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā)。無論是喜歡直接編寫HTML代碼的駕馭感還是偏愛在可視化編輯環(huán)境中工作,Dreamweaver都能提供幫助良多的工具,豐富Web創(chuàng)作體驗(yàn)。利用Dreamweaver中的可視化編輯功能,可以快速創(chuàng)建Web頁面而無需編寫任何代碼??梢圆榭此姓军c(diǎn)元素或資源并將它們從易于使用的面板直接拖到文檔中??梢栽贛acromediaFireworks或其它圖形應(yīng)用程序中創(chuàng)建和編輯圖像然后將它們直接導(dǎo)入Dreamweaver,從而優(yōu)化開發(fā)工作流程。Dreamweaver還提供了其它工具,可以簡化向Web頁中添加Flash資源的過程。除了可幫助生成Web頁的拖放功能外,Dreamweaver還提供了功能全面的編碼環(huán)境,其中包括代碼編輯工具<例如代碼顏色、標(biāo)簽完成、"編碼"工具欄和代碼折疊>;有關(guān)層疊樣式表<CSS>、JavaScript、ColdFusion標(biāo)記語言<CFML>和其它語言的語言參考資料。Macromedia的可自由導(dǎo)入導(dǎo)出HTML技術(shù)可導(dǎo)入手工編碼的HTML文檔而不會(huì)重新設(shè)置代碼的格式,可以隨意用首選的格式設(shè)置樣式來重新設(shè)置代碼的格式。Dreamweaver還可使用服務(wù)器技術(shù)<如CFML、ASP.NET、ASP、JSP和PHP>生成動(dòng)態(tài)的、數(shù)據(jù)庫驅(qū)動(dòng)的Web應(yīng)用程序。如果使用XML數(shù)據(jù),Dreamweaver也提供了相關(guān)工具,可幫助創(chuàng)建XSLT頁、附加XML文件并在Web頁中顯示XML數(shù)據(jù)。
Dreamweaver可以完全自定義。可以創(chuàng)建自己的對(duì)象和命令修改快捷鍵甚至編寫JavaScript代碼,用新的行為、屬性檢查器和站點(diǎn)報(bào)告來擴(kuò)展Dreamweaver的功能。2.7B/S模式在因特網(wǎng)上,萬維網(wǎng)即Web以B/S<Browser/Server>形式運(yùn)行,網(wǎng)頁以文件形式存儲(chǔ)在服務(wù)器中。萬維網(wǎng)與因特網(wǎng)是有根本區(qū)別的,萬維網(wǎng)只是因特網(wǎng)提供的服務(wù)之一,是存儲(chǔ)在全世界Internet計(jì)算機(jī)中、數(shù)量巨大的文檔的集合,是一種圖形化的和易于導(dǎo)航的與平臺(tái)無關(guān)的超文本信息系統(tǒng),它具有分布式、新聞性、動(dòng)態(tài)、交互的特性。Web服務(wù)器,就是在因特網(wǎng)上晝夜不停地運(yùn)行某些特別的程序<如服務(wù)器程序等>的計(jì)算機(jī),使得世界各地的用戶可隨時(shí)對(duì)其進(jìn)行訪問或獲取其中的網(wǎng)頁。網(wǎng)站開發(fā)采用的是PHP、JavaScript、MySQL、Apache組合模式在該組合中充分考慮了各種技術(shù)原有的優(yōu)點(diǎn)。
B/S模式中PHP和JavaScript作為實(shí)現(xiàn)交互的開發(fā)工具,起到了連接紐帶的作用。
C/S和B/S是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S<Client/Server>結(jié)構(gòu),即客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件。因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。
傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級(jí)的開放性,在特定的應(yīng)用中無論是Client端還是Server端都需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。而且代價(jià)高,效率低。B/S<Browser/Server>結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端<Browser>實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端<Server>實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本<TCO>。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式<比如LAN,WAN,Internet/Intranet等>訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。<1>C/S服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。<2>B/S客戶機(jī)上只要安裝一個(gè)瀏覽器<Browser>,如NetscapeNavigator或InternetExplorer服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。用戶界面完全通過瀏覽器實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過Web服務(wù)器同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。
B/S系統(tǒng)的三層體系結(jié)構(gòu)
在B/S的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求。B/S結(jié)構(gòu)極大的簡化了客戶機(jī)的工作,客戶機(jī)上只需安裝、配置少量的客戶端軟件即可,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。
在Browser/Server三層體系結(jié)構(gòu)下,表示層<Presentation>、功能層<BusinessLogic>、數(shù)據(jù)層<DataService>被分割成三個(gè)相對(duì)獨(dú)立的單元:第一層--表示層:Web瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由Web瀏覽器向網(wǎng)絡(luò)上的某一Web服務(wù)器提出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后用協(xié)議把所需的主頁傳送給客戶端,客戶機(jī)接受傳來的主頁文件,并把它顯示在Web瀏覽器上。第二層--功能層:具有應(yīng)用程序擴(kuò)展功能的Web服務(wù)器在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫進(jìn)行連接,通過SQL等方式向數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)處理申請(qǐng),然后數(shù)據(jù)庫服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。
第三層--數(shù)據(jù)層:數(shù)據(jù)庫服務(wù)器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務(wù)器端。它的任務(wù)是接受Web服務(wù)器對(duì)數(shù)據(jù)庫操縱的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫查詢、修改、更新等功能,最終把運(yùn)行結(jié)果提交給Web服務(wù)器。
從上面的分析中可以看出,三層的B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由單獨(dú)組成的一層功能層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力大大減輕了,把負(fù)荷均衡地分配給了Web服務(wù)器,于是由原來的兩層的C/S結(jié)構(gòu)轉(zhuǎn)變成三層的B/S結(jié)構(gòu)。B/S與C/S的區(qū)別表現(xiàn)在下述八個(gè)方面〔1硬件環(huán)境不同C/S一般建立在專用的、小范圍的網(wǎng)絡(luò)環(huán)境上,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù);而B/S建立在廣域網(wǎng)之上,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如上網(wǎng),租用設(shè)備等。信息自己管理,有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行?!?對(duì)安全要求不同C/S一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)較適宜??梢酝ㄟ^B/S發(fā)布部分公開信息;而B/S建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向的是不可知用戶?!?對(duì)程序架構(gòu)不同C/S程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮;而B/S對(duì)安全以及訪問速度的多重考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。它比C/S有更高的要求,B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng)。SUN和IBM推的JavaBean構(gòu)件技術(shù)等,都使B/S更加成熟?!?軟件重用不同C/S程序不可避免的需要整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好;而B/S的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能,能夠較好的重用。〔5系統(tǒng)維護(hù)不同C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級(jí)較難,很有可能就是再做一個(gè)全新的系統(tǒng);而B/S構(gòu)件組成,方便構(gòu)件個(gè)別更換,能實(shí)現(xiàn)系統(tǒng)的無縫升級(jí),同時(shí)系統(tǒng)維護(hù)開銷減到最小,用戶只需從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)?!?處理問題不同C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求較高,并與操作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng);而B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法做到的,與操作系統(tǒng)平臺(tái)關(guān)系最小?!?用戶接口不同C/S多是建立的Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高;而B/S建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流,并且大部分難度減低,減低了開發(fā)成本?!?信息流不同C/S程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低;而B/S信息流向可變化,B-B、B-C、B-G等信息、流向的變化,更像是交易中心。針對(duì)本網(wǎng)站系統(tǒng)的開發(fā),經(jīng)過對(duì)比,B/S比較合適。3需求分析3.1系統(tǒng)需求學(xué)校圖書管理系統(tǒng)使基于任意操作系統(tǒng)上的,通過對(duì)目前存在的大量的學(xué)校或社會(huì)上圖書管理系統(tǒng)的分析和總結(jié),然后根據(jù)學(xué)校的特點(diǎn),研究一套合適于學(xué)校內(nèi)部的圖書管理系統(tǒng)。系統(tǒng)要求有優(yōu)良的可視化圖形操作界面,大力提高系統(tǒng)的可操作性和交互性,盡量減少操作員的負(fù)擔(dān),讓他們更方便、更快捷、更簡單的進(jìn)行操作。還有要求系統(tǒng)有很強(qiáng)的穩(wěn)定性、可維護(hù)性、擴(kuò)充性、可移植性。同時(shí),實(shí)現(xiàn)控制各種用戶系統(tǒng)權(quán)限,從而保證系統(tǒng)的安全性。3.2需求分析3.2.1功能分析信息技術(shù)學(xué)院圖書管理系統(tǒng)是為學(xué)院圖書管理而設(shè)計(jì)的書管理員提供提供科學(xué)化圖書管理數(shù)據(jù)的平臺(tái)。圖書管理系統(tǒng)主要實(shí)現(xiàn)以下5方面的能:圖書入庫、查詢、修改信息、圖書借還、系統(tǒng)管理。3.2.2功能描述1.書籍管理功能:包括書籍類別管理和書籍信息管理兩部分。2.讀者管理部分:這一部分包括對(duì)讀者信息進(jìn)行管理的功能。3.借閱管理部分:這一部分包括借書信息管理和還書信息管理兩部分。4.系統(tǒng)管理:包括修改系統(tǒng)用戶密碼、增加新用戶以及退出系統(tǒng)等。3.2.3可行性分析技術(shù)可行性根據(jù)系統(tǒng)功能、性能及實(shí)現(xiàn)系統(tǒng)的各項(xiàng)約束條件,現(xiàn)有的技術(shù)已較為成熟硬件、軟件的性能要求、環(huán)境條件等各項(xiàng)條件良好,估計(jì)利用現(xiàn)有技術(shù)條件應(yīng)完全可以達(dá)到該系統(tǒng)的功能目標(biāo)。同時(shí),考慮給予的開發(fā)期限也較為充裕,預(yù)計(jì)系統(tǒng)是可以在規(guī)定期限內(nèi)完成開發(fā)。經(jīng)濟(jì)可行性 本系統(tǒng)建立在PHP開發(fā)的基礎(chǔ)上,項(xiàng)目開發(fā)成本非常小。并且本系統(tǒng)實(shí)施后可以顯著提高工作效率。所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。運(yùn)行可行性本系統(tǒng)采用完全的圖形化界面,充分得考慮了用戶對(duì)系統(tǒng)的易于管理,管理者方便查詢設(shè)備信息效率,完全滿足了使用者的要求。該系統(tǒng)應(yīng)該提供簡單的操作界面,能夠快速的實(shí)現(xiàn)查書、借書、還書功能,該系統(tǒng)主要使用通用的瀏覽器因此便于系統(tǒng)的移植和使用。4總體設(shè)計(jì)4.1系統(tǒng)流程圖4.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫概念設(shè)計(jì)根據(jù)以上各節(jié)對(duì)系統(tǒng)所做的需求分析、系統(tǒng)設(shè)計(jì),規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體分別為圖書檔案實(shí)體、讀者檔案實(shí)體、借閱檔案實(shí)體、歸還檔案實(shí)體和管理員實(shí)體。1.圖書檔案實(shí)體圖書檔案實(shí)體包括編號(hào)、條形碼、書名、類型、作者、譯者、出版社價(jià)格、頁碼、書架、錄入時(shí)間和操作員等屬性。2.讀者檔案實(shí)體讀者檔案實(shí)體包括編號(hào)、姓名、性別、條形碼、職業(yè)、出生日期、有效證件、證件號(hào)碼、、電子郵件、登記日期、操作員、類型和備注等屬性。借閱檔案實(shí)體借閱檔案實(shí)體包括編號(hào)、讀者編號(hào)、圖書編號(hào)、借書時(shí)間、應(yīng)還時(shí)間、操作員和是否歸還等屬性。4.歸還檔案實(shí)體歸還檔案實(shí)體包括編號(hào)、讀者編號(hào)、圖書編號(hào)、歸還時(shí)間和操作員等屬性。數(shù)據(jù)庫具體實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表結(jié)合實(shí)際情況及對(duì)用戶需求的分析,學(xué)校圖書館管理系統(tǒng)library數(shù)據(jù)庫主要包含如下11個(gè)數(shù)據(jù)表library表tb_bookcase表tb_bookinfo表tb_booktype表tb_borrow表tb_library表tb_manager表tb_parameter表tb_publishing表tb_purview表tb_reader表tb_readertype--phpMyAdminSQLDump主機(jī):localhost--生成日期:2012年05月01日06:46--服務(wù)器版本:5.5.20SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";SETtime_zone="+00:00";數(shù)據(jù)庫:`library`表的結(jié)構(gòu)`tb_bookcase`--CREATETABLEIFNOTEXISTS`tb_bookcase`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`name`varchar<30>DEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_bookinfo`--CREATETABLEIFNOTEXISTS`tb_bookinfo`<`barcode`varchar<30>DEFAULTNULL,`bookname`varchar<70>DEFAULTNULL,`typeid`int<10>unsignedDEFAULTNULL,`author`varchar<30>DEFAULTNULL,`translator`varchar<30>DEFAULTNULL,`ISBN`varchar<20>DEFAULTNULL,`price`float<8,2>DEFAULTNULL,`page`int<10>unsignedDEFAULTNULL,`bookcase`int<10>unsignedDEFAULTNULL,`storage`int<10>unsignedDEFAULTNULL,`inTime`dateDEFAULTNULL,`operator`varchar<30>DEFAULTNULL,`del`tinyint<1>DEFAULT'0',`id`int<11>NOTNULLAUTO_INCREMENT,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_booktype`--CREATETABLEIFNOTEXISTS`tb_booktype`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`typename`varchar<30>DEFAULTNULL,`days`int<10>unsignedDEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_borrow`--CREATETABLEIFNOTEXISTS`tb_borrow`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`readerid`int<10>unsignedDEFAULTNULL,`bookid`int<10>DEFAULTNULL,`borrowTime`dateDEFAULTNULL,`backTime`dateDEFAULTNULL,`operator`varchar<30>DEFAULTNULL,`ifback`tinyint<1>DEFAULT'0',PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_library`--CREATETABLEIFNOTEXISTS`tb_library`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`libraryname`varchar<50>DEFAULTNULL,`curator`varchar<10>DEFAULTNULL,`tel`varchar<20>DEFAULTNULL,`address`varchar<100>DEFAULTNULL,`email`varchar<100>DEFAULTNULL,`url`varchar<100>DEFAULTNULL,`createDate`dateDEFAULTNULL,`introduce`text,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_manager`--CREATETABLEIFNOTEXISTS`tb_manager`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`name`varchar<30>DEFAULTNULL,`pwd`varchar<50>DEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=3;轉(zhuǎn)存表中的數(shù)據(jù)`tb_manager`--INSERTINTO`tb_manager`<`id`,`name`,`pwd`>VALUES<1,'admin','21232f297a57a5a743894a0e4a801fc3'>,<2,'bulongwind','845d07a73a3c0bbf6ff27b4b2130413a'>;表的結(jié)構(gòu)`tb_parameter`--CREATETABLEIFNOTEXISTS`tb_parameter`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`cost`int<10>unsignedDEFAULTNULL,`validity`int<10>unsignedDEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_publishing`--CREATETABLEIFNOTEXISTS`tb_publishing`<`ISBN`varchar<20>DEFAULTNULL,`pubname`varchar<30>DEFAULTNULL>ENGINE=MyISAMDEFAULTCHARSET=gb2312;表的結(jié)構(gòu)`tb_purview`--CREATETABLEIFNOTEXISTS`tb_purview`<`id`int<11>NOTNULLDEFAULT'0',`sysset`tinyint<1>DEFAULT'0',`readerset`tinyint<1>DEFAULT'0',`bookset`tinyint<1>DEFAULT'0',`borrowback`tinyint<1>DEFAULT'0',`sysquery`tinyint<1>DEFAULT'0',PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312;轉(zhuǎn)存表中的數(shù)據(jù)`tb_purview`--INSERTINTO`tb_purview`<`id`,`sysset`,`readerset`,`bookset`,`borrowback`,`sysquery`>VALUES<1,1,1,1,1,1>;表的結(jié)構(gòu)`tb_reader`--CREATETABLEIFNOTEXISTS`tb_reader`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`name`varchar<20>DEFAULTNULL,`sex`varchar<4>DEFAULTNULL,`barcode`varchar<30>DEFAULTNULL,`vocation`varchar<50>DEFAULTNULL,`birthday`dateDEFAULTNULL,`paperType`varchar<10>DEFAULTNULL,`paperNO`varchar<20>DEFAULTNULL,`tel`varchar<20>DEFAULTNULL,`email`varchar<100>DEFAULTNULL,`createDate`dateDEFAULTNULL,`operator`varchar<30>DEFAULTNULL,`remark`mediumtext,`typeid`int<11>DEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;表的結(jié)構(gòu)`tb_readertype`--CREATETABLEIFNOTEXISTS`tb_readertype`<`id`int<10>unsignedNOTNULLAUTO_INCREMENT,`name`varchar<50>DEFAULTNULL,`number`int<4>DEFAULTNULL,PRIMARYKEY<`id`>>ENGINE=MyISAMDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;5設(shè)計(jì)思想與實(shí)現(xiàn)5.1首頁設(shè)計(jì)首頁概述管理員通過"系統(tǒng)登錄"模塊的驗(yàn)證后,可以登錄到圖書館管理系統(tǒng)的首頁。系統(tǒng)首頁主要包括導(dǎo)航欄、排行榜和版權(quán)信息3部分。其中,導(dǎo)航欄中的功能菜單將根據(jù)登錄管理員的權(quán)限進(jìn)行顯示。例如,系統(tǒng)管理員admin登錄后,將擁有整個(gè)系統(tǒng)的全部功能,因?yàn)樗浅?jí)管理員。首頁技術(shù)分析學(xué)校圖書館管理系統(tǒng)是一個(gè)功能全面、大型的Web網(wǎng)站,通過對(duì)網(wǎng)站的安全性考慮,本網(wǎng)站對(duì)該系統(tǒng)進(jìn)行權(quán)限的分配,只有管理員級(jí)別的超級(jí)用戶可以對(duì)普通用戶的權(quán)限進(jìn)行管理和設(shè)置。系統(tǒng)首頁主要通過判斷管理員的權(quán)限來顯示該用戶所操作的功能模塊,關(guān)鍵代碼如下:<?phpsession_start<>;//初始化session變量include<"conn/conn.php">;//連接數(shù)據(jù)庫文件$query=mysql_query<"selectm.id,,p.id,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysqueryfromtb_managerasmleftjoin<select*fromtb_purview>asponm.id=p.idwherename='$_SESSION[admin_name]'">;$info=mysql_fetch_array<$query>;//檢索用戶權(quán)限?><!--檢索用戶所對(duì)應(yīng)的權(quán)限,如果權(quán)限值為1,則說明該功能可用,并輸出到瀏覽器,否則不顯示--><tdwidth="70%"align="right"><ahref="index.php"class="a1">首頁</a>┊<?phpif<$info[sysset]==1>{?><aonmouseover=showmenu<event,sysmenu>onmouseout=delayhidemenu<>style="CURSOR:hand"class="a1">系統(tǒng)設(shè)置</a>┊<?php}?><?phpif<$info[readerset]==1>{?><aonmouseover=showmenu<event,readermenu>onmouseout=delayhidemenu<>style="CURSOR:hand"class="a1">讀者管理</a>┊<?php}?><?phpif<$info[bookset]==1>{?><ahref="book.php"class="a1">圖書檔案管理</a>┊<?php}?><?phpif<$info[borrowback]==1>{?><aonmouseover=showmenu<event,borrowmenu>onmouseout=delayhidemenu<>style="CURSOR:hand"class="a1">圖書借還</a>┊<?php}?><?phpif<$info[sysquery]==1>{?><aonmouseover=showmenu<event,querymenu>onmouseout=delayhidemenu<>style="CURSOR:hand"class="a1">系統(tǒng)查詢</a>┊<?php}?><ahref="pwd_Modify.php"class="a1">更改口令</a>┊<ahref="safequit.php"class="a1">注銷</a></td>?首頁實(shí)現(xiàn)過程系統(tǒng)首頁的內(nèi)容顯示區(qū)用于顯示圖書的排行信息,并將排行結(jié)果按借閱數(shù)量降序排列。該頁的關(guān)鍵代碼如下:<tdheight="25"align="center"><?phpecho$i;?></td><tdstyle="padding:5px;"> <?phpecho$info[barcode];?></td><tdstyle="padding:5px;"><?phpecho$info[bookname];?></td><tdstyle="padding:5px;"><?phpecho$info[typename];?></td><tdalign="center"> <?phpecho$info[bookcasename];?></td><tdalign="center"> <?phpecho$info[pubname];?></td><tdalign="center"><?phpecho$info[author];?></td><tdalign="center"><?phpecho$info[price];?></td><tdalign="center"><?phpecho$info[degree];?></td>5.2管理模塊設(shè)計(jì)5.2.1管理員模塊概述管理員模塊主要包括管理員登錄、查看管理員列表、添加管理員信息、管理員權(quán)限設(shè)置、管理員刪除和更改口令6個(gè)功能。管理員模塊技術(shù)分析在管理員模塊中,涉及的數(shù)據(jù)表是tb_manager〔管理員信息表和tb_purview〔權(quán)限表。其中,管理員信息表中保存的是管理員名稱和密碼等信息,權(quán)限表中保存的是各管理員的權(quán)限信息,這兩個(gè)表通過各自的id字段相關(guān)聯(lián)。通過這兩個(gè)表可以獲得完整的管理員信息。從網(wǎng)站安全的角度考慮,僅有上面介紹的系統(tǒng)登錄頁面并不能有效地保存系統(tǒng)的安全,一旦系統(tǒng)首頁面的地址被他人獲得,就可以通過在地址欄中輸入系統(tǒng)的首頁面地址而直接進(jìn)入到系統(tǒng)中。為了便于網(wǎng)站的維護(hù),因此將驗(yàn)證用戶是否登錄的代碼封裝在獨(dú)立的PHP文件中,即check_login.php文件。驗(yàn)證用戶是否登錄的具體代碼如下:<?phpsession_start<>;//初始化session變量if<$_SESSION[admin_name]=="">{//如果session變量為空,則說明用戶未登錄echo"<script>alert<'對(duì)不起,請(qǐng)通過正確的途徑登錄博考圖書館管理系統(tǒng)!'>;window.location.href='login.php';</script>";}?>5.2.3系統(tǒng)登錄的實(shí)現(xiàn)過程系統(tǒng)登錄是進(jìn)入學(xué)校圖書館管理系統(tǒng)的入口,主要用于驗(yàn)證管理員的身份。運(yùn)行本系統(tǒng),首先進(jìn)入的是系統(tǒng)登錄頁面,在該頁面中,系統(tǒng)管理員可以通過輸入正確的管理員名稱和密碼登錄到系統(tǒng)首頁,當(dāng)用戶沒有輸入管理員名稱或密碼時(shí),系統(tǒng)會(huì)通過JavaScript進(jìn)行判斷,并給予信息提示。系統(tǒng)登錄頁面主要用于收集管理員的輸入信息及通過自定義的JavaScript函數(shù)驗(yàn)證輸入信息是否為空。編寫自定義的JavaScript函數(shù),用于判斷管理員名稱和密碼是否為空。代碼如下:
<scriptlanguage="javascript">functioncheck<form>{//自定義一個(gè)JavaScript函數(shù)check<>if<.value=="">{//如果管理員名稱為空,則彈出提示信息,并重新返回焦點(diǎn) alert<"請(qǐng)輸入管理員名稱!">;.focus<>;returnfalse;} if<form.pwd.value=="">{//如果管理員密碼為空,則彈出提示信息,并重新返回焦點(diǎn) alert<"請(qǐng)輸入密碼!">;form.pwd.focus<>;returnfalse;}}</script>提交表單到數(shù)據(jù)處理頁,頁面中為了防止非法用戶進(jìn)入學(xué)校圖書館管理系統(tǒng)首頁,通過調(diào)用類的chkinput<>方法實(shí)現(xiàn)判斷用戶名和密碼是否正確。如果為合法用戶,則可以登錄學(xué)校圖書館管理系統(tǒng)的首頁;否則,彈出相應(yīng)的錯(cuò)誤提示。關(guān)鍵代碼如下:<?phpsession_start<>;//初始化session變量$A_name=$_POST[name];//接收表單提交的用戶名$A_pwd=$_POST[pwd];//接收表單提交的密碼 classchkinput{//定義類var$name;var$pwd; functionchkinput<$x,$y>{//定義一個(gè)方法 $this->name=$x;//將管理員名稱傳給類對(duì)象$this->name $this->pwd=$y;//將管理員密碼傳給類對(duì)象$this->pwd}functioncheckinput<>{ include<"conn/conn.php">;//連接數(shù)據(jù)庫文件$sql=mysql_query<"select*fromtb_managerwherename='".$this->name."'andpwd='".$this->pwd."'",$conn>;$info=mysql_fetch_array<$sql>;//檢索管理員名稱和密碼是否正確if<$info==false>{//如果管理員名稱或密碼不正確,則彈出相關(guān)提示信息echo"<scriptlanguage='javascript'>alert<'您輸入的管理員名稱錯(cuò)誤,請(qǐng)重新輸入!'>;history.back<>;</script>";exit;}else{//如果管理員名稱或密碼正確,則彈出相關(guān)提示信息echo"<script>alert<'管理員登錄成功!'>;window.location='index.php';</script>";$_SESSION[admin_name]=$info[name];//將管理員名稱存到 $_SESSION[admin_name]變量中$_SESSION[pwd]=$info[pwd];//將管理員密碼存到$_SESSION[pwd]變量中}}}$obj=newchkinput<trim<$name>,trim<$pwd>>;//創(chuàng)建對(duì)象$obj->checkinput<>;//調(diào)用類?>5.2.4查看管理員的實(shí)現(xiàn)過程管理員登錄后,選擇"系統(tǒng)設(shè)置"/"管理員設(shè)置"菜單項(xiàng),進(jìn)入到查看管理員列表頁面。在該頁面中,將以表格的形式顯示全部管理員及其權(quán)限信息,并提供添加管理員信息、刪除管理員信息和設(shè)置管理員權(quán)限的超鏈接。首先使用左外聯(lián)接語句〔leftjoin…on從數(shù)據(jù)表tb_manager和tb_purview中查詢出符合條件的數(shù)據(jù),然后將查詢結(jié)果應(yīng)用do…while循環(huán)語句輸出到瀏覽器。關(guān)鍵代碼如下:<?phpinclude<"conn/conn.php">;//連接數(shù)據(jù)庫文件$sql=mysql_query<"selectm.id,,p.sysset,p.readerset,p.bookset,p.borrowback,p.sysqueryfromtb_managerasmleftjoin<select*fromtb_purview>asponm.id=p.id">;$info=mysql_fetch_array<$sql>;//檢索數(shù)據(jù)信息do{//應(yīng)用do…while循環(huán)語句輸出查詢結(jié)果?>/*輸出符合查詢條件的記錄*/<tr><tdstyle="padding:5px;"><?phpecho$info[name];?></td><tdalign="center"><inputname="checkbox"type="checkbox"class="noborder"value="checkbox"disabled="disabled"<?phpif<$info[sysset]==1>{echo<"checked">;}?>></td><tdalign="center"><inputname="checkbox"type="checkbox"class="noborder"value="checkbox"disabled="disabled"<?phpif<$info[readerset]==1>{echo<"checked">;}?>></td><tdalign="center"><inputname="checkbox"type="checkbox"class="noborder"value="checkbox"disabled<?phpif<$info[bookset]==1>{echo<"checked">;}?>></td><tdalign="center"><inputname="checkbox"type="checkbox"class="noborder"value="checkbox"disabled<?phpif<$info[borrowback]==1>{echo<"checked">;}?>></td><tdalign="center"><inputname="checkbox"type="checkbox"class="noborder"value="checkbox"disabled<?phpif<$info[sysquery]==1>{echo<"checked">;}?>></td><tdalign="center"><ahref="#"onClick="window.open<'manager_modify.php?id=<?phpecho$info[id];?>','','width=292,height=175'>">權(quán)限設(shè)置</a></td><tdalign="center"><ahref="manager_del.php?id=<?phpecho$info[id];?>">刪除</a></td></tr>/***************************************************************************************/<?php}while<$info=mysql_fetch_array<$sql>>;//do…while循環(huán)語句結(jié)束?>5.2.5添加管理員的實(shí)現(xiàn)過程在添加管理員頁面中,輸入合法的管理員名稱及密碼后,單擊"保存"按鈕,提交表單信息到數(shù)據(jù)處理頁,將添加的管理員信息保存到數(shù)據(jù)表中。如果添加成功,彈出成功的提示信息;否則,彈出錯(cuò)誤提示。代碼如下:<?phpinclude<"conn/conn.php">;//連接數(shù)據(jù)庫文件if<$_POST[submit]!="">{//如果單擊了"保存"按鈕,則執(zhí)行下面的作$name=$_POST[name];//獲取管理員名稱$pwd=$_POST[pwd];//獲取管理員密碼$sql=mysql_query<"insertintotb_manager<name,pwd>values<'$name','$pwd'>">;if<$sql==true>{//向數(shù)據(jù)表中添加管理員信息成功,則給出提示信息echo"<scriptlanguage=javascript>alert<'管理員添加成功!'>;window.close<>;window.opener.location.reload<>;</script>";}else{//向數(shù)據(jù)表中添加管理員信息失敗,則給出提示信息echo"<scriptlanguage=javascript>alert<'管理員添加失??!'>;window.close<>;window.opener.location.reload<>;</script>";}}?>5.2.6設(shè)置管理員權(quán)限的實(shí)現(xiàn)過程在查看管理員列表頁面中添加"權(quán)限設(shè)置"列,并在該列中添加以下用于打開"權(quán)限設(shè)置"頁面的超鏈接代碼。<ahref="#"onClick="window.open<'manager_modify.php?id=<?phpecho$info[id];?>','','width=292,height=175'>">權(quán)限設(shè)置</a>從上面的URL地址中可以獲取設(shè)置管理員權(quán)限頁所涉及的id號(hào),將id號(hào)提交給處理頁manager_modifyok.php,修改id號(hào)所對(duì)應(yīng)的管理員信息。具體代碼如下:<?phpinclude<"conn/conn.php">;//連接數(shù)據(jù)庫文件if<$_POST[submit]!="">{//如果提交表單,則執(zhí)行以下操作$id=$_POST[id];//獲取id信息$sysset=$_POST[sysset]==""?0:1;//應(yīng)用三目運(yùn)算符求出"系統(tǒng)設(shè)置"復(fù)選框的值$readerset=$_POST[readerset]==""?0:1;//應(yīng)用三目運(yùn)算符求出"讀者管理"復(fù)選框的值$bookset=$_POST[bookset]==""?0:1;//應(yīng)用三目運(yùn)算符求出"圖書管理"復(fù)選框的值$borrowback=$_POST[borrowback]==""?0:1;//應(yīng)用三目運(yùn)算符求出"圖書借還"復(fù)選框的值$sysquery=$_POST[sysquery]==""?0:1;//應(yīng)用三目運(yùn)算符求出"系統(tǒng)查詢"復(fù)選框的值$query=mysql_query<"select*fromtb_purviewwhereid=$id">;$info=mysql_fetch_array<$query>;//檢索權(quán)限信息表中是否存在該管理員if<$info==false>{//如果不存在,向權(quán)限表中添加管理員權(quán)限信息mysql_query<"insertintotb_purview<id,sysset,readerset,bookset,borrowback,sysquery>values<$id,$sysset,$readerset,$bookset,$borrowback,$sysquery>">;}else{//否則,更新管理員的權(quán)限信息mysql_query<"updatetb_purviewsetsysset=$sysset,readerset=$readerset,bookset=$bookset,borrowback=$borrowback,sysquery=$sysquerywhereid='$id'">;}echo"<scriptlanguage=javascript>alert<'權(quán)限設(shè)置修改成功!'>;window.close<>;window.opener.location.reload<>;</script>";//更新成功,彈出提示信息,并更新父窗口}?>5.2.7刪除管理員的實(shí)現(xiàn)過程在查看管理員列表頁面中單擊指定管理員信息后面的"刪除"超鏈接,該管理員及其權(quán)限信息將被刪除。在查看管理員列表頁面中添加以下用于刪除管理員信息的超鏈接代碼。<ahref="manager_del.php?id=<?phpecho$info[id];?>">刪除</a>從上面的URL地址中,可以獲取刪除管理員所涉及的id號(hào),將id號(hào)提交給manager_del.php處理頁刪除id號(hào)所對(duì)應(yīng)的管理員信息。具體代碼如下:<?phpinclude<"conn/conn.php">;//連接數(shù)據(jù)庫文件$id=$_GET[id];//獲取管理員的id號(hào)$sql=mysql_query<"deletefromtb_managerwhereid='$id'">;//刪除管理員表中id號(hào)所對(duì)應(yīng)的管理員信息$query=mysql_query<"deletefromtb_purviewwhereid='$id'">;//刪除權(quán)限表中id號(hào)所對(duì)應(yīng)的管理員權(quán)限if<$sql==trueand$query==true>{//如果刪除操
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【培訓(xùn)課件】超難得的資料擔(dān)保業(yè)務(wù)創(chuàng)新與風(fēng)險(xiǎn)管理培訓(xùn)
- 2025年??谪涍\(yùn)駕駛從業(yè)資格證考試題庫
- 工程造價(jià)實(shí)習(xí)報(bào)告范文
- 酒店員工述職報(bào)告范文
- 2025年蘇州貨運(yùn)資格證培訓(xùn)考試題
- 課題開題報(bào)告模板范文
- 2025年南寧貨車從業(yè)資格證考試題目答案
- 2025年南通貨運(yùn)資格證考題
- 函數(shù)解析式課件
- 2025年大同下載貨運(yùn)從業(yè)資格證模擬考試題
- 小兒手足口病課件
- 2024年計(jì)算機(jī)組成原理期末考試試題及答案共五套
- 2024-2025學(xué)年七年級(jí)生物上冊 第二單元第一、二章 單元測試卷( 人教版)
- 滬科版(2024)八年級(jí)全一冊物理第一學(xué)期期末學(xué)業(yè)質(zhì)量測試卷(含答案)
- 江蘇省政務(wù)服務(wù)辦事員(五級(jí))理論考試題庫-下(判斷題)
- 華師大版八年級(jí)數(shù)學(xué)上冊教案:12.5 因式分解 第三課時(shí) 公式法-完全平方公式
- 人教版九年級(jí)數(shù)學(xué)上冊21.1《一元二次方程》說課稿
- 幼兒園小班尋找秋天主題活動(dòng)《多彩的秋天》課件
- DL∕T 1237-2013 1000kV繼電保護(hù)及電網(wǎng)安全自動(dòng)裝置檢驗(yàn)規(guī)程
- CB-T-4468-2017滾裝船用坡道蓋技術(shù)條件
- 4、2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(99分)
評(píng)論
0/150
提交評(píng)論