基于技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn)論文—計(jì)算機(jī)畢業(yè)設(shè)計(jì)_第1頁
基于技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn)論文—計(jì)算機(jī)畢業(yè)設(shè)計(jì)_第2頁
基于技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn)論文—計(jì)算機(jī)畢業(yè)設(shè)計(jì)_第3頁
基于技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn)論文—計(jì)算機(jī)畢業(yè)設(shè)計(jì)_第4頁
基于技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn)論文—計(jì)算機(jī)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于ASP技術(shù)的論壇的設(shè)計(jì)與實(shí)現(xiàn) 摘 要: 使用ASP語言和數(shù)據(jù)庫技術(shù)設(shè)計(jì)的一個論壇軟件。使用ASP內(nèi)置的SELECT、 INSERT INTO、UPDATE 、DELETE、EXECUTE等指令和微軟Access數(shù)據(jù)庫軟件技術(shù)實(shí)現(xiàn)論壇的各種功能。Asp的優(yōu)點(diǎn)有平安性與減輕客戶端瀏覽器的負(fù)擔(dān),提高交互速度,Access 的優(yōu)點(diǎn)在于與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。關(guān)鍵詞:ASP 動態(tài)效勞器頁面 HTML超文本標(biāo)記語言VB腳本語言目錄引言3概述11開發(fā)背景312系統(tǒng)說明4主要技術(shù)和分析21引言522ASP技術(shù)綜述523Dreamweaver MX2004應(yīng)用7系統(tǒng)需求分析31系統(tǒng)運(yùn)行環(huán)境832系統(tǒng)功能需

2、求8系統(tǒng)概要設(shè)計(jì)41模塊劃分及各模塊功能介紹942系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)9詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)11結(jié)綸20參考文獻(xiàn)20引 言隨著的飛速開展,機(jī)關(guān)、學(xué)校、公司、企業(yè)都已經(jīng)或正在建立自己的網(wǎng)站和論壇,而一個真正的、完善的論壇離不開數(shù)據(jù)庫技術(shù),數(shù)據(jù)庫技術(shù)可以實(shí)現(xiàn)瀏覽器與數(shù)據(jù)庫的雙向交互。技術(shù)和數(shù)據(jù)庫相互融合領(lǐng)域的研究已成為熱點(diǎn)方向之一,數(shù)據(jù)庫技術(shù)使技術(shù)和數(shù)據(jù)庫技術(shù)都發(fā)生了質(zhì)的變化:網(wǎng)頁由靜態(tài)網(wǎng)頁開展成了動態(tài)網(wǎng)頁,數(shù)據(jù)庫實(shí)現(xiàn)了開發(fā)環(huán)境和應(yīng)用環(huán)境的別離,用戶端可以用相對統(tǒng)一的瀏覽器實(shí)現(xiàn)跨平臺和多媒體效勞。 概 述1.1開發(fā)背景為了提高自己對計(jì)算機(jī)專業(yè)知識的運(yùn)用水平,并對三年來自己所學(xué)的計(jì)算機(jī)知識進(jìn)行好好的回憶和實(shí)踐運(yùn)

3、用,同時利用開展畢業(yè)的實(shí)習(xí)和開展畢業(yè)設(shè)計(jì),檢驗(yàn)自己學(xué)習(xí)中存在的缺乏,到達(dá)加強(qiáng)對網(wǎng)絡(luò)和數(shù)據(jù)庫等的學(xué)習(xí)。本論壇的設(shè)計(jì)是結(jié)合現(xiàn)在流行的各種網(wǎng)上技術(shù)和論壇的普及,也是為適應(yīng)企業(yè)的信息化管理基于ASP技術(shù)而設(shè)計(jì)的論壇。本論壇是為了用戶進(jìn)行網(wǎng)上交流和開展網(wǎng)上對話,也有利于成員之間利用互聯(lián)技術(shù),開展學(xué)習(xí)、交流、網(wǎng)上交友等活動。本論壇的建立將發(fā)揮橋梁與扭帶的作用大大的方便了用戶之間信息的溝通。網(wǎng)絡(luò)論壇,也被稱為異步會議系統(tǒng)、布告板,是網(wǎng)絡(luò)上除了E-mail之外,最為普遍的在線討論系統(tǒng),它來源于早期Internet開展的BBS系統(tǒng)BulletinBoardSystem,隨著Internet的開展,逐步演變成現(xiàn)在

4、的形式基于Web的BBS系統(tǒng)。在網(wǎng)絡(luò)教學(xué)中,論壇作為其中一個必不可少的交流平臺,正廣泛地被應(yīng)用,是網(wǎng)絡(luò)教學(xué)系統(tǒng)的有機(jī)組成局部。ASP應(yīng)用程序易于使用、修改,并且是通過效勞器端解釋執(zhí)行,無需編譯,能夠?qū)υ创a進(jìn)行保密,因而很多網(wǎng)站都運(yùn)用ASP來架構(gòu)。論壇是一個通過國際互聯(lián)信息網(wǎng)絡(luò)進(jìn)行發(fā)布信息和實(shí)現(xiàn)多人通訊的一個系統(tǒng)。在這個信息極其興旺的時代,我們目前可以用來發(fā)布信息和進(jìn)行相互交流的方法也有非常多,比方文件、通知、電報(bào)、 、電子郵件、OICQ等等通訊手段,但是這些或者不方便或者有局限性或者有費(fèi)用的問題,比方一個紅頭文件從下發(fā)到被人閱覽這期間要通過好多手續(xù)和時間,那么一個需要幾個人一起討論的會議就非

5、的有一定的時間,和一定的地點(diǎn),聚集在一起才能舉行,一般情況下都需要花費(fèi)大量的人力物力。非但費(fèi)時費(fèi)力費(fèi)錢而且效果也不一定很好。電子郵件那么不是一種及時聯(lián)系的手段,需要一定時間才能到達(dá),只能作為一種輔助交流的手段。而論壇就能很好的解決這個問題,廠團(tuán)委發(fā)一個通知或文件不需要專人送的各個崗位和車間,我們也不需要聚集在同一地點(diǎn),各自在不同的地點(diǎn)就可以在論壇中發(fā)言,大家互相討論。而且好的論壇在討論時還有各種表情符號等可以加強(qiáng)我們的表達(dá)。另外還有費(fèi)用低廉,信息交流速度快等優(yōu)點(diǎn),青年論壇的建立將會為臺電成為國際一流火力發(fā)電廠作出自己的奉獻(xiàn)。1.2系統(tǒng)說明本論壇設(shè)計(jì)方案主要是利用局域網(wǎng)原理,在企業(yè)網(wǎng)絡(luò)效勞器上搭

6、建一個網(wǎng)站,建立網(wǎng)頁論壇平臺,瀏覽者可通過網(wǎng)絡(luò),在自己的終端上利用IE瀏覽器訪問該網(wǎng)站,瀏覽相關(guān)信息,并可以注冊、注銷個人信息,發(fā)表、編輯、修改、刪除個人觀點(diǎn)。論壇著力構(gòu)建效勞功能強(qiáng)大、信息交流便捷、管理模式科學(xué)的青年活動、交流的新型平臺。成為用戶思想交流的家園,文化活動的基地,娛樂聯(lián)歡的場所,努力為用戶效勞。 主要技術(shù)和分析21引言實(shí)現(xiàn)動態(tài)網(wǎng)頁的手段很多,像傳統(tǒng)的程序存在執(zhí)行效率低、移植性較差及開發(fā)效率低的缺點(diǎn)。而目前十分流行的訪問網(wǎng)站數(shù)據(jù)庫是用方式,同以往的開發(fā)工具相比具有靈活易用、強(qiáng)大的可擴(kuò)充性、無需編譯及獨(dú)立于瀏覽器等優(yōu)點(diǎn),而且有效地結(jié)合了語言、腳本語言,并可以通過效勞器組件來擴(kuò)充效勞

7、器功能2.2ASP技術(shù)綜述2.2.1ASP技術(shù)簡介Microsoft Active Server Pages 即我們所稱的 ASP ,其實(shí)是一套微軟開發(fā)的效勞器端腳本環(huán)境, ASP 內(nèi)含于 IIS 3.0 和 4.0 之中 , 通過 ASP 我們可以結(jié)合 HTML 網(wǎng)頁、 ASP 指令和 ActiveX 元件建立動態(tài)、交互且高效的 WEB 效勞器應(yīng)用程序。有了 ASP你就不必?fù)?dān)憂客戶的瀏覽器是否能運(yùn)行你所編寫的代碼,因?yàn)樗械某绦蚨紝⒃谛谄鞫藞?zhí)行,包括所有嵌在普通 HTML 中的腳本程序。當(dāng)程序執(zhí)行完畢后,效勞器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互

8、的速度。2.2.2技術(shù)特點(diǎn)完全與HTML文件融合在一起;容易創(chuàng)立,不需要其它編譯、鏈接程序;面向?qū)ο蟮牟⑼ㄟ^ActiveX Server對象可擴(kuò)展。2.2.3ASP與數(shù)據(jù)庫在實(shí)際應(yīng)用中如論壇發(fā)貼、刪貼,需要保存、刪除、修改的數(shù)據(jù)很多,利用數(shù)據(jù)庫來管理這些數(shù)據(jù),可以很方便的查詢和更新。數(shù)據(jù)庫有很多種,如:Fox 數(shù)據(jù)庫(.dbf)、Access 數(shù)據(jù)庫(.mdb)、Informix、Oracle 和 SQL Server 等等,在這里,我采用 Microsoft Access 作為后臺數(shù)據(jù)庫。23Dreamweaver MX2004應(yīng)用Macromedia Dreamweaver MX 2004

9、 是一款專業(yè)的HTML 編輯器,用于對Web 站點(diǎn)、Web 頁和Web 應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā)。無論您愿意享受手工編寫HTML 代碼時的駕馭感還是偏愛在可視化編輯環(huán)境中工作,Dreamweaver 都會為您提供有用的工具,使您擁有更加完美的Web 創(chuàng)作體驗(yàn)。利用Dreamweaver 中的可視化編輯功能,您可以快速地創(chuàng)立頁面而無需編寫任何代碼。您可以查看所有站點(diǎn)元素或資源并將它們從易于使用的面板直接拖到文檔中。您可以在MacromediaFireworks 或其他圖形應(yīng)用程序中創(chuàng)立和編輯圖像,然后將它們直接導(dǎo)入Dreamweaver,或者添加Macromedia Flash 對象,從而優(yōu)

10、化您的開發(fā)工作流程。Dreamweaver 還提供了功能全面的編碼環(huán)境,其中包括代碼編輯工具例如代碼顏色和標(biāo)簽完成;有關(guān)HTML、層疊樣式表(CSS)、JavaScript、ColdFusion 標(biāo)記語言(CFML)、Microsoft Active Server Pages (ASP) 和JavaServer Pages (JSP) 的參考資料。Macromedia 的可自由導(dǎo)入導(dǎo)出HTML 技術(shù)可導(dǎo)入您手工編碼的HTML 文檔而不會重新設(shè)置代碼的格式,您可以隨后用您首選的格式設(shè)置樣式來重新設(shè)置代碼的格式。Dreamweaver 還使您可以使用效勞器技術(shù)例如CFML、ASP.NET、ASP、

11、JSP 和PHP生成由動態(tài)數(shù)據(jù)庫支持的Web 應(yīng)用程序。Dreamweaver 可以完全自定義。您可以創(chuàng)立您自己的對象和命令,修改快捷鍵,甚至編寫JavaScript 代碼,用新的行為、屬性檢查器和站點(diǎn)報(bào)告來擴(kuò)展Dreamweaver 的功能。 系統(tǒng)需求分析3.1系統(tǒng)運(yùn)行環(huán)境:效勞器端:1、WINDWOS2000 SERVER2、IIS5.0客戶端:1、WINDOWS98及以上版本2、IE5.0及以上版本3.2系統(tǒng)功能需求:管理端:對版塊,欄目,貼子,會員信息等進(jìn)行管理??蛻舳耍鹤裕樵?,發(fā)表回復(fù)貼子。系統(tǒng)概要設(shè)計(jì)4.1模塊劃分及各模塊功能介紹:論壇管理添加、刪除論壇版面;修改斑竹信息各版斑

12、竹登錄各自版塊進(jìn)行貼子管理,具有刪貼功能版面管理本論壇簡介關(guān)于論壇論壇版面討論一些當(dāng)前熱點(diǎn)的時事新聞發(fā)布團(tuán)委的日常通知及站務(wù)公告團(tuán)委公告時事新聞交流一些與軍事有關(guān)問題軍事天地可以按貼子主題或者發(fā)貼者為條件查詢相關(guān)的貼子論壇貼子查詢更改個人密碼修改個人信息用戶信息可以查看個人的發(fā)貼情況查詢個人信息積分排行榜4.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì):本論壇采用ACCESS作為后臺數(shù)據(jù)系統(tǒng)。數(shù)據(jù)庫BOARD下面其有4個表。分別為:USER、BOARD、ADMIN、BBS1字段名字段類型字段說明USER表,里面記錄注冊用戶的一些信息。userID自動編號用戶號username文本用戶名userEmail文本EMAIL地址

13、artide數(shù)字積分userpassword文本密碼sex文本性別homefrom文本來自homepage文本個人主頁BOARD表,里面記錄版面信息。BoardID自動編號版面序號BoardType文本版面名稱BoardName文本斑竹用戶名MastarPwd文本密碼MastarEmail文本EMAILADMIM表,里面記錄論壇管理員信息。ID自動編號編號Adminame文本管理員用戶名Adminpwd文本密碼BBS1表,里面記錄貼子信息。AnnounceID自動編號ParentId數(shù)字Child數(shù)字Username文本發(fā)貼人Boardid數(shù)字Useremail文本Topic文本貼子主題Bod

14、y備注貼子內(nèi)容Dateandtime文本發(fā)貼時間Hits數(shù)字Length數(shù)字Rootid數(shù)字Layer數(shù)字Orders數(shù)字Ip文本Expression文本 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)主頁面DEFAULT.ASP鏈接頁面LEFT.ASP論壇積分排行榜 POINT.ASP論壇簡介 ABOUT.ASP論壇管理管理員登錄頁面 LOGIN.ASP論壇管理管理功能頁面 BOARDMANAGER.ASP版面管理斑竹登錄頁面 ELOGIN.ASP版面管理管理功能頁面EMANAGE.ASP貼子主題瀏覽頁面 LIST.ASP發(fā)表回復(fù)頁面 SHOWANNUNCE.ASP發(fā)表新話題頁面 ANNOUNCE.ASP貼子查詢頁面 QU

15、ERY.ASP QUERYRESULT.ASP論壇用戶個人資料包括密碼、信息修改頁面 MYINFO.ASP常用數(shù)據(jù)庫語句1.SELECT 語句:命令數(shù)據(jù)庫引擎從數(shù)據(jù)庫里返回信息,作為一組記錄。2.INSERT INTO 語句:添加一個或多個記錄至一個表。3.UPDATE 語句:創(chuàng)立更新查詢來改變基于特定準(zhǔn)那么的指定表中的字段值。4.DELETE 語句:創(chuàng)立一個刪除查詢把記錄從 FROM 子句列出并符合 WHERE 子句的一個或更多的表中去除。5.EXECUTE 語句:用于激活 PROCEDURE過程一連接數(shù)據(jù)庫方法1:Set conn = Server.CreateObject(ADODB.C

16、onnection)conn.Open driver=Microsoft Access Driver (*.mdb);dbq=&Server.MapPath(data.mdb)方法2:Set conn = Server.CreateObject(ADODB.Connection)conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&Server.MapPath(data.mdb)注意:一個頁面中,只要連接一次就可以了,數(shù)據(jù)庫使用完后要及時關(guān)閉連接。conn.CloseSet conn = Nothing二、添加新記錄到數(shù)據(jù)庫Set co

17、nn = Server.CreateObject(ADODB.Connection)conn.Open driver=Microsoft Access Driver (*.mdb);dbq=&Server.MapPath(data.mdb)username = 風(fēng)云突變usermail = HYPERLINK mailto:fytb163 fytb163 indate = Now()sql = insert into data (username,usermail,indata) values(&username&,&usermail&,&indate&)conn.Execute(sql)co

18、nn.CloseSet conn = Nothing說明:建立數(shù)據(jù)庫連接;通過表單獲取姓名、E-mail 字符串,Now()獲取當(dāng)前時間日期;使用 insert into 語句添加新記錄;conn.Execute 來執(zhí)行;最后關(guān)閉。三、選擇數(shù)據(jù)庫里的記錄1.選擇所有記錄的字段按記錄倒序排序:sql = select * from data order by ID desc2.選擇所有記錄的姓名和E-mail字段不排序:sql = select username,usermail from data3.選擇姓名為“風(fēng)云突變的所有記錄:sql = select * from data where

19、username=風(fēng)云突變4.選擇使用 163 信箱的所有記錄按查看次數(shù)排序:sql = HYPERLINK mailto:select * from data where usermail like %163 % select * from data where usermail like %163 % order by view desc5.選擇最新的10個記錄:sql = select top 10 * from data order by ID descSQL 語句已經(jīng)知道了,不過在Web應(yīng)用時,還得創(chuàng)立一個 RecordSet 對象得到記錄集,才能把從數(shù)據(jù)庫里取出的值應(yīng)用在網(wǎng)頁上,如

20、果現(xiàn)在將所有的記錄顯示在網(wǎng)頁上就這樣:Set conn = Server.CreateObject(ADODB.Connection)conn.Open driver=Microsoft Access Driver (*.mdb);dbq=&Server.MapPath(data.mdb)sql = select * from dataSet rs = Server.CreateObject(ADODB.RecordSet)rs.Open sql,conn,1,1Do While Not rs.EofResponse.Write 姓名:& rs(username) &E-mail:& rs(u

21、sermail) &查看:& rs(view) &次& rs(indate) &參加rs.MoveNextLooprs.CloseSet rs = Nothingconn.CloseSet conn = Nothing說明:建立數(shù)據(jù)庫連接;創(chuàng)立 rs 得到記錄集;循環(huán)顯示記錄,rs.Eof 表示記錄末,rs.MoveNext 表示移到下一個記錄;最后關(guān)閉。四、修改更新數(shù)據(jù)庫記錄修改記錄的E-mail:Set conn = Server.CreateObject(ADODB.Connection)conn.Open driver=Microsoft Access Driver (*.mdb);d

22、bq=&Server.MapPath(data.mdb)ID = 1usermail = HYPERLINK mailto:fytb163 fytb163 sql = update data set usermail=&usermail& where ID=&CInt(ID)conn.Execute(sql)conn.CloseSet conn = Nothing說明:建立數(shù)據(jù)庫連接;獲取記錄ID、新 E-mail 字符串;使用 update 語句修改記錄;conn.Execute 來執(zhí)行;最后關(guān)閉。如果使記錄的查看值加1,那么:sql = update data set view=view+

23、1 where ID=&CInt(ID)五、刪除數(shù)據(jù)庫記錄刪除某一條記錄:Set conn = Server.CreateObject(ADODB.Connection)conn.Open driver=Microsoft Access Driver (*.mdb);dbq=&Server.MapPath(data.mdb)ID = 1sql = delete from data where ID=&CInt(ID)conn.Execute(sql)conn.CloseSet conn = Nothing說明:建立數(shù)據(jù)庫連接;獲取記錄ID;使用 delete 語句刪除記錄;conn.Execu

24、te 來執(zhí)行;最后關(guān)閉。刪除多條記錄為:sql = delete from data where ID in (ID1,ID2,ID3)刪除所有記錄為:sql = delete from data結(jié) 論通過這個認(rèn)壇的制作,我深化了對ASP技術(shù)的了解,也深刻體會到了ASP技術(shù)的優(yōu)越性,堅(jiān)決了我進(jìn)一步學(xué)習(xí)ASP的信心。致 謝在此論文的完成過程中,有眾多老師的費(fèi)心指導(dǎo)和一些同學(xué)的熱情幫助,在此表示萬分的謝意。參考文獻(xiàn) HYPERLINK :/ 100down /download/default_study.html :/ 100down /download/default_study.html百當(dāng)軟

25、件園網(wǎng)絡(luò)學(xué)院詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)各頁面代碼如下:主頁面DEFAULT.ASP歡送光臨青年論壇 This page uses frames, but your browser doesnt support them. 鏈接頁面LEFT.ASPLeft論壇首頁論壇管理版面管理關(guān)于論壇論壇版面團(tuán)委公告時事新聞軍事天地論壇帖子查詢更改個人密碼修改個人信息查詢個人信息查看積分排行在線人論壇積分排行榜POINT.ASP積分 論壇積分排行榜 姓名積分姓名積分9 then Exit Do loop end ifrs.Closeset rs=nothing%查看個人積分關(guān)于積分 論壇簡介ABOUT.ASPhtml 請

26、注意以下事項(xiàng) 本論壇由廠團(tuán)委創(chuàng)辦和管理。 您在本站注冊發(fā)言便表示您將遵守以下條款 保持良好言行,不得對他人進(jìn)行人身攻擊;遵守中華人民共和國的一切法律法規(guī);網(wǎng)友不得張貼無用的重復(fù)信息,如果此類帖子數(shù)目超過5,將被視為對本站的惡意攻擊行為本站有權(quán)對登記網(wǎng)友的賬號進(jìn)行管理,有權(quán)對違反上述條款的網(wǎng)友賬號進(jìn)行關(guān)閉、刪除的處分通用用戶名:guest,密碼:guest 積 分 規(guī) 那么 斑竹在原來的根底上增加200分作為獎勵發(fā)一個帖子積分加1分,回復(fù)一個帖子積分加1分(多發(fā)新帖噢)被刪一個帖子,倒扣1分采用積分機(jī)制只是來活潑論壇的氣氛,積分?jǐn)?shù)只是說明網(wǎng)友在本論壇的活潑情況,并不一定代表網(wǎng)友任何方面的個人水平

27、論壇管理管理員登錄頁面LOGIN.ASP管理者登陸 用戶名: 密 碼: 論壇管理管理功能頁面BOARDMANAGER.ASP!-/function check3()if (.value.length1) |( document.addbt3 ame.value.length1) )alert(名字不能為空);else document.addbt3.submit();function check4()if (.value.length1) |( document.addbt4 ame.value.length論壇版面管理區(qū)域增加版面 ID版 面斑 竹操 作a href=boardmanager

28、.asp?method=modify&boardid=&name=a href=mailto:請點(diǎn)擊相應(yīng)版面增加板面:版面名稱:斑竹密碼:斑竹mail:斑竹姓名:=1 thenshowmaster=trim(rsb(boardmaster)%修改信息:INPUT TYPE=hidden name=id value=版面名稱:INPUT TYPE=text size=10 NAME=name value= class=bline1斑竹密碼:INPUT TYPE=text size=10 NAME=cname value= class=bline1斑竹mail:INPUT TYPE=text si

29、ze=10 NAME=email value= class=bline1斑竹姓名:INPUT TYPE=text size=10 NAME=userid value= class=bline1 %conn.Closeset rsB=nothingset conn=nothing版面管理斑竹登錄頁面ELOGIN.ASP管理者登陸 版面: % do while not rs.eof if boardid=cstr(rs(boardid) then sel=selected else sel= end if response.write +rs(Boardtype)+chr(13)+chr(10)

30、rs.movenext loop % 用戶名: 密 碼: 版面管理管理功能頁面EMANAGE.ASP青年論壇% dim sql,rs,rsBoard,BoardName,boardsql dim selStr dim mailStr1 dim mailStr2 dim boardmaster on error resume next selStr=() if session(masterlogin)=true then boardID=session(manageboard) selStr= if not isempty(request(page) then currentPage=cint(

31、request(page) else currentPage=1 end if set rsBoard=server.createobject(adodb.recordset) boardsql=select * from board where boardID=+cstr(boardID)+ rsboard.open boardsql,conn,1,1 if not rsboard.eof then boardname=rsboard(boardname) session(boardtype)=rsboard(boardtype) boardmaster=rsboard(boardmaste

32、r) if trim(rsboard(masteremail) then mailStr1= mailStr2= else mailStr1= mailStr2= end if if boardID0 then set rs=server.createobject(adodb.recordset) sql=select AnnounceID,boardID from bbs1 where boardID=+cstr(boardID)+ and parentID=0 ORDER BY announceID desc rs.open sql,conn,1,1 if not rs.eof then

33、totalAnnounce=rs.recordcount dim i i=0 if currentPage=1 then do while not rs.EOF if selstr= then selStr=selStr+cstr(rs(announceid) else selStr=selStr+,+cstr(rs(announceid) end if i=i+1 if i=maxannounce then exit do rs.MoveNext loop else if (current1)*maxannounce=maxannounce then exit do rs.MoveNext

34、loop else currentPage=1 do while not rs.EOF if selstr= then selStr=selStr+cstr(rs(announceid) else selStr=selStr+,+cstr(rs(announceid) end if i=i+1 if i=maxannounce then exit do rs.MoveNext loop end if end if dim n selstr=(+selstr+) if selStr() then sql=select * from bbs1 where (rootID in &selStr& )

35、 ORDER BY rootID desc,orders else sql=select * from bbs1 ORDER BY rootID desc,orders end ifend if rs.Close rs.open sql,conn,1,1 showpage session(boardtype),boardmaster,totalannounce,boardid,mailstr1,mailstr2 showlist() showpage session(boardtype),boardmaster,totalannounce,boardid,mailstr1,mailstr2 e

36、lse response.write 版面:+session(boardtype)+版主:+mailstr1+boardmaster+mailstr2+ response.write 本論壇無內(nèi)容 response.write 我要發(fā)言 刷新瀏覽 end if rs.close sub showlist() on error resume next dim outtext dim bytestr response.write dim layer layer=1 do while not (rs.eof or err.number0) do while layer rs(layer) if rs

37、(layer) layer then outtext=outtext & layer=layer+1 else outtext=outtext & & chr(13) & chr(10) layer=layer-1 end if loop outtext=outtext & outtext=outtext & outtext=outtext & dim t if rs(Length)=0 then t= else t= end if if pwsonchsys then outtext=outtext & htmlencode(rs(Topic)+t) else outtext=outtext

38、 & Server.HTMLEncode(rs(Topic)+t) end if outtext=outtext & - bytestr=(+cstr(rs(length) if not WINNT_CHINESE then if rs(Length)-1=1 then bytestr=bytestr+ Byte) else bytestr=bytestr+ Bytes) end if else bytestr=bytestr+字) end ifif pwsonchsys then outtext=outtext & htmlencode(rs(UserName) else outtext=o

39、uttext & Server.HTMLEncode(rs(UserName) ) end if outtext=outtext & &rs(DateAndTime)& ID:+cstr(rs(announceID)+ 點(diǎn)擊:&rs(Hits)& +bytestr+ ( + Cstr(rs(child)+)+chr(13)+chr(10) if trim(rs(DateAndTime) and isdate(rs(DateAndTime) then if cbool(cdate(rs(DateAndTime)(date()-1)=true then outtext=outtext & end

40、if end if outtext=outtext & 刪除+chr(13)+chr(10) rs.movenext response.write outtext outtext= loop if layer0 then dim i for i=1 to layer outtext=outtext & next end if outtext=outtext & response.write outtext end subfunction showpage(boardtype,boardmaster,totalannounce,boardid,mailstr1,mailstr2) respons

41、e.write response.write 版面:&boardtype& response.write response.write 版主:+mailstr1+boardmaster+mailstr2+ response.write 我要發(fā)言 response.write 刷新瀏覽 dim n if totalAnnounce mod maxannounce=0 then n= totalAnnounce maxannounce else n= totalAnnounce maxannounce+1 end if response.write response.write if Curren

42、tPage2 then response.write 首頁 前頁 else response.write 首頁 response.write 前頁 end if if n-currentpage1 then response.write 后頁 尾頁 else response.write 后頁 尾頁 end if response.write 頁次:&CurrentPage&/&n&頁 response.write response.write 轉(zhuǎn)到: response.write response.write end functionelse Response.Write 該論壇不存在! e

43、nd if end ifrsBoard.Closeset rsboard=nothing %貼子主題瀏覽頁面LIST.ASP青年論壇% dim sql,rs,rsBoard,BoardName,boardsql dim selStr dim mailStr1 dim mailStr2 dim boardmaster on error resume next selStr=() if not isEmpty(request(lstRefreshBoard) then boardID=request(lstRefreshBoard) elseif not isEmpty(request(Board

44、ID) then boardID=request(BoardID) end if selStr= if not isempty(request(page) then currentPage=cint(request(page) else currentPage=1 end if set rsBoard=server.createobject(adodb.recordset) boardsql=select * from board where boardID=&request(boardid) rsboard.open boardsql,conn,1,1 if not rsboard.eof

45、then boardname=rsboard(boardname) session(boardtype)=rsboard(boardtype) boardmaster=rsboard(boardmaster) if trim(rsboard(masteremail) then mailStr1= mailStr2= else mailStr1= mailStr2= end if if boardID0 then set rs=server.createobject(adodb.recordset) sql=select AnnounceID,boardID from bbs1 where bo

46、ardID=+cstr(boardID)+ and parentID=0 ORDER BY announceID desc rs.open sql,conn,1,1 if not rs.eof then totalAnnounce=rs.recordcount dim i i=0 if currentPage=1 then do while not rs.EOF if selstr= then selStr=selStr+cstr(rs(announceid) else selStr=selStr+,+cstr(rs(announceid) end if i=i+1 if i=maxannou

47、nce then exit do rs.MoveNext loop else if (current1)*maxannounce=maxannounce then exit do rs.MoveNext loop else currentPage=1 do while not rs.EOF if selstr= then selStr=selStr+cstr(rs(announceid) else selStr=selStr+,+cstr(rs(announceid) end if i=i+1 if i=maxannounce then exit do rs.MoveNext loop end

48、 if end if dim n selstr=(+selstr+) if selStr() then sql=select * from bbs1 where (rootID in &selStr& ) ORDER BY rootID desc,orders else sql=select * from bbs1 ORDER BY rootID desc,orders end ifend if rs.Close rs.open sql,conn,1,1 showpage session(boardtype),boardmaster,totalannounce,request(boardid)

49、,mailstr1,mailstr2 showlist() showpage session(boardtype),boardmaster,totalannounce,request(boardid),mailstr1,mailstr2 else response.write 版面:+session(boardtype)+版主:+mailstr1+boardmaster+mailstr2+ response.write 本論壇無內(nèi)容 response.write 我要發(fā)言 刷新瀏覽 end if rs.close sub showlist() on error resume next dim

50、outtext dim bytestr response.write dim layer layer=1 do while not (rs.eof or err.number0) do while layer rs(layer) if rs(layer) layer then outtext=outtext & layer=layer+1 else outtext=outtext & & chr(13) & chr(10) layer=layer-1 end if loop outtext=outtext & outtext=outtext & outtext=outtext & dim t

51、if rs(Length)=0 then t= else t= end if if pwsonchsys then outtext=outtext & htmlencode(rs(Topic)+t) else outtext=outtext & Server.HTMLEncode(rs(Topic)+t) end if outtext=outtext & - bytestr=(+cstr(rs(length) if not WINNT_CHINESE then if rs(Length)-1=1 then bytestr=bytestr+ Byte) else bytestr=bytestr+

52、 Bytes) end if else bytestr=bytestr+字) end ifif pwsonchsys then outtext=outtext & htmlencode(rs(UserName) else outtext=outtext & Server.HTMLEncode(rs(UserName) ) end if outtext=outtext & 20&rs(DateAndTime)& ID:+cstr(rs(announceID)+ 點(diǎn)擊:&rs(Hits)& +bytestr+ ( + Cstr(rs(child)+)+chr(13)+chr(10) if trim

53、(rs(DateAndTime) and isdate(rs(DateAndTime) then if cbool(cdate(rs(DateAndTime)(date()-1)=true then outtext=outtext & +chr(13)+chr(10) end if end if rs.movenext response.write outtext outtext= loop if layer0 then dim i for i=1 to layer outtext=outtext & next end if outtext=outtext & response.write o

54、uttext end sub function showpage(boardtype,boardmaster,totalannounce,boardid,mailstr1,mailstr2) response.write response.write 版面:&boardtype& response.write response.write 版主:+mailstr1+boardmaster+mailstr2+ response.write 我要發(fā)言 response.write 刷新瀏覽 dim n if totalAnnounce mod maxannounce=0 then n= total

55、Announce maxannounce else n= totalAnnounce maxannounce+1 end if response.write response.write if CurrentPage2 then response.write 首頁 前頁 else response.write 首頁 response.write 前頁 end if if n-currentpage1 then response.write 后頁 尾頁 else response.write 后頁 尾頁 end if response.write 頁次:&CurrentPage&/&n&頁 re

56、sponse.write response.write 轉(zhuǎn)到: response.write response.write end functionelse Response.Write 該論壇不存在! end ifrsBoard.Closeset rsboard=nothing % 發(fā)表回復(fù)頁面SHOWANNUNCE.ASP顯示貼子%if err.number0 then response.write 數(shù)據(jù)庫操作失敗:&err.descriptionelse if rs.eof and rs.bof then response.write 該貼子的內(nèi)容找不到 else dim UserNam

57、e dim useremail dim Topic dim body dim dateTimeStr dim layer dim orders dim parentid dim ip dim FoundError dim ErrMsg username=rs(username) useremail=rs(useremail) topic=rs(topic) body=rs(body) dateTimeStr=rs(dateAndTime) layer=rs(layer) orders=rs(orders) parentid=rs(parentid) ip=rs(ip) response.wri

58、te if pwsonchsys then showBody Topic else response.write Server.HTMLEncode(Topic) end if response.write +chr(13)+chr(10) response.write +chr(13)+chr(10) if Trim(UserEmail) then response.write if pwsonchsys then showBody UserName else response.write Server.HTMLEncode(UserName) end if response.write r

59、esponse.write 于 +DateTimeStr+ 發(fā)表在:+session(boardtype)+chr(13)+chr(10) else response.write if pwsonchsys thenshowBody UserName else response.write Server.HTMLEncode(UserName) end if response.write 于 +DateTimeStr+ 發(fā)表在:+session(boardtype)+chr(13)+chr(10) end if showbody(body)%回復(fù):form action=SaveReAnnou

60、nce.asp?boardID= method=POSTname=frmAnnounce input type=hidden name=followup value=input type=hidden name=rootID value= 我 要 發(fā) 言 版 面: *為必填工程 第一次發(fā)言自動注冊 姓 名: input class=smallInput name=username size=16 maxlength=50 value=* 密 碼:* Email: input class=smallInput name=email size=42 maxlength=40 value= 主 題:

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論