版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、基于web的留言簿設計摘 要Internet的迅猛開展,推動了各種網(wǎng)絡技術(shù)的不斷產(chǎn)生和更新,ASP便是在這一條件下產(chǎn)生的,ASP的出現(xiàn)改變了以往網(wǎng)站是由單純的HTML語言編寫的靜態(tài)網(wǎng)頁所組成的情況,有了ASP以后,我們就能夠根據(jù)不同的用戶,在不同的時間向用戶顯示不同的內(nèi)容。網(wǎng)站的內(nèi)容更新也不再是一個乏味的重復過程,它開始變得簡單而有趣。因此這使得人們在互聯(lián)網(wǎng)上的“生活越來越多姿多彩,人們對于在互聯(lián)網(wǎng)上交流的方式,也提出了越來越多的要求。基于web的留言簿,就是運用ASP制作出的,為網(wǎng)絡用戶提供的,一個能夠多人參與的交流方式。本文分別介紹了ASP概況、VBScript編程語言,ODBC簡介,以及
2、留言簿中用戶登陸/注冊,發(fā)表文章,瀏覽文章,更改個人信息等功能的實現(xiàn)。 關(guān)鍵字:留言簿,動態(tài)網(wǎng)頁,腳本語言,ASP, ODBC ,VBScriptABSTRACTThe development of Internet caused producing and updatint of all kinds of technology of networks,when ASP arised.The appreanrance of ASP changed the enviroment under which the past network station is made up of static P
3、ages which are consistent of pure HTML language. After ASP turned up , according to different users we can display different contents to user in different time. The updating of the contents of station has never been boring repeating proccess. It begins to become simple and interesting.So the life in
4、 Internet becomes more and more colorful, and the methods of communication in Internet are required more and more.BBS based on Web is produced by using ASP,which is a way of several persons participating for network users.In this theme there are introduction of ASP, the VBScript language,introductio
5、n of ODBC, and user loging/register in the BBS,delivering article, going through articles, modifying personal messages and so on.Key words: BBS, dynamic , Script Language, ASP, ODBC, VBScript 前言目前,ASPActive Server Pages技術(shù)已風行全球,在Internet上幾乎處處都能看到它的身影。應用ASP技術(shù),不需要進行復雜的編程,就可以開發(fā)出專業(yè)的動態(tài)Web網(wǎng)站。ASP技術(shù)的出現(xiàn)和開展給曾經(jīng)
6、以靜態(tài)內(nèi)容為主的Web帶來了全新的動態(tài)效果,使其具有更加靈活和方便的交互特性,在Internet中實現(xiàn)信息的傳遞和檢索越來越容易。正因為如此,ASP迅速被廣闊網(wǎng)絡設計和開發(fā)人員所接受,成為他們在Windows環(huán)境下首選的網(wǎng)站開發(fā)和編程技術(shù)。ASP技術(shù)的廣泛使用已經(jīng)成為了必然的趨勢,鑒于此點,本文將著重介紹一下基于ASP技術(shù)所制作的Web留言板。在本文中,將用到ASP , VBScript的知識,并且要使用Visual InterDev6.0進行動態(tài)網(wǎng)頁的制作,所以,在文章的開始,我將會對ASP和VBScript的根底知識作簡要地介紹,以便與讀者閱讀本文,并且將向讀者介紹制作此BBS所用的開發(fā)工
7、具Visual InterDev6.0的一些特點和功能。 第一章 ASP根底與VBScript語言 ASP根本特征與功能 ASP根本特征Active Server Pages實際上是將標準的HTML文件拓展了一些附加特征,ASP像標準的HTML文件一樣包含HTML對象冰球在一個瀏覽器上解釋并顯示。任何可以放在HTML中的東西都可以放在ASP中。因此,一個ASP有如下4個重要特征來使之具備很強的通用性。1.一個ASP可以包括效勞段腳本。雖然我們可以用VBScript或JavaScript來創(chuàng)立由交互功能的HTML網(wǎng)頁。但是這些只是在客戶端執(zhí)行的程序段。這在某些功能的實現(xiàn)上有很大的局限性。例如,當
8、處于客戶端的位置時,你想在網(wǎng)絡上實現(xiàn)某種功能,而自己的及膝上卻無能為力時,就想把這個任務傳給Server,讓設備齊全,功能完善的Sever去執(zhí)行。作為效勞器端的腳本語言,ASP就是在Server上執(zhí)行的,因此它就比純客戶端Script語言有更強的功能。2.一個ASP提供了一些內(nèi)建對象。利用這些ASP中提供的內(nèi)建對象,可以使腳本功能更加強大。這些對象會允許從瀏覽器中接受和發(fā)送信息。例如,利用request對象,可以將用戶在HTML form中的信息接收到并在一個腳本中來響應它。3.一個ASP可以用另外的元素來擴展。正如前面所說,ASP本身就是來源于相當數(shù)量的標準效勞器端的ActiveX元素,這些
9、組件用于完成諸如根據(jù)瀏覽器能力進行不同顯示以及在瀏覽器內(nèi)包含計數(shù)器或其他統(tǒng)計項的工作。4.ASP可以和諸如 SQL Server,Microsoft Access這樣的數(shù)據(jù)庫進行掛接。利用一些特別的對象集合,Active Data Object(ADO),就可以在ASP中使用SQL語言。這也是ASP強大的功能的重要方面,學生選課,車票查詢,訂購,在線商務等各種高級的,動態(tài)更新的站點都需要數(shù)據(jù)庫的支持,而且需要歲數(shù)據(jù)庫內(nèi)容的更新而自動更新。正因為這個特征,ASP可以建立很多功能齊全,效勞類型多樣的高級站點。以上四個特征僅是ASP的根本特征。一句話,ASP就是由Server端腳本,對象以及組件拓展
10、過的標準主頁組成。利用它,主頁就可以具有高度的交互性。1.1.2 ASP的功能ASP的一些典型應用如下所示:1.根據(jù)不同訪問者顯示不同內(nèi)容,創(chuàng)立個性化主頁;2.使用網(wǎng)際導航連接多個主頁;3.在網(wǎng)站主頁頂部添加一個隨機顯示的滾動廣告欄;4.根據(jù)用戶瀏覽器的版本,類型和能力顯示不同檔次的內(nèi)容;5.在主頁中添加單擊計數(shù)器;6.跟蹤用戶網(wǎng)站上的活動信息并且存入日志文件;7.從數(shù)據(jù)庫中讀取信息并顯示在Web頁面上;8.從HTML的Form中接受信息并且存到數(shù)據(jù)庫中;9. 用戶的反響意見和留言,并把它顯示出來。 ASP的工作原理Microsoft 將Internet Information Server(
11、IIS)4.0及以上版本和ASP結(jié)合在一起。在IIS4.0中引入ASP就能夠使站點從靜態(tài)內(nèi)容變成動態(tài)內(nèi)容。在前面對IIS的 效勞器提出請求后,效勞器將會從自己的硬盤或者內(nèi)存中提出一個靜態(tài)主頁發(fā)送到用戶的瀏覽器上。IIS的主要作用就是為用戶瀏覽器訪問效勞器硬盤的一些文件提供一個有效的接口。早期的IIS版本包括一個稱作Internet Database Connector(IDC)的 工具 ,它可以通過導出一個Microsoft Acccess文件或其他數(shù)據(jù)文件另存為其他文件而建立。當翻開文件時,會發(fā)現(xiàn)IDC的源程序和一般的ASP程序沒有什么區(qū)別。IDC可以從數(shù)據(jù)庫中接受和存儲數(shù)據(jù),與*.HTX文
12、件配合使用也可實現(xiàn)某些功能,但是ASP可以做得更好。 普通HTML的執(zhí)行過程單從執(zhí)行過程來看,IIS和Apache,Web Site等其他的Web Server 沒有什么區(qū)別,任何Web Server的根本作用之一就是支持靜態(tài)HTML主頁,讀者可以從以下步驟理解其對HTML的支持過程:作為一個用戶首先是在瀏覽器的地址蘭中鍵入要訪問的主頁地址并回車觸發(fā)這個申請。瀏覽器將申請發(fā)送到諸如IIS的Web Server上。Web Server接受這些申請并根據(jù).htm或.html的后綴名 判斷這是HTML文件。Web Server從當前硬盤或內(nèi)存中讀取正確的HTML文件然后將它送回用戶瀏覽器。用戶的瀏覽
13、器解釋這些HTML文件并將結(jié)果顯示出來。當然,這種過程可能會更加復雜一些,例如Form中的內(nèi)容以及查詢字串的傳遞。在大多數(shù)情況下,對于各種典型的Web Server來說,著中國城市按部就班的,Web Server就接受文件申請并從內(nèi)存或者硬盤中讀取正確的文件 1.2.2 ASP與靜態(tài)網(wǎng)頁的區(qū)別ASP改變了上面所講的一切,在IIS仍然支持靜態(tài)HTML主頁的前提下,利用ASP可以更具用戶要求在Web Server上建立新的主頁。為了便于理解它和支持靜態(tài)主頁的區(qū)別,我們將它的工作過程分成以下步驟:一個用戶在瀏覽器的網(wǎng)址欄中鍵入ASP文件名稱,并回車觸發(fā)這個ASP的申請。瀏覽器將這個ASP的要求發(fā)給I
14、IS。Web Server接受這個申請要求并由于其.asp的后綴意識到這是個ASP要求。Web Server從硬盤或者內(nèi)存中接受正確的ASP文件。Web Server 將從這個文件發(fā)送到一個叫做ASP.DLL特定文件中。ASP文件將會從頭至尾被執(zhí)行并根據(jù)命令要求生成相應的靜態(tài)主頁。HTML主頁將被送回瀏覽器HTML主頁將會被用戶瀏覽器解釋執(zhí)行并顯示在用戶瀏覽器上。為了清楚地說明問題,以上步驟已經(jīng)進行了很大的簡化,一個ASP并不一定每一次都重新編譯解釋,如果再次接受以前的那個請求而且沒有任何變化,ASP會從緩存中提出結(jié)果而不是再次運行。對于Web Server來說,ASP與HTML有著本質(zhì)的區(qū)別
15、,HTML是不經(jīng)過任何處理送回給瀏覽器,而ASP的每一個命令都首先被用來生成HTML文件,因此,ASP允許生成動態(tài)內(nèi)容。另一方面,對于瀏覽器來說,ASP和HTML幾乎是沒有區(qū)別的,僅僅是后綴為.asp和.htm的區(qū)別,當我們在客戶端提出ASP申請后,我們的瀏覽器接受的是HTML格式的文件,因此它適用于任何瀏覽器。1.3 VBScript語言 VBScript概述 由于本文重要用到VBScript語言,所以,接下來將對VBScript語言做以下簡單介紹。VBScript是Microsoft Visual Basic Scripting Edition 的簡稱,它是程序開發(fā)語言Visual Bas
16、ic家族的最新成員。它的誕生,不僅給Visual Basic大家庭增加來無窮無盡的活力,更為Web世界精彩網(wǎng)頁的開發(fā)提供了強大的工具支持。作為一種腳本語言,VBScript的作用就是用來彌補網(wǎng)頁嵌入的控件如 Java apple 或 Active X和CGI/Perl兩者的缺乏之處。VBScript與HTML兩者和網(wǎng)頁瀏覽器的密切結(jié)合簡直是無與倫比,根本上已經(jīng)將瀏覽器看作操作環(huán)境。它將靈活的腳本通過活動的腳本語言嵌入各種各樣的運行環(huán)境中,能夠使網(wǎng)頁上的ActiveX控件更加靈活的交互。第二章 2.Visual InterDev 6.0是Microsoft公司所推出的Web應用程序開發(fā)工具,具體
17、說,Visual InterDev6.0是快速設計,建立和調(diào)試數(shù)據(jù)庫驅(qū)動的Web應用程序的基于團隊的開發(fā)環(huán)境。Visual InterDev 6.0 是一個功能強大的用于Internet和Intranet領域創(chuàng)立和維護動態(tài)Web站點的工具。Visual InterDev 集成了一次些非常優(yōu)秀的特征和功能,它能夠使創(chuàng)立和維護站點的工作變得更加輕松。當提到“動態(tài)的Web站點這個詞時,指的不是在頁面中參加了動畫,或者那種循環(huán)演示的網(wǎng)頁,指的是頁面中活動,甚至是交互式的內(nèi)容。如果想要將自己的Web與數(shù)據(jù)庫連接,那么Visual InterDev是一個有力的工具。數(shù)據(jù)庫可以用來在線發(fā)布公司的產(chǎn)品目錄,可
18、以幫助搜集E-mail信息?;蛘邘椭幚砭W(wǎng)上的電子貿(mào)易業(yè)務。如果要在自己的Intranet應用中參加交互式的人力資源管理,庫存控制系統(tǒng)和其他的基于工作組的應用,那么Visual InterDev也是一個非常有用的工具。使用Visual InterDev,以上所提到的這些聽起來很不錯的內(nèi)容都可以很快和很容易地作為一個Web站點來實現(xiàn)。所以,一個動態(tài)的Web站點,就更像一個計算機程序。也就是說,所創(chuàng)立的Web頁面作為一個可視化的程序使用Web作為它的用戶界面。 Visual InterDev 6.0提供了一個進行Web應用程序開發(fā)的集成環(huán)境。Microsoft公司推出Visual InterDev
19、 6.0的主要目的是提供這樣一個工具:它能夠是開發(fā)者使用各種各樣的技術(shù)來創(chuàng)立動態(tài)的、基于Web的應用程序;并且,這個工具應該是一個可視化的工具,便于為開發(fā)者使用。 Visual InterDev 6.0提供了許多的向?qū)Ш涂梢暬ぞ?,這大大提高了Web應用程序開發(fā)人員的效率。Visual InterDev 6.0具有強有力的數(shù)據(jù)庫集成特性。鑒于Web應用程序越來越多地需要與數(shù)據(jù)庫連接,這也許是Visual InterDev 6.0的一個最主要特征。 在Visual InterDev 6.0的集成開發(fā)環(huán)境中,開發(fā)者可以使用各種最新的技術(shù)如ActiveX控件,設計期控件和活動效勞器元件來創(chuàng)立功能強大
20、的Web應用程序。也可以使用如VBScript和JavaScript這樣的腳本語言來創(chuàng)立動態(tài)的應用程序和Web頁面。 編輯HTML 在Visual InterDev 6.0中,為了提高開發(fā)人員編寫HTML頁面的效率,提供了可視化的HTML編輯器。這個編輯器包括三個視圖:設計視圖,源代碼視圖和快速預覽視圖。設計視圖提供了所見即得的HTML編輯環(huán)境,源代碼視圖允許開發(fā)者查看和修改HTML文件代碼,快速預覽視圖使開發(fā)者可以迅速地在開發(fā)環(huán)境中預覽頁面的顯示效果。開發(fā)者可以方便地在這三個視圖中切換。腳本程序編寫和調(diào)試 為了創(chuàng)立動態(tài)的Web頁面,腳本已經(jīng)使用得越來越多。Visual InterDev 6.
21、0 支持使用VBScript和JavaScript語言來開發(fā)客戶端和效勞器端的腳本程序。另外在Visual InterDev 6.0中提供了智能化的腳本程序編寫功能,可以幫助開發(fā)者快速無誤地開發(fā)各種腳本程序。 在Visual InterDev 1.0中并沒有提供腳本程序調(diào)試功能,要測試開發(fā)者所編寫的腳本程序是否能實現(xiàn)所需的功能,只能通過瀏覽器來測試。而在Visual InterDev 6.0中這一切有了很大的改變,它所提供的腳本調(diào)試器使得開發(fā)者可以方便地調(diào)試客戶端腳本程序和效勞器斷腳本程序,甚至可以實現(xiàn)兩類腳本程序的混合調(diào)試。 第三章 ODBC與ADO概述3.1 ODBC概述ODBC是Micr
22、osoft Windows的開放效勞體系的標準組成局部,是被人們廣泛接受的用于數(shù)據(jù)庫訪問的應用程序編程接口。對于數(shù)據(jù)庫API,她以X/Open和ISO/IEC的Call-Level Interface (CLI)標準為根底,并使用結(jié)構(gòu)化查詢語言作為其數(shù)據(jù)庫訪問語言。ODBC是為最大的互用性而設計的,即一個應用程序用相同的源代碼訪問不同的數(shù)據(jù)庫管理系統(tǒng)的能力。數(shù)據(jù)庫應用程序在ODBC接口中調(diào)用函數(shù),ODBC接口在叫作驅(qū)動程序的針對數(shù)據(jù)庫的模塊中實現(xiàn)。驅(qū)動程序的是用使應用程序從具體的數(shù)據(jù)庫調(diào)用中隔離開來,這與打印機驅(qū)動程序?qū)⒆痔幚沓绦蚺c具體的打印機命令隔離開的方式是一樣的。因為驅(qū)動程序在運行時才加
23、載,所以,用戶只需要增加一個新的驅(qū)動程序來訪問新的DBMS,沒有必要重新編譯或者重新鏈接應用程序。3.2 建立ODBC數(shù)據(jù)源 本文是在實現(xiàn)系統(tǒng)之前,必須先建立一個ODBC數(shù)據(jù)源,數(shù)據(jù)源包含了如何與一個數(shù)據(jù)提供者進行鏈接的信息。ODBC是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應的ODBC驅(qū)動程序,任何程序就可以通過ODBC操縱驅(qū)動程序的數(shù)據(jù)庫。比方,系統(tǒng)中有ACCESS的ODBC驅(qū)動程序,就不需要有ACCESS軟件,就可以在程序中,往一個ACCESS的MDB數(shù)據(jù)庫中增、刪、改記錄,而且根本不用知道這個數(shù)據(jù)庫示放在那里的。數(shù)據(jù)源包含了如何與一個數(shù)據(jù)提供者進行鏈接的信息。 按一下步驟可以建立一個新的系
24、統(tǒng)數(shù)據(jù)源。在“我的電腦中的控制面板中雙擊“管理工具將會出現(xiàn)下列圖: (2)雙擊“數(shù)據(jù)源ODBC,選擇系統(tǒng)DSN會出現(xiàn)下列圖: (3)單擊“添加,增加一個DSN入口,選擇“Microsoft Access Driver(*.mdb),點“完成鍵,如下列圖: (4)在“數(shù)據(jù)源名里輸入bbs,然后單擊“選取鍵,選擇數(shù)據(jù)庫,選中bbs.mdb并確認,如圖: 這樣,名為bbs的新數(shù)據(jù)源創(chuàng)立完畢,可以使用這個數(shù)據(jù)源鏈接到Microsoft Access.說明:建立了這個數(shù)據(jù)源后,在下面的留言簿設計與實現(xiàn)中將要應用它。db1.mdb數(shù)據(jù)庫將在實現(xiàn)中用到。第四章 留言簿的設計與實現(xiàn)4.1 系統(tǒng)概述 本例的BB
25、S模型把用戶分成三類,一類是管理員,第二類是普通用戶,第三類是客人。用戶發(fā)表的文章只分成了兩個版:精華版和普通版。管理員負責維護整個BBS系統(tǒng),它可以刪除或者確認任何人注冊的帳號,刪除任何人發(fā)表的文章,也可以把某個用戶在普通版發(fā)表的文章轉(zhuǎn)到精華版,當然也可以把一些已經(jīng)在精華版上的文章轉(zhuǎn)回到普通版。對于普通用戶來說,是無法在精華版發(fā)表文章的,他們只能在普通版發(fā)表文章,如果文章的內(nèi)容很優(yōu)秀,管理員會把她轉(zhuǎn)到精華版的。用戶也可以刪除自己寫的文章和對自己的注冊信息進行修改。用戶個人注冊的信息也很簡單,只有帳號、密碼、昵稱這三項。但是自己的帳號是不能更改的,因為帳號是一個用戶的唯一標識。注冊時間由程序自
26、動讀取當前的Web效勞器時間,而上站次數(shù)和發(fā)表文章數(shù)也是程序通過SQL直接得到的??腿讼喈斢谝粋€共有帳號,以客人身份等入的用戶,只能閱讀文章,沒有發(fā)表和刪除的權(quán)利,也沒有自己的個人資料可以修改。 對于還沒有賬號的新用戶,允許他們進行注冊,但是注冊后的賬號不能馬上使用,必須等到管理員確認后,這個賬號才生效,在確認之前,新用戶可以查看普通版和精華版的文章,并且也可以修改自己的注冊信息。在注冊的時候要注意,有可能注冊的賬號已經(jīng)被別人注冊了,那么,在BBS里,賬號是不允許重復的。所以本著先來后到的原那么,只好要求后來的用戶重新注冊一個別的賬號了。 在用戶權(quán)限一欄中,系統(tǒng)約定:0表示該用戶具有管理員權(quán)限
27、;1 表示該用戶是普通用戶。實際上,一個BBS站點的用戶權(quán)限絕不只是這幾種,比方管理員、版主、系統(tǒng)管理員等等,但在本文的具體實現(xiàn)中,僅分為管理員和普通用戶兩種。 4.2 數(shù)據(jù)庫設計 該留言簿需用到Microsoft Access中一個名為bbs.mdb的數(shù)據(jù)庫。它包括兩個表,其名稱分別是:users和articles,分別用來存放用戶信息和發(fā)表的文章信息。Users表有九個字段,ID是主關(guān)鍵字。當添加一條新的記錄時,會為該字段自動生成一個數(shù)值,而不需要應用程序產(chǎn)生這個數(shù)值。同時uid(用戶ID)也是不準重復的。字段名稱數(shù)據(jù)類型說明ID自動編號UID文本用戶賬號Upassword文本用戶密碼Un
28、ame文本用戶昵稱Upermission數(shù)字用戶權(quán)限Utime數(shù)字上站次數(shù)Uarticle數(shù)字發(fā)表文章數(shù)Udate日期注冊時間Usign是/否是否確認身份 Articles表有六個字段。還是以ID作為主關(guān)鍵字,Auther代表發(fā)表文章的用戶賬號,用來和users表發(fā)生關(guān)聯(lián),為外部關(guān)鍵字。字段名稱數(shù)據(jù)類型說明ID自動編號自動編號Name文本文章名稱Auther文本作者賬號Date日期發(fā)表日期Location是/否是否在精華版Content備注文章內(nèi)容 4.3 系統(tǒng)設計 本BBS中一共涉及了九個.asp文件,分別是、main.asp、和及Global.asa文件。 “為用戶登陸頁面,如圖1所示。它
29、是本例的初始進入時的頁面,其功能是要求來訪問的用戶注冊自己的賬號,并輸入密碼,正確注冊后,就可以進入,去選取自己權(quán)限內(nèi)的功能了。對于在BBS站內(nèi)還沒有注冊賬號的用戶,就可以在賬號中輸入Guest,以“客人的身份登陸進來。如果用戶想注冊一個新的賬號,那么可以點擊頁面下部的“新用戶按鈕,就會進入到主頁中去注冊新的賬號,當然,這個賬號只有在被管理員確認后才能正確使用。界面如圖1。圖1如果點擊“新用戶按鈕,進入“新用戶注冊界面,如圖2所示。在該界面中,需要輸入賬號、密碼、昵稱三項內(nèi)容,這三項指標都不能為空值。其中,為了防止誤操作,密碼要求輸入兩次,這兩次輸入應該相同。同時,賬號不能和系統(tǒng)中已經(jīng)存在的重
30、復,在實際運行中,這些輸入方面的控制都是通過程序來完成的,如果用戶輸錯了,系統(tǒng)會給出相應的提示。 圖2 新用戶注冊完成后,或者是在登陸界面中輸入正確的賬號和密碼,點擊“登陸按鈕后,就可以進入這是本BBS系統(tǒng)的主頁面。根據(jù)用戶權(quán)限的不同,主頁面將顯示不同的內(nèi)容,普通用戶可以選擇瀏覽普通版和精華版的文章,可以對自己的個人注冊信息進行修改,所看到的界面如圖3所示。而系統(tǒng)管理員除了一般用戶的權(quán)限外,還可以確認用戶和對用戶進行管理,其界面入圖4所示。如果是客人,那么只能瀏覽文章了,如圖5所示。圖3圖4圖5 在主頁面中單擊精華版或普通版超鏈接,就可進入相應的版面閱讀文章,兩個版面的界面和操作都差不多,現(xiàn)僅
31、以普通版為例進行說明。該版面有文件完成,普通用戶進入后,可以閱讀文章,發(fā)表文章,也可以刪除自己寫的文章,如圖6所示。系統(tǒng)管理員進入后,除上述權(quán)力外,還可以刪除所有用戶發(fā)表的文章,并且對于好文章可以將它轉(zhuǎn)到精華版中,如圖7所示。而客人和未經(jīng)確認身份的新用戶就只能閱讀文章了,如圖8所示。刪除文章和將文章升級到精華版都是通過復選框完成,選中復選框后,點擊“提交按鈕,系統(tǒng)會自動將修改返回到數(shù)據(jù)庫效勞器處理。由于考慮到文章較多,因此設定了一次只顯示五篇文章,用戶可通過“上一頁和“下一頁進行翻頁顯示。 圖6 圖7圖8 在該界面中,點中文章標題的超鏈接,那么可以閱讀該文章,比方要閱讀題為“test3”文章,
32、進入文件,如圖9所示。 在普通版界面中,如果用戶具有發(fā)表文章的權(quán)利,那么可以發(fā)表文章,發(fā)表文章使用文件,該界面比擬簡單,只有兩個輸入文本框:一個用來輸入文章標題;另一個使文章的內(nèi)容,如圖10所示。 在主頁面中,可以重新設定個人資料,該功能也是通過文件完成的。用戶可以重新設定密碼和昵稱,當然,也應該兩次輸入相同密碼。修改后,點擊“完成按鈕完成修改,如圖11所示:圖9圖10圖11在主頁面中,如果是系統(tǒng)管理源,那么可以點“用戶管理超鏈接進入“文件進行用戶管理。首先應查詢想要處理的用戶,由于這個BBS系統(tǒng)比擬簡單,因此僅僅設計了按用戶賬號進行查詢。輸入賬號后,點“查詢按鈕,如果該用戶存在,那么將顯示其
33、詳細的信息,供管理員處理。下面有“修改和“刪除兩個按鈕,如果僅僅對用戶信息進行修改,那么在修改完成后,點“修改鈕即可:如要刪除該用戶,直接點“刪除。如圖12圖12在主頁面中,如果是系統(tǒng)管理員,那么還可以點“用戶確認超鏈接近如文件對未確認身份的用戶進行身份確認。未確認的用戶也是以列表的形式排列出來,可以進行上下翻頁,選中右邊的復選框。殿“提交按鈕后該用戶即被確認身份,可以發(fā)表文章了。如圖13圖13 以上便是整個BBS的具體設計,每個模塊的具體實現(xiàn)請詳見下文。4.4 各模塊的具體實現(xiàn) 初始化 在制作之前,要說明一下所要用到的Session變量的意義參數(shù)說明Session(“success)布爾型變
34、量,表示用戶是否注冊成功Session(“visited)Session(“ID)RecordSet對象,存儲用戶注冊信息的記錄Session(“recAffirm)RecordSet對象,存儲未被確認的賬號的記錄集Session(“page_Affirm)整型變量,在Affirm.asp中表示Session(“recAffirm)記錄集正在顯示的頁號Session(“recExcellent)RecordSet對象,儲存精華版文章的記錄集Session(“page_Excellent)整型變量,在 “中表示Session(“recJinghua)記錄集正在顯示的頁號Session(“recC
35、ommon)RecordSet對象,存儲普通版文章的記錄集Session(“page_Common)整型變量,在 “中表示Session(“recPutong)記錄集正在顯示的頁號Session(“post_Mode)字符串變量,可取值為普通或精華,表示即將發(fā)表的文章是哪一版的本留言簿還需要用到一個Session_onStart事件。在這個事件中,需要設定Session對對象的一個屬性:TimeOut屬性。這個屬性在一個BBS站得主頁重視需要設置的。當一個用戶很長時間沒有更新頁面或者進行某種操作時,為了保證站點的速度,降低效勞器資源的小號,就可以認為這個用戶已經(jīng)斷線或者推出了。Session_
36、onStart就是要設置這個事件的長短。 登陸界面的制作 登陸界面login.asp文件主要的功能是為用戶登陸使用,可直接登陸的用戶分為2種:已注冊用戶和以客人身份登陸的用戶。而想要注冊的用戶也必須通過這頁鏈接到新用戶注冊界面。 在這頁中,便是區(qū)分用戶以何種身份登陸以及登陸,對客人和真正的用戶進行區(qū)分。 在判斷注冊信息是否正確之前,要設置Session(“success)變量的指為False,然后,根據(jù)用戶所輸入的賬號的不同,進行不同的處理。當用戶輸入的是Guest這個字符串時,就把本主頁重新定向到main.asp,同時把Session(“success)設置為True,表示這個用戶注冊成功。
37、但是這里并沒設定Session(“ID),這是區(qū)分客人和真正用戶的標志。在其它情況下,都把用戶輸入的信息作為注冊信息處理,接著創(chuàng)立recMembers這個Recordset對象,利用SQL語句選擇賬戶和密碼都與用戶輸入相符合的記錄,如果記錄集不為空,說明有符合條件的記錄,用戶登陸成功。然后,設置該用戶信息全局變量結(jié)果集,上站次數(shù)加1。源碼見附錄。 注冊界面制作 register.asp文件在兩個地方要用到:一是在新用戶注冊時;而是在用戶對自己個人資料進行修改時。這兩種情況是通過變量Session(“visited)來區(qū)別,如果該變量為真那么是修改個人資料;否那么是新用戶注冊。首先,判斷注冊人兩
38、次輸入的密碼是否相同,不同那么從新輸入,Session(“visited)=True時表示為修改個人資料,反之,為新用戶注冊。輸入賬號時,賬號不為空,輸入后,如果沒有其它的賬號重復,那么進行注冊。在添加usign字段的時,要設置為False,因為新注冊的用戶沒有被確認。如果success標志設為True,說明注冊新賬號成功,并且賦予新用戶以客人的權(quán)限,如果賬號重復,設置標記為該賬號已經(jīng)存在。源碼見附錄 主界面的設計 main,asp文件是BBS系統(tǒng)的主界面,讀者在閱讀時,應注意在程序中如何根據(jù)不同的用戶權(quán)限來設置界面,即訪問控制問題。 在這個版面中,主要要實現(xiàn)四個功能只有注冊成功,才顯示相關(guān)內(nèi)
39、容其關(guān)鍵語句是 其關(guān)鍵語句是 其關(guān)鍵語句是 其關(guān)鍵語句是 精華版界面的制作 首先,要設定鏈接字符串Conn并創(chuàng)立RecordSet對象。其語句如下: % dim recArticles set Conn=Server.CreateObject(“)bbs Set recArticles=Server.CreateObject(“) If Request.ServerVariables(“Request_Metjpd)=POST then 然后,對于用戶提交上來想要發(fā)表的文章,首先要設定發(fā)表文章的模式,然后把申請定向到pub文件上。語句如下: if Request.Form(“publish)=
40、發(fā)表文章then Session(“post_mode)=精華 Response.Redirect HYPERLINK End if 用戶點擊提交按鈕 就要先處理要降級的文章,需要循環(huán)提交上來的chkDec中的每一個值,由于這些值是對應文章記錄的主關(guān)鍵字ID,所以查找ID相符合得記錄,再把它的location字段設置為False,就表示這篇文章已經(jīng)屬于普通版了。 語句如下: For each x in Request.Form(“chkDec) sql=select * from articles where ID = & x recArticles.Open sq1,Conn,1,3 rec
41、Articles(“l(fā)ocation)=False 然后,處理需要刪除的文章,需要循環(huán)chkDel的每一個值并且需要跟新users庫sq1=seclect uarticle from users where uid=(select auther from articles where id=& x &),查找ID相符合的記錄,并將它刪除。最后,重新翻開數(shù)據(jù)庫,選擇屬于精華版的文章sq1=select * from articles where location=True:recArticles.Open sq1.Conn,1,3 普通版界面的設計 普通版界面制作和精華版界面設計類似,只不過在用
42、戶點擊提交時,要處理的是升級的情況。語句如下: For each x in Request.Form(“chkUpdate) sq1=select * from articles where ID=& x recArticles.Open sq1,Conn,1,3 recArticles(“l(fā)ocation)=True 閱讀版面設計 閱讀版面比擬簡單,只是一個無邊框的表格輸出文章的內(nèi)容,用一個QueryString字符串傳遞文章的編號和返回的版面。 發(fā)表文章界面的設計 發(fā)表文章界面也比擬簡單,只是為了用戶發(fā)表文章用,它用了變量Session(“post_mode)來傳遞將返回哪個版面。 確認發(fā)
43、表文章的話,就翻開數(shù)據(jù)表: set Conn=Server.CreateObject(“ADO)bbs set recArticles=Server.CreateObject(“) sql=Select * from articles recArticles.Open sql,Conn,1,3 利用AddNew方法添加記錄: recArticles(“name)=Request.From(“title) recArticles(“content)=Request.From(“content) recArticles(“datel)=Now recArticles(“auther)=Sessio
44、n(“ID)(“uid) 根據(jù)Session(“post_mode)的值,來決定location字段的真或假: if Session(“post_mode)=精華 then recArticles(“l(fā)ocation)=True else recArticles(“l(fā)ocation)=False end if recArticles.Update 用戶的發(fā)表文章數(shù)加1 resAriticles (“uarticle)=recArticles(“uarticle)+1 resAriticles.Conn,Execute(“select * from users where uid =&Sessi
45、on(“ID)(“uid)&) 信息管理界面設計 信息管理界面用來對用戶進行管理 代碼和注釋如下: 用戶身份確認界面 元程序和注釋如下: 總 結(jié)通過以上的研究和實踐,我們可以得出結(jié)論,BBS留言簿因為它簡單豐富的功能和方便快捷的交流方式,將在互聯(lián)網(wǎng)時代中,大有作為。留言簿將由于越來越多的人學習使用ASP,變得更加完善,也變越精美,和使用。 經(jīng)過這次畢業(yè)設計,使我受益匪淺,也對制作網(wǎng)頁產(chǎn)生了更大的興趣。能力來自于實踐,我現(xiàn)在不僅能夠更加熟練的使用VBScript語言進行網(wǎng)頁制作,也對讓我ASP產(chǎn)生了更加濃厚的興趣,因為,我是第一次作此類的畢業(yè)設計,所以,在很多的地方我都還存在著缺乏,我所作的這個
46、留言簿,還存在著各個方面的缺乏和缺點,但是,我相信通過我不斷的學習,我能夠很快的提高自己的專業(yè)水平和自身素質(zhì),不辜負母校的期盼。 附 錄登陸界面源碼:注冊界面源碼:% 初始化標記變量,success標記效勞器校驗是否通過,flag為出錯標記 success=False flag=nothing if Request.ServerVariables(“Request_Method)=POST then 判斷兩次輸入的密碼是否相同if Request.Form(“pwd1”)=Request.Form(“pwd2”) then set Conn=Server.CreateObject(“) set
47、 recTemp=Server.CreateObject(“) Conn.Open(“bbs) Session(“visited)=True時表示為修改個人資料 if Session(“visited)=True thenselect * from users where uid=& Session(“ID)(“uid)&,Conn,2,3 recTemp(“upassword)=Request.Form(“pwd1”) recTemp(“uname)=Request.Form(“username)select * from users where uid=& Session(“ID)(“ui
48、d)&,Conn 更新全局變量Session(“ID) set Session(“ID)=resTemp success=Trueelse 新用戶注冊 if Request.Form(“userid)then 賬號不為空 set recTemp=Conn.Execute(“select uid from users where uid = & Request.Form(“userid)&)if recTemp.EOF then沒有其它的賬號重復 ssql=select * from users recTemp.Open ssql,Conn,2,3 recTemp(“uid)=Request.F
49、orm(“userid) recTemp(“upassword)=Request.Form(“pwd1”) recTemp(“uname)=Request.Form(“username) recTemp(“upermission)=1 recTemp(“utime)=1 recTemp(“uarticle)=0 recTemp(“udate)=Now recTemp(“using)=False 注意在添加usign字段的時,要設置為False,因為新注冊的用戶沒有被確認。 success標志設為True,說明注冊新賬號成功,并且賦予新用戶以客人的權(quán)限 success=True Success(
50、“success)=TrueElse 設置標記為該賬號已經(jīng)存在 success=Falseflag=HaveDoneend if else 設置標記為填入的賬號為空success=Falseflag=Emptyend ifend if else 兩次輸入的密碼不相等 success=False flag=NotEqual end if end if %新用戶注冊請詳細設定您的個人信息。新用戶僅具有閱讀的權(quán)利,只有當系統(tǒng)管理員對您的賬號確認后才能發(fā)表文章。%if Request.ServerVariables(“Request_Method)=POST then數(shù)據(jù)驗證后的相應顯示內(nèi)容if su
51、ccessTrue then未輸入賬號if flag=Emptythen!請注意:賬號不能為空。兩次輸入的密碼不等elseif flag=NotEqualthen!兩次輸入的密碼不一樣,請重新輸入。賬號已經(jīng)存在elseif flag=HaveDone then!該賬號已被別人使用,請重新輸入新賬號。 end ifend if end if%您的密碼:input type=password name=pwd1” size=20” value=密碼確認:input type=password name=pwd2” size=20” value=您的昵稱:input type=text name=u
52、sername size=20” value=您的賬號:您的密碼:input type=password name=pwd1” size=20”密碼確認:input type=password name=pwd2” size=20”您的昵稱:input type=text name=username size=20”參考文獻1. 錢力鵬 閻義洲 袁亞玎 何斌 等 ?Visual InterDev 6.0網(wǎng)絡編程技術(shù)? 出版社:人民郵電出版社2. 武延軍 趙彬 ?精通ASP網(wǎng)絡編程? 出版社:人民郵電出版社3. 姜曉銘 ?VBScript編程指南? 出版社:中國石化出版社4. 鐵成 陳功等 ?V
53、isual InterDev 6.0開發(fā)指南? 出版社:清華大學出版社5. 李欣欣 ?ASP實習報告?致 謝在整個畢業(yè)設計過程中,我得到了很多幫助。這里我首先感謝我的導師計算機系里55老師為我的畢業(yè)設計提供了同類軟件作為參照,并在整個畢業(yè)設計過程中對我各階段的參考書目選擇提出建設性的意見。同時我要感謝計算機系主任77教授和88老師,沒有他們?nèi)暌詠韺ξ以诩夹g(shù)上的關(guān)心,給我提供實踐時機使我在網(wǎng)絡的應用領域積累較豐富的經(jīng)驗,我的畢業(yè)設計不可能完成。感謝計算機系的其他老師三年來的根底課程指導,這給我畢業(yè)設計打下了堅實的理論根基。感謝同組人員99同學及與我同一研究方向的44同學在設計過程中為我提出的珍
54、貴建議。感謝所有同學給予我的幫助。謝謝!的國王,而皇后卻是泰戈族的。這件事情的直接后果就是,兩個種族麾下的附庸族仆來波艾族兔頭人和加菲族的貓頭人直接在王城開展了一場大規(guī)模械斗。即使是性觀念和家庭觀念最為淡薄的萊茵族也憤怒了,當時萊茵族的族長,也是格雷克.薩爾陛下的父親差點和自己的兒子來了個決斗。和一個異族女人保持曖昧關(guān)系這種事情,其實在比蒙王國貴族內(nèi)部并不罕見,有的勢高權(quán)重的貴族甚至還擁有美貌的人類和精靈奴隸作為自己的禁臠,至于包養(yǎng)幾個風情萬種的狐族少女更是正常。但沒有一個貴族敢把這種事情放到水面上來的,這種冒天下之大不韙的事,是和家族榮譽連接在一起的,沒有一個貴族敢于挑戰(zhàn)自己家族的榮譽這么大
55、膽。這種事情就好比一個人類男性娶了一個雌性食人魔一樣荒謬。泰戈族的反響同樣強烈,但是出乎意料的是,安琪爾公主居然接受了格雷克.薩爾陛下的求婚。這件事情以國王陛下的堅持和戰(zhàn)神祭祀的調(diào)停為終結(jié),當時很多貴族,包括萊茵族的獅子們肯退讓的主要原因就是認為,這可能只是花心的陛下一次偶爾的嘗鮮而已,很快他就會厭倦的,畢竟獅族在愛情上極度不負責任的這個名聲遠比勇猛無敵來的更加有名氣。讓人大跌眼鏡的是,格雷克.薩爾陛下對愛情堅貞的程度簡直可以媲美已經(jīng)在比蒙世界中滅亡了很久的曼都克族的鴛鴦,他一口回絕了其他各族進貢美女的請求,只出于國王必須納四妃的法例,接納了泰戈族奉獻的三個側(cè)妃,和安琪爾皇后一起恩恩愛愛度過了
56、二十五年春秋。很多種族對國王的偏心表示了嚴重的不滿,但卻又無可奈何。國王陛下對泰戈族美女的偏愛已經(jīng)遠遠超過了對他本族美女的喜愛。四個王妃總共給格雷克.薩爾陛下生了二十四個王子和四位公主,從而也帶給了比蒙王國一個巨大的驚喜和難題,萊茵族和泰戈族的混血,不愧是兩個最優(yōu)秀的種族的結(jié)晶,王子們都遠比自己的親戚,無論是泰戈族的表哥還是萊茵族的堂兄,都要更加敏捷,更加高大,更加孔武,更加的聰明。比蒙王國是極度尚武的國度,雖然比蒙們對武力的崇拜已經(jīng)到了無可復加的地步,但是今后泰戈族和萊茵族的平衡被打破,今后這些勇猛而聰明的王子們,會不會永久地將比蒙王國統(tǒng)治下去,這才是長老院和圣壇祭祀們最頭疼的事情。以前雖然
57、有別的種族有異族通婚,并產(chǎn)生后代,但從來沒有誕生過如此強大,如此有統(tǒng)治力的新后代,這個例子徹底把長老們難住了。戰(zhàn)神的智慧指引了這一切,圣壇紅袍大祭司通過與戰(zhàn)神坎帕斯精神交流之后,宣布了戰(zhàn)神的旨意,新誕生的王族被賜名為戰(zhàn)神之族,永遠的圣殿守護者,鑒于戰(zhàn)神之族過于強大的力量,所以他們將永久地被戰(zhàn)神坎帕斯剝奪“絕大局部生育后代的權(quán)利,至于其他種族異族通婚產(chǎn)生后的后代,戰(zhàn)神將不再過問。萊茵族和泰戈族的生育能力本就不是很好,戰(zhàn)神的旨意既然是這么委婉,弦外之意就更是明擺著的了。愛情永遠是殘酷的。這話不知道是誰說的,格雷克.薩爾陛下每每想到這里,眼眶就不禁濕潤了。*兄弟們耶誕節(jié)快樂呵呵種族設定是一定要寫的有
58、哪位兄弟愿意的話幫我寫寫別的種族怎么樣?哈哈六大貴族不需要你們寫了別的倒是可以寫好了發(fā)論壇或者密我都可以順推兩本自己兄弟的書?我不是人?天下皆破?。點擊觀察圖片鏈接:種族設定愛琴大陸的世界 海族和比蒙水族的設定 海族:幅員遼闊的海洋,讓海中的國度比起地上的國家更加的龐大,生物的數(shù)量更加復雜和多員化,海中的智慧人類,也擁有著比陸地智慧人類更加強壯的軀體,更加聰明的頭腦。 代表種族: 美人魚:海中的皇族,最討厭陸地生物的海中人類,傳說中喜歡用新鮮的人類作為食物的海中霸主,恐怖的天生水系魔法師! 代表人物: 艾薇兒:劉震撼三個妻子之一,精通水系魔法。 特殊技能:星空倒影雙修結(jié)界:海族的女海神安菲特里
59、忒的最高祝福,可以幻化出元素人魚抵擋攻擊。 西米里安.波塞頓:艾薇兒的哥哥,海中的王子。 特殊技能:獸浪結(jié)界:用巨浪變化成巨鯨,將對手直接吞滅嚼碎。 加布林族魔鯊戰(zhàn)士:西雅圖海中的強大戰(zhàn)士,強橫身體,與生俱來的水系魔法,個性極其兇悍,一旦不敵對手,他們甚至不惜自爆身體 代表人物: 理查德:愛薇兒登場時的手下,性格暴戾,劉震撼手下海族第一個犧牲品。 特殊技能:波濤之盾:藍色的水珠在騎士的身前形成一個半月形護障,防御敵人攻擊。 班尼路族逆戟鯨武士:海中站在金字塔最頂端的武士,不可戰(zhàn)勝的存在。 代表人物: 菲高:愛薇兒的手下,被用來找劉震撼麻煩,后被云秦金人掰斷胳膊。 特殊技能:強壯。 強壯。馬庫拉
60、族招潮蟹人:海族中的魔法師-風暴撕裂者術(shù)士 代表人物: 一個杰出的風暴撕裂術(shù)士:一度研究出了超強的水結(jié)界,讓不能長時間離開水面的海族軍隊擁有了脫離海洋約束牽泮的能力,從而能夠侵略陸地。 特殊技能:海族中的魔法師,擁有毀天滅地的元素力量曾經(jīng)有過一個杰出的風暴撕裂者術(shù)士創(chuàng)作出了復雜的水結(jié)界:讓不能長時間離開水面的海族軍隊擁有了脫離海洋約束牽泮的能力,從而能夠侵略陸地千年前海陸大戰(zhàn)的由來摩韶族蚌人:神秘的東方海族,天生的幻術(shù)師,稀少程度不亞于人魚。 代表人物: 凝玉:劉震撼三個妻子之一,精通幻術(shù) 特殊技能:海市蜃樓:通過光線來欺騙人的視覺,使人產(chǎn)生幻覺。 卡帝樂族揚子鱷武士:兩棲類海族,強大的防御力
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量體系監(jiān)視和測量資源培訓課件
- 繪畫廚具課件教學課件
- 就餐服務課件教學課件
- 美術(shù)蜘蛛課件教學課件
- 高三化學一輪復習 氮及其化合物說播課課件
- 膝關(guān)節(jié)保膝治療
- 車輪滾滾中班教案反思
- 鞭炮與安全教案反思
- 好玩的空氣說課稿
- 物聯(lián)網(wǎng)燃氣報警器
- 風溫肺熱病中醫(yī)優(yōu)勢病種療效總結(jié)分析報告
- 績效評價師考試-隨機題庫
- 疏浚工程施工安全管理措施論文
- 高中物理人教必修三13.2 磁感應強度 磁通量教案
- 眼鏡架和美學
- 消防安全違法行為一覽表(匯總?cè)刻幜P)
- 創(chuàng)傷性血氣胸急救和護理課件課件
- 一次性紙杯生產(chǎn)建設項目可行性研究報告(共31頁)
- 小學英語教學活動設計主要方法與技巧
- 《體育科學研究論文的撰寫與評價》PPT課件
- 隧道支護結(jié)構(gòu)計算
評論
0/150
提交評論