基于ASP的搜索引擎的開發(fā)_第1頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE基于ASP的搜索引擎的開發(fā)摘要隨著互聯(lián)網(wǎng)和寬帶上網(wǎng)的普及,搜索引擎在中國異軍突起,并日益滲透到人們的日常生活中。在互聯(lián)網(wǎng)普及之前,人們查閱資料首先想到的是擁有大量書籍資料的圖書館,但是今天很多人都會(huì)選擇一種更方便、快捷、全面、準(zhǔn)確的查閱方式—互聯(lián)網(wǎng)。而幫助我們?cè)谡麄€(gè)互聯(lián)網(wǎng)上快速地查找到目標(biāo)信息的就是越來越被重視的搜索引擎。本文通過分析國內(nèi)外搜索引擎的發(fā)展現(xiàn)狀,提出了一種利用ASP技術(shù)實(shí)現(xiàn)一個(gè)B/S體系結(jié)構(gòu)的搜索引擎系統(tǒng)的方案,以期達(dá)到功能強(qiáng)大,操作簡單,通用性強(qiáng),可以滿足用戶對(duì)信息搜索需要的搜索引擎系統(tǒng)。文中著重論述了該系統(tǒng)的數(shù)據(jù)流程、功能實(shí)現(xiàn)與代碼設(shè)計(jì)、后臺(tái)管理等,并對(duì)相關(guān)技術(shù)作了詳細(xì)的介紹。論文在撰寫過程中,力求將理論與系統(tǒng)應(yīng)用相結(jié)合,對(duì)各種理論進(jìn)行闡述的同時(shí)配合系統(tǒng)從實(shí)際應(yīng)用和操作技巧上加以說明,希望能夠更充分地體現(xiàn)這些知識(shí)與技術(shù)在系統(tǒng)中的應(yīng)用與實(shí)現(xiàn)。關(guān)鍵詞:ASP;模糊查詢;關(guān)鍵字;搜索引擎AbstractWiththepopularizationoftheInternetandsurfingtheNetwithbroadband,searchenginelikesadarkhorseinChina,andpermeatethroughdailylifedaybyday.Beforethis,whenpeopleconsultmaterialsthefirstthoughtisthelibrarythathasalargenumberofbooks.ButnowmoreandmorepeoplewillchooseInternettosearchforinformation.It’smoreconvenient,fast,comprehensiveandaccurateforsearchinginformation.ThesearchenginethathelpsusinthewholeInternettoquicklyidentifytargetinformationisplayedmoreandmoreattentionto.Inordertoachievetheformidablefunction,simplyoperating,strongerversatilityandsatisfytheuserstotheinformationsearchneed,ThispapergivesaplanthatrealizesasystematicschemeofsearchengineofB/SsystemstructurethroughanalyzingthecurrentdevelopmentofsearchengineindomesticandinternationalsystematicwiththetechnologyofASP.Thisthesismainlydescribesthedataprocedureofthissystem,functionalrealizationandcodedesign,back-stagemanagement,etc.emphaticallyinthearticle.Ithasdonemoredetailedintroductiontorelevanttechnology.Thepapermakeseveryefforttousethetheoryandpracticeandcombinetogetherinthecourseofwriting,thecooperationsystemisexplainedfrompracticalapplicationandoperationskillwhileexplainingvariouskindsoftheories,hopetomorefullyreflecttheknowledgeandapplicationinthissystemoftechnologyandrealize.Keywords:ASP;fuzzyquery;keyword;searchengine目錄1引言 11.1課題背景 11.2搜索引擎的發(fā)展方向 12系統(tǒng)開發(fā)技術(shù)分析 22.1系統(tǒng)開發(fā)環(huán)境 22.2IIS簡介 22.3SQLSERVER2000簡介 22.4ASP簡介 23概要設(shè)計(jì) 33.1需求分析 33.2數(shù)據(jù)庫設(shè)計(jì) 33.2.1分類目錄數(shù)據(jù)庫表 33.2.2網(wǎng)站登錄信息數(shù)據(jù)庫 43.2.3管理員數(shù)據(jù)庫表 43.2.4關(guān)鍵字記錄數(shù)據(jù)庫表 53.3系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖 54系統(tǒng)前臺(tái)模塊設(shè)計(jì) 54.1網(wǎng)站搜索模塊的實(shí)現(xiàn) 54.1.1功能描述 54.1.2流程圖 64.1.3界面設(shè)計(jì) 64.1.4工作流程和代碼設(shè)計(jì) 64.2分類目錄模塊的實(shí)現(xiàn) 74.2.1功能描述 74.2.2工作流程和代碼設(shè)計(jì) 84.3網(wǎng)站登錄模塊的實(shí)現(xiàn) 94.3.1功能描述 94.3.2數(shù)據(jù)流程圖 94.3.3工作流程 104.4網(wǎng)站修改模塊 114.4.1功能描述 114.4.2工作流程圖 114.4.3界面設(shè)計(jì) 124.4.4工作流程和代碼設(shè)計(jì) 135系統(tǒng)后臺(tái)模塊設(shè)計(jì) 135.1網(wǎng)站管理模塊的實(shí)現(xiàn) 135.1.1功能描述 135.1.2工作流程和代碼設(shè)計(jì) 145.2網(wǎng)站審核 155.3分類管理模塊 155.3.1分類編輯 155.3.2分類添加 165.3.3分類刪除 186系統(tǒng)性能測(cè)試 186.1系統(tǒng)測(cè)試環(huán)境 186.2測(cè)試結(jié)果 18結(jié)論 19參考文獻(xiàn) 19致謝 201引言1.1課題背景隨著因特網(wǎng)的迅猛發(fā)展、WEB信息的增加,用戶要在信息海洋里查找信息,就像大海撈針一樣,搜索引擎技術(shù)恰好解決了這一難題。目前,搜索引擎系統(tǒng)可以分類三大類,分別是:目錄式搜索引擎:以人工方式或半自動(dòng)方式搜集信息,由編輯員查看信息之后,人工形成信息摘要,并將信息置于事先確定的分類框架中;機(jī)器人搜索引擎:由一個(gè)稱為蜘蛛的機(jī)器人程序以某種策略自動(dòng)地在互聯(lián)網(wǎng)中搜集和發(fā)現(xiàn)信息,由索引器為搜集到的信息建立索引,由檢索器根據(jù)用戶的查詢輸入檢索索引庫,并將查詢結(jié)果返回給用戶;元搜索引擎:這類搜索引擎沒有自己的數(shù)據(jù),而是將用戶的查詢請(qǐng)求同時(shí)向多個(gè)搜索引擎遞交,將返回的結(jié)果進(jìn)行重復(fù)排除、重新排序等處理后,作為自己的結(jié)果返回給用戶。1.2搜索引擎的發(fā)展方向搜索引擎已成為一個(gè)新的研究、開發(fā)領(lǐng)域。因?yàn)樗玫叫畔z索、人工智能、計(jì)算機(jī)網(wǎng)絡(luò)、分布式處理、數(shù)據(jù)庫、數(shù)據(jù)挖掘、數(shù)字圖書館、自然語言處理等多領(lǐng)域的理論和技術(shù),所以具有綜合性和挑戰(zhàn)性。又由于搜索引擎有大量的用戶,有很好的經(jīng)濟(jì)價(jià)值,所以引起了世界各國計(jì)算機(jī)科學(xué)界和信息產(chǎn)業(yè)界的高度關(guān)注,目前的研究、開發(fā)十分活躍,并出現(xiàn)了很多值得注意的方向:1.十分注意提高信息查詢結(jié)果的精度,提高檢索的有效性。用戶在搜索引擎上進(jìn)行信息查詢時(shí),并不十分關(guān)注返回結(jié)果的多少,而是看結(jié)果是否和自己的需求吻合。2.基于智能代理的信息過濾和個(gè)性化服務(wù)。信息智能代理是另外一種利用互聯(lián)網(wǎng)信息的機(jī)制。它使用自動(dòng)獲得的領(lǐng)域模型(如Web知識(shí)、信息處理、與用戶興趣相關(guān)的信息資源、領(lǐng)域組織結(jié)構(gòu))、用戶模型(如用戶背景、興趣、行為、風(fēng)格)知識(shí)進(jìn)行信息搜集、索引、過濾(包括興趣過濾和不良信息過濾),并自動(dòng)地將用戶感興趣的、對(duì)用戶有用的信息提交給用戶。3.采用分布式體系結(jié)構(gòu)提高系統(tǒng)規(guī)模和性能。搜索引擎的實(shí)現(xiàn)可以采用集中式體系結(jié)構(gòu)和分布式體系結(jié)構(gòu),兩種方法各有千秋。但當(dāng)系統(tǒng)規(guī)模到達(dá)一定程度(如網(wǎng)頁數(shù)達(dá)到億級(jí))時(shí),必然要采用某種分布式方法,以提高系統(tǒng)性能。4.重視交叉語言檢索的研究和開發(fā)。交叉語言信息檢索是指用戶用母語提交查詢,搜索引擎在多種語言的數(shù)據(jù)庫中進(jìn)行信息檢索,返回能夠回答用戶問題的所有語言的文檔。如果再加上機(jī)器翻譯,返回結(jié)果可以用母語顯示。該技術(shù)目前還處于初步研究階段,主要的困難在于語言之間在表達(dá)方式和語義對(duì)應(yīng)上的不確定性。2系統(tǒng)開發(fā)技術(shù)分析通過基于Internet互聯(lián)網(wǎng)的動(dòng)態(tài)WEB數(shù)據(jù)庫技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳輸與讀取,遠(yuǎn)程的客戶終端可以通過WEB頁面提交請(qǐng)求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器上的信息,同時(shí)還可以向遠(yuǎn)端數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中存儲(chǔ)信息以實(shí)現(xiàn)信息的共享,同時(shí)利用Internet技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器端安裝WEB應(yīng)用就可以使每個(gè)客戶端都能瀏覽使用。2.1系統(tǒng)開發(fā)環(huán)境本搜索引擎系統(tǒng)是一個(gè)B/S結(jié)構(gòu)的系統(tǒng),它的發(fā)布需要有WEB服務(wù)器的支持,且需要數(shù)據(jù)庫系統(tǒng)來方便的對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行存儲(chǔ),查詢,修改,刪除,及時(shí)更新系統(tǒng)信息,同時(shí)需要一種簡單,方便的編程工具可以與數(shù)據(jù)庫進(jìn)行交互。鑒于上述需求我選擇IIS5.0+SQLServer2000+ASP作為我的開發(fā)環(huán)境。2.2IIS簡介系統(tǒng)設(shè)計(jì)IIS是Internet信息服務(wù)(InternetInformationServer)的縮寫,它是一種Web服務(wù),主要包括WWW服務(wù)器、FTP服務(wù)器等,使得在Intranet(局域網(wǎng))或Internet(因特網(wǎng))上發(fā)布信息成了一件很容易的事。WWW服務(wù)提供維護(hù)網(wǎng)站和網(wǎng)頁,并回復(fù)基于瀏覽器的請(qǐng)求。有了WWW服務(wù)和它內(nèi)置的功能,通過Internet信息服務(wù)器可以創(chuàng)建各種各樣的Internet應(yīng)用程序,加上其內(nèi)置的對(duì)數(shù)據(jù)庫連接的支持,IIS的功能就更強(qiáng)大。SQL數(shù)據(jù)庫信息或其他任何符合ODBC的數(shù)據(jù)庫信息都能在Internet/Intranet上靈活應(yīng)用。2.3SQLSERVER2000簡介SQLServer2000具有構(gòu)成最大的Web站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。它支持EnglishQuery和Microsoft搜索服務(wù)等功能,在Web應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。同一個(gè)數(shù)據(jù)庫引擎可以在不同的平臺(tái)上使用,SQLServer2000企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大Web站點(diǎn)所需的性能級(jí)別。SQLServer2000關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。SQLServer2000中包括一系列管理和開發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用SQLServer的過程。2.4ASP簡介ASP全稱為ActiveServerPages,即動(dòng)態(tài)服務(wù)器頁面,它是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境,ASP內(nèi)含于IIS3.0以上版本中,通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令建立動(dòng)態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。ASP腳本在服務(wù)器端解釋執(zhí)行,結(jié)果自動(dòng)生成符合HTML語言的主頁去響應(yīng)用戶的請(qǐng)求。ASP已成為目前應(yīng)用最廣泛的動(dòng)態(tài)網(wǎng)頁開發(fā)工具,同時(shí)應(yīng)用ASP進(jìn)行網(wǎng)絡(luò)化的信息管理系統(tǒng)也逐步得到推廣。ASP本身并不是一種腳本語言,它只是提供了一種使鑲嵌在HTML頁面中的腳本程序得以運(yùn)行的環(huán)境。ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于Web服務(wù)器上的,可以用任何文本編輯器打開它。ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。用戶只需將.asp程序放在Web服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序了。3概要設(shè)計(jì)3.1需求分析隨著互聯(lián)網(wǎng)信息的增長,人們對(duì)信息資料的查閱已不滿足現(xiàn)有的書籍資料,網(wǎng)上搜索信息資料扮演著越來越重要的角色。本系統(tǒng)模塊設(shè)計(jì)目標(biāo)是采用后臺(tái)數(shù)據(jù)信息錄入,前臺(tái)動(dòng)態(tài)頁面查找的方式來實(shí)現(xiàn)對(duì)信息的搜索。本系統(tǒng)充分考慮了系統(tǒng)的可擴(kuò)展性和搜索引擎特有的查詢流程,利用ASP基本知識(shí)以及MicrosoftSQLServer2000的基本操作,使它具有良好的穩(wěn)定性并且便于維護(hù)。3.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)幾乎所有的WEB項(xiàng)目都要基于數(shù)據(jù)庫,這使得數(shù)據(jù)庫的設(shè)計(jì)在整個(gè)項(xiàng)目中舉足輕重。本搜索系統(tǒng)中大部分前臺(tái)的顯示信息都是從數(shù)據(jù)庫中讀取所需信息,而系統(tǒng)管理員則只需在后臺(tái)通過修改數(shù)據(jù)庫中的數(shù)據(jù)即可達(dá)到改變前臺(tái)顯示內(nèi)容的目的,所以數(shù)據(jù)庫在本系統(tǒng)中作為中間介質(zhì)連接前臺(tái)和后臺(tái),其重要性不言而喻。本設(shè)計(jì)根據(jù)系統(tǒng)需求分析,選用SQLServer2000作為該系統(tǒng)的數(shù)據(jù)庫。數(shù)據(jù)庫取名為database,其中包含了系統(tǒng)中所有的數(shù)據(jù)。下面對(duì)一些關(guān)鍵表作詳細(xì)說明。3.2.1分類目錄數(shù)據(jù)庫表分類目錄數(shù)據(jù)庫表在數(shù)據(jù)庫中標(biāo)記的是Sort數(shù)據(jù)表,它記錄的是子類信息,包括子類名稱、父類ID和是否在首頁顯示。Sort表的具體結(jié)構(gòu)如表1所示:表1sort表字段名稱數(shù)據(jù)類型說明主關(guān)鍵字IDint編號(hào)*Sortvarchar子類名稱Sort-IDint父類IDShowint是否在首頁顯示3.2.2網(wǎng)站登錄信息數(shù)據(jù)庫網(wǎng)站登錄數(shù)據(jù)信息數(shù)據(jù)庫在數(shù)據(jù)庫中標(biāo)記的是Web數(shù)據(jù)表,它記錄的是網(wǎng)站名稱、網(wǎng)站內(nèi)容簡介、網(wǎng)站地址、是否審核、網(wǎng)站關(guān)鍵字、聯(lián)系人姓名、聯(lián)系人E-mail、聯(lián)系人qq號(hào)碼、聯(lián)系人地址、聯(lián)系人郵政編碼、網(wǎng)站登錄時(shí)間、網(wǎng)站訪問次數(shù)、所屬子類名稱、子類路徑和所屬子類ID。Web表的具體結(jié)構(gòu)如表2所示:表2web表字段名稱數(shù)據(jù)類型說明主關(guān)鍵字IDint編號(hào)*Titlevarchar網(wǎng)站名稱Contentvarchar網(wǎng)站內(nèi)容簡介URLvarchar網(wǎng)站地址Verifychar管理員是否已經(jīng)確認(rèn)Keywordvarchar網(wǎng)站關(guān)鍵字Namevarchar聯(lián)系人姓名Emailvarchar聯(lián)系人E-mailQQvarchar聯(lián)系人qqAddressvarchar聯(lián)系人地址PostCodevarchar聯(lián)系人郵政編碼Timedatetime網(wǎng)站登錄時(shí)間Clickint網(wǎng)站訪問次數(shù)Sortvarchar子類名稱Sort_pathvarchar子類路徑Sort_IDint子類ID3.2.3管理員數(shù)據(jù)庫表管理員數(shù)據(jù)表即:數(shù)據(jù)表Admin,記錄的是管理員的登錄名和密碼。具體結(jié)構(gòu)如表3所示:表3Admin表字段名稱數(shù)據(jù)類型說明主關(guān)鍵字IDint編號(hào)*UserNamevarchar管理員登錄名Passwordvarchar管理員密碼3.2.4關(guān)鍵字記錄數(shù)據(jù)庫表關(guān)鍵字記錄表即Keyword數(shù)據(jù)表,記錄關(guān)鍵字信息,包括關(guān)鍵字和輸入次數(shù),具體結(jié)構(gòu)如表4所示:表4Keyword表字段名稱數(shù)據(jù)類型說明主關(guān)鍵字IDint編號(hào)*keywordvarchar關(guān)鍵字hotint輸入次數(shù)3.3系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖系統(tǒng)設(shè)計(jì)結(jié)構(gòu)如圖1所示:圖1系統(tǒng)功能結(jié)構(gòu)圖4系統(tǒng)前臺(tái)模塊設(shè)計(jì)4.1網(wǎng)站搜索模塊的實(shí)現(xiàn)4.1.1功能描述用戶訪問系統(tǒng)時(shí),首先接觸到的是首頁面index.asp,它提供了到達(dá)5個(gè)功能模塊的超鏈接,默認(rèn)顯示為網(wǎng)站搜索模塊。另外頁面還提供一個(gè)表單from,讓用戶輸入要搜索的關(guān)鍵字,當(dāng)用戶輸入關(guān)鍵字單擊搜索按鈕后,表單中的數(shù)據(jù)將被提交到search.asp文件中處理。在search.asp首先讀取傳遞過來的數(shù)據(jù),然后判斷該數(shù)據(jù)是否為空。如果不為空。則將數(shù)據(jù)分割為多個(gè)關(guān)鍵字,然后在數(shù)據(jù)庫中查找匹配的記錄,并在頁面上顯示。4.1.2流程圖在網(wǎng)站搜索模塊中,數(shù)據(jù)流程如圖2所示:數(shù)據(jù)是否為空搜索并顯示結(jié)果數(shù)據(jù)是否為空搜索并顯示結(jié)果不為空為空關(guān)鍵字圖2網(wǎng)站搜索數(shù)據(jù)流程圖4.1.3界面設(shè)計(jì)搜索模塊的界面設(shè)計(jì)如圖3所示:圖3搜索模塊界面4.1.4工作流程和代碼設(shè)計(jì)輸入關(guān)鍵字后,數(shù)據(jù)被提交到search.asp中,首先使用Request對(duì)象的QueryString()方法讀取表單傳遞過來的關(guān)鍵字,再判斷關(guān)鍵字是否為空,若不為空,將多個(gè)關(guān)鍵字進(jìn)行處理后分開保存在一維數(shù)組中:keyword=replace(keyword,"'","") '用空格替換關(guān)鍵詞中的字符"'"keyword=replace(keyword,"[","") '用空格替換關(guān)鍵詞中的字符"["keyword=replace(keyword,"]","") '用空格替換關(guān)鍵詞中的字符"]" keyword=replace(keyword,",","")'用空格替換關(guān)鍵詞中的中文字符","keyword=replace(keyword,",","") '用空格替換關(guān)鍵詞中的英文字符","keyword=ltrim(rtrim(keyword)) '去掉關(guān)鍵詞左邊和右邊的空格。函數(shù)LTrim去掉字符串左邊空格,函數(shù)RTrim去掉字符串右邊空格keywordlist=split(keyword) '將用戶輸入的關(guān)鍵詞用空格分成多個(gè)關(guān)鍵詞并保存在一維數(shù)組keywordlist中然后在循環(huán)寫出查詢的spl語句:ifpath=""orsort_path="/0/"then search_sql="verify=0and("&sql&")orderbyclickdesc"elsesearch_sql="sort_pathlike'%"&sort_path&"%'andverify=0and("&sql&")orderbyclickdesc" endif rs.open"selectid,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,clickfromwebwhere"&search_sql,conn,1,1執(zhí)行查詢。使用html代碼顯示查詢頁面的網(wǎng)站搜索部分,然后判斷是否存在滿足條件的記錄,如果存在,則使用showcontent()過程顯示滿足條件的所有記錄,并將記錄中的關(guān)鍵字用紅色字體顯示。然后使用showpage()過程顯示記錄的頁數(shù)信息,包括當(dāng)前頁、總頁數(shù)等。最后顯示查詢頁面的底部的管理入口,并建立到管理員登錄的超連接。4.2分類目錄模塊的實(shí)現(xiàn)4.2.1功能描述分類目錄界面由dir.asp實(shí)現(xiàn),在該頁面顯示的分類信息包括sort_id=0的分類和sort_id=1的分類,即最上級(jí)分類和要求顯示在首頁上的下級(jí)分類。例如,如果把“計(jì)算機(jī)”作為最上級(jí)分類。“計(jì)算機(jī)”又分為以下3類:軟件、硬件和網(wǎng)絡(luò)。設(shè)置這3個(gè)分類也顯示在首頁上,即show=1。這3個(gè)分類的下一級(jí)分類不在首頁上顯示。當(dāng)單擊分類目錄首頁上的某分類時(shí),將進(jìn)入list.asp文件,在該文件中,將詳細(xì)顯示這一分類及其下級(jí)分類,并顯示屬于這一分類的所有網(wǎng)站信息。4.2.2工作流程和代碼設(shè)計(jì)單擊分類目錄首頁上的某一分類,進(jìn)入list.asp文件,在該文件中,首先使用Request對(duì)象的QueryString()方法讀取sort_id的值并在數(shù)據(jù)庫中查找這一分類的所有上級(jí)分類,并連接在一起,其逐級(jí)顯示分類的代碼如下:locality=">>"&sort '要在網(wǎng)頁上顯示的逐級(jí)分類,如計(jì)算機(jī)>>軟件>>編程語言ifsort_id<>0then 'sort_id<>0表示該類存在上級(jí)分類 fori=1to8 '8表示在本系統(tǒng)中分類只有8級(jí) setrs=conn.execute("select*fromsortwhereid="&sort_id) ifrs.eofandrs.bofthen else sort=rs("sort") locality=">><ahref=list.asp?sort_id="&sort_id&">"&sort&"</a>"&locality sort_id=rs("sort_id") '上一層分類的id endif rs.close setrs=nothing nextendif若該分類還存在下級(jí)分類,將顯示下級(jí)分類,最后顯示屬于這一分類的所有網(wǎng)站信息,在顯示網(wǎng)站信息的代碼中,用到了兩個(gè)過程:showcontent()過程和showpage()過程。Showcontent()過程顯示所有滿足條件的記錄。Showpage()過程顯示頁數(shù)信息,包括當(dāng)前頁、總頁數(shù)等,其中過程showpage()的處理代碼如下:Functionshowpage(totalnumber,maxperpage,filename) '定義過程 Dimn IftotalnumberModmaxperpage=0Then 'totalnumber能夠整除maxperpage n=totalnumber\maxperpage Else 'totalnumber不能夠整除maxperpage n=totalnumber\maxperpage+1 EndIf IfCurrentPage<2Then '當(dāng)前頁是第一頁 %>第一頁上一頁<%Else '當(dāng)前頁不是第一頁 %><ahref="<%=filename%>?sort_id=<%=rqid%>&page=1">第一頁</a><ahref="<%=filename%>?sort_id=<%=rqid%>&page=<%=Current1%>">上一頁</a><%EndIf Ifn-currentpage<1Then '總頁數(shù)小于或等于當(dāng)前頁 %>下一頁最后一頁<% Else '總頁數(shù)大于當(dāng)前頁 ……EndIf%>共<%=totalnumber%>個(gè)網(wǎng)站頁次:<%=CurrentPage%>/<%=n%>頁4.3網(wǎng)站登錄模塊的實(shí)現(xiàn)4.3.1功能描述網(wǎng)站登錄頁面為jion.asp,在網(wǎng)站登錄模塊,包含一個(gè)表單,用于網(wǎng)站聯(lián)系人輸入網(wǎng)站和個(gè)人信息,在表單中,包含輸入網(wǎng)站信息的文本域。其中。顯示分類目錄的文本域?yàn)閟ort_id,它為只讀類型,只能單擊文本域右邊的“選擇分類”按鈕來輸入,當(dāng)網(wǎng)站聯(lián)系人輸入所有的信息,并單擊“確定”按鈕,然后判斷用戶輸入的分類目錄是否存在,如果存在,則生成輸入網(wǎng)站的最終分類目錄。接著再判斷用戶輸入的網(wǎng)站網(wǎng)址是否已經(jīng)保存在數(shù)據(jù)庫中,如果沒有保存在數(shù)據(jù)庫中,則在數(shù)據(jù)庫中插入一條新的記錄。如果數(shù)據(jù)庫中已經(jīng)存在該網(wǎng)址,則給出提示,并返回到前一頁,當(dāng)所有的數(shù)據(jù)保存在數(shù)據(jù)庫中之后,頁面上顯示網(wǎng)站登錄成功的提示。4.3.2數(shù)據(jù)流程圖網(wǎng)站登錄的數(shù)據(jù)流程圖如圖4:填寫基本信息填寫基本信息查找數(shù)據(jù)庫對(duì)應(yīng)的記錄成功已經(jīng)登陸密碼正確登陸界面提示沒有此用戶提示用戶登陸成功提示密碼錯(cuò)誤YYYNNN圖4網(wǎng)站登錄數(shù)據(jù)流程圖4.3.3工作流程當(dāng)網(wǎng)站聯(lián)系人輸入所有的信息提交后,表單中的數(shù)據(jù)首先在check()過程中檢查其合法性。如果合法,數(shù)據(jù)將被提交到j(luò)oin_ok.asp文件中處理,在該文件中將使用Request對(duì)象的From()方法獲取網(wǎng)站登錄數(shù)據(jù),然后判斷用戶輸入的分類目錄是否存在,如果存在,則生成輸入網(wǎng)站的最終分類目錄,接著再判斷用戶輸入的網(wǎng)站網(wǎng)址是否已經(jīng)保存在數(shù)據(jù)庫中,如果沒有保存在數(shù)據(jù)庫中,則在數(shù)據(jù)庫中插入一條新的記錄:rs.addnew '插入新記錄 rs("sort")=path '子類名稱 rs("sort_path")=path_id '子類id路徑 rs("sort_id")=sort_id '父類id rs("title")=request.form("title") '網(wǎng)站名稱 rs("url")=request.form("url") '網(wǎng)站網(wǎng)址 rs("keyword")=request.form("keyword") '關(guān)鍵字 rs("content")=request.form("content") '網(wǎng)站描述 rs("name")=request.form("name") '聯(lián)系人姓名 rs("email")=request.form("email") '聯(lián)系人email ifoicq=""then 'qq為空 rs("oicq")=null else rs("oicq")=oicq 'qq endif rs("address")=request.form("address") '聯(lián)系人地址 rs("postcode")=request.form("postcode") '郵政編碼 rs("verify")="-1" '-1表示為審查 rs("click")="0" '點(diǎn)擊次數(shù) rs("time")=date() '登錄時(shí)間 rs.update '更數(shù)數(shù)據(jù)庫 rs.close '關(guān)閉RecordSet對(duì)象endifsetrs=nothing如果數(shù)據(jù)庫中已經(jīng)存在該網(wǎng)址,則給出提示,并返回到前一頁。當(dāng)所有的數(shù)據(jù)保存到數(shù)據(jù)庫中后,頁面上將顯示登錄成功的提示。4.4網(wǎng)站修改模塊4.4.1功能描述網(wǎng)站修改頁面為admin.asp。在網(wǎng)站修改頁面上,包含兩個(gè)表單。一張表單用來輸入網(wǎng)站搜索的關(guān)鍵字,實(shí)現(xiàn)的功能與網(wǎng)站搜索模塊一樣。另一張表單是網(wǎng)站聯(lián)系人登錄時(shí)輸入姓名和電子郵箱,在該表單中,輸入聯(lián)系人的姓名的文本域?yàn)閚ame,輸入聯(lián)系人電子郵箱的文本域?yàn)閑mail。當(dāng)網(wǎng)站聯(lián)系人輸入姓名和電子郵箱,單擊“登錄”按鈕后,表單的數(shù)據(jù)將被提交到login.asp文件中處理,當(dāng)網(wǎng)站聯(lián)系人輸入修改的信息。并單擊“確定”按鈕后,所有的數(shù)據(jù)提交到j(luò)oin_edit_ok.asp文件中,該文件將所有的數(shù)據(jù)保存在數(shù)據(jù)庫中。并在頁面上顯示網(wǎng)站修改成功的信息。4.4.2工作流程圖網(wǎng)站修改的工作流程如圖5所示:用戶登陸用戶登陸網(wǎng)站管理頁面網(wǎng)站管理網(wǎng)站審核分類管理退出系統(tǒng)修改已審核網(wǎng)站刪除已審核網(wǎng)站添加分類刪除分類修改分類圖5網(wǎng)站修改工作流程圖4.4.3界面設(shè)計(jì)在首頁頁面或者分類目錄頁面或登錄頁面上單擊“網(wǎng)站修改”超連接,首先進(jìn)入網(wǎng)站修改登錄頁面,在該頁面上輸入網(wǎng)站登錄時(shí)填寫的聯(lián)系人姓名和聯(lián)系人電子郵件。單擊“登錄”按鈕既可進(jìn)入網(wǎng)站修改頁面。網(wǎng)站修改頁面也分兩部分:上面為網(wǎng)站搜索部分,下面為網(wǎng)站信息修改部分。在信息修改部分,網(wǎng)站聯(lián)系人可以修改輸入的網(wǎng)站信息。網(wǎng)站修改的設(shè)計(jì)界面如圖6所示:圖6網(wǎng)站修改界面圖4.4.4工作流程和代碼設(shè)計(jì)在表單中輸入聯(lián)系人名稱以及郵箱后,數(shù)據(jù)被提交到login.asp文件中處理,在login.asp中首先使用QueryString()方法讀取action的值,如果action的值為login,則讀取表單傳遞過來的聯(lián)系人姓名和電子郵箱數(shù)據(jù),并判斷聯(lián)系人姓名和電子郵箱是否為空:ifname=""then response.write"<Script>window.alert('聯(lián)系人不能空');_history.back();</Script>" elseifemail=""then response.write"<Script>window.alert('電子郵箱不能為空');_history.back();</Script>"如果二者都不為空,則從數(shù)據(jù)庫中查詢email列的值為輸入電子郵箱的記錄。如果存在記錄,則判斷輸入的用戶名是否正確,如果不正確,返回到登錄頁面。如果全部正確,則登錄成功,保存聯(lián)系人登錄的電子郵箱和id,并將頁面轉(zhuǎn)到j(luò)ion_edit_ok.asp修改頁面。進(jìn)行網(wǎng)站登錄信息的修改。5系統(tǒng)后臺(tái)模塊設(shè)計(jì)5.1網(wǎng)站管理模塊的實(shí)現(xiàn)前臺(tái)頁面可以看成是對(duì)數(shù)據(jù)庫中表的查詢,讀入,而后臺(tái)則是對(duì)數(shù)據(jù)庫表中的信息進(jìn)行修改,添加,刪除,從而改變前臺(tái)的顯示信息。后臺(tái)由管理員通過管理員id和密碼登錄進(jìn)行操作。5.1.1功能描述管理員登錄之后,首先進(jìn)入的就是網(wǎng)站管理模塊,該模塊管理員能夠?qū)σ褜徍说木W(wǎng)站進(jìn)行修改和刪除操作。網(wǎng)站管理模塊的界面如圖7:圖7網(wǎng)站管理界面圖5.1.2工作流程和代碼設(shè)計(jì)進(jìn)入該界面時(shí),程序首先從數(shù)據(jù)庫中查詢verify=0的記錄,然后將所有的記錄分頁顯示在頁面上。當(dāng)管理員單擊某個(gè)網(wǎng)站對(duì)應(yīng)的“刪除”超連接,就可以將該網(wǎng)站及其所有信息從數(shù)據(jù)庫中刪除。執(zhí)行刪除文件的部分代碼如下:ifsession("admin")=""then response.write"<Script>window.alert('你目前還沒登錄,請(qǐng)先登錄!');_location.replace('index.asp');</Script>"endifIfRequest("action")="delete"Then delid=replace(request("id"),",","") '獲得要?jiǎng)h除記錄的id,Replace過程將獲得的id字符串中的"'"用空字符""替換 ifdelid=""orisnull(delid)then '要?jiǎng)h除的記錄id為空 '則給出提示 response.write"<script>alert('操作失敗,沒有選擇合適參數(shù),請(qǐng)單擊確定返回!');</script>" response.redirect"main.asp" '返回到網(wǎng)站管理界面 response.end else 'id存在 '執(zhí)行數(shù)據(jù)庫中的刪除操作,刪除數(shù)據(jù)庫中id列的值在delid數(shù)組中的記錄 conn.Execute("delete*fromwebwhereIDin("&delid&")") '刪除成功,給出提示 response.write"<script>alert('留言刪除成功,請(qǐng)單擊確定返回!');</script>" response.redirect"main.asp"5.2網(wǎng)站審核網(wǎng)站審核模塊與網(wǎng)站管理模塊非常相似。不同的地方在于,網(wǎng)站審核模塊顯示的所有網(wǎng)站均為未審核網(wǎng)站,已經(jīng)審核了的網(wǎng)站將不會(huì)在此頁面顯示。而網(wǎng)站管理模塊顯示的是已審核網(wǎng)站,網(wǎng)站審核模塊查詢數(shù)據(jù)庫的代碼如下:Setrs=server,createobject(“adodb.recordset”)rs.open”selectid,sort_id,title.url.verify.click.time.fromwebwhereverify=-1orderbyiddesc”.conn,1,15.3分類管理模塊5.3.1分類編輯在分類顯示界面的每個(gè)分類的下面,對(duì)應(yīng)著一個(gè)“編輯”超連接,單擊該超連接,進(jìn)入該分類的編輯界面,分類編輯界面和分類添加界面相同,二者的界面是由同一個(gè)文件生成,進(jìn)入某一分類的界面,則在界面上顯示該分類保存在數(shù)據(jù)庫中的信息。當(dāng)用戶輸入修改后的信息,單擊確定按扭,所有的數(shù)據(jù)將被提交到sort_ok.asp文件中處理,部分處理代碼如下:case"edit" 'action的值為edit show=request.form("show") '是否首頁顯示 sort_id=request.form("sort_id") '上級(jí)ID setrs=server.createobject("adodb.recordset") '創(chuàng)建RecordSet對(duì)象 '從數(shù)據(jù)庫中查詢id列的值為request.form("id")的記錄,將結(jié)果保存在rs中 rs.open"select*fromsortwhereid="&request.form("id"),conn,1,3 rs("sort")=request.form("sort") '分類名稱 ……… rs.update '更新數(shù)據(jù)庫 rs.close '關(guān)閉RecordSet對(duì)象 ifsort_id="0"then '判斷sort_id的值,并根據(jù)sort_id的值返回到不同的界面 response.write"<Script>window.alert('分類修改成功');location.replace('sort_manage.asp');</Script>" else response.write"<Script>window.alert('分類修改成功');location.replace('sort.asp?sort_id="&sort_id&"');</Script>" endIf5.3.2分類添加在分類顯示界面的最下方,有一個(gè)“添加分類”超連接。單擊該超連接,能夠添加當(dāng)前分類的下一層分類。界面中包含表單forms,用來輸入要添加的分類信息。表單中定義的分類名稱文本域?yàn)閟ort。首頁顯示為一個(gè)下拉列表show??梢赃x擇是否要在首頁顯示,默認(rèn)為否,上級(jí)id文本域?yàn)閟ort_id。操作文本域?yàn)閍ction。它為只讀型,當(dāng)操作為添加時(shí),文本域中顯示“add”。表單中還定義了一個(gè)隱藏域id,用來保存當(dāng)前分類的id。其頁面顯示如圖8所示:圖8分類信息界面圖當(dāng)輸入要添加的分類信息并單擊“確定”按鈕后,表單中的數(shù)據(jù)被提交到sort_ok.asp文件中處理。在sort_ok.asp文件中,首先判斷用戶是否登錄,如果登錄,則讀取操作action的值,如果action的值為add,則執(zhí)行添加處理。分類添加的部分代碼如下:action=request("action")h '讀取action的值selectcaseaction 'select條件語句case"add" 'action的值為add show=request.form("show") '是否首頁顯示 sort_id=request.form("sort_id") '上級(jí)ID setrs=server.createobject("adodb.recordset") '創(chuàng)建RecordSet對(duì)象 '從數(shù)據(jù)庫中查詢id為空的記錄,將結(jié)果保存在rs中 rs.open"select*fromsortwhereidisnull",conn,1,3 rs.addnew '添加新記錄 rs("sort")=request.form("sort") '分類名稱 ifshow=""then '首頁顯示,0為首頁不顯示,1為首頁顯示 rs("show")="0" else rs("show")=show endIf ifsort_id=""then '上級(jí)ID的值,為空表示最上層分類 rs("sort_id")="0" else rs("sort_id")=sort_id endIf rs("sort_id")=sort_id endIf rs.update '更新數(shù)據(jù)庫 rs.close '關(guān)閉RecordSet對(duì)象 Setrs=nothing ifsort_id=""orsort_id="0"then'判斷sort_id的值,并根據(jù)sort_id的值返回到不同的界面response.write"<Script>window.alert('分類添加成功');_location.replace('sort_manage.asp');</Script>" else response.write"<Script>window.alert(‘分類添加成功');_location.replace('sort.asp?sort_id="&sort_id&"');</Script>" endIf5.3.3分類刪除刪除操作也是在sort_ok.asp文件中執(zhí)行的。在sort_ok.asp文件中,如果讀取action的值為delete,則執(zhí)行刪除操作,在代碼中,首先讀取id和sort_id的值,然后執(zhí)行del()過程將所有相關(guān)分類刪除,最后根據(jù)sort_id的值將頁面轉(zhuǎn)到相關(guān)頁。其中

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論