摘 要:隨著互聯(lián)網(wǎng)的全面普及,基于互聯(lián)網(wǎng)的論壇交流也應(yīng)運(yùn)而生,并在近年來獲得了巨大的發(fā)展,成為一種全新的交流模式。
本文主要分析了基于ASP設(shè)計(jì)的公司局域網(wǎng)論壇的主要組成情況,包括論壇的開發(fā)背景、設(shè)計(jì)目標(biāo),詳細(xì)設(shè)計(jì)和論壇的主要特點(diǎn)等,重點(diǎn)介紹了論壇前臺(tái)功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法。
關(guān)鍵字:BBS;ASP;HTML;登陸;注冊(cè);發(fā)帖
第一章 概述
1.1 開發(fā)背景
隨著互聯(lián)網(wǎng)的全面普及,基于互聯(lián)網(wǎng)的論壇交流也應(yīng)運(yùn)而生,并在近年來獲得了巨大的發(fā)展,成為一種全新的交流模式。論壇又名BBS,用戶在BBS站點(diǎn)上可以獲得各種信息服務(wù),發(fā)布信息,進(jìn)行討論,聊天等等。
在論壇里,人們之間的交流打破了空間,時(shí)間的限制,參與討論的人可以處于一個(gè)平等的位置與其他人進(jìn)行任何問題的探討。
1.2 開發(fā)的意義
公司局域網(wǎng)論壇的建立,為廣大員工提供了一個(gè)及時(shí)交流的平臺(tái),大家可以在論壇上各抒己見、暢所欲言,極大地促進(jìn)了公司建設(shè)。
第二章 總體設(shè)計(jì)
2.1 論壇的主要功能
論壇按照功能模塊分為:用戶的注冊(cè)與登錄、帖子標(biāo)題的顯示、帖子內(nèi)容的顯示、提交新帖子、回復(fù)他人提交的帖子。
用戶的注冊(cè)與登錄。訪問論壇的用戶可分為7種:
游客;會(huì)員;隱士;VIP 會(huì)員;版主;超級(jí)版主;管理員
游客:僅僅瀏覽一下帖子的標(biāo)題或內(nèi)容,而不想發(fā)表新帖子或回復(fù)他人的帖子的用戶,不需要注冊(cè)論壇中的用戶名,已注冊(cè)用戶也可不登錄,在論壇中稱為游客。
會(huì)員:用戶以會(huì)員的身份方可發(fā)表新帖子或回復(fù)他人的帖子。已注冊(cè)的用戶需要登陸論壇;未注冊(cè)的用戶需要先注冊(cè)用戶名,方可以會(huì)員的身份登陸,該用戶名充當(dāng)了發(fā)帖者在論壇中的名字,也是在論壇中唯一識(shí)別該用戶的標(biāo)志。注冊(cè)后的用戶即擁有了在論壇中瀏覽、發(fā)表、回復(fù)和刪除自己發(fā)過的帖子的所有權(quán)利。
隱士:已經(jīng)登陸論壇的會(huì)員的用戶名會(huì)在論壇下方的在線統(tǒng)計(jì)詳細(xì)列表中體現(xiàn);如果不想讓論壇中其他人看到自己在線,可以選擇論壇上方的 “隱身 ”,隱身后的用戶,在詳細(xì)列表中的用戶名顯示為隱士。
VIP會(huì)員:用戶個(gè)人積分達(dá)到一定數(shù)值的自動(dòng)升級(jí)為VIP會(huì)員,管理員可在后臺(tái)管理平臺(tái)中對(duì)VIP會(huì)員進(jìn)行高級(jí)設(shè)置,享受特殊權(quán)利。
版主與超級(jí)版主:對(duì)論壇有管理權(quán),可以編輯、更改、刪除其所負(fù)責(zé)的論壇中所有的帖子,同時(shí)還可以將帖子置頂、加入精華以及撤出置頂和精華區(qū)。
管理員:論壇管理員負(fù)責(zé)論壇的日常維護(hù)、后臺(tái)管理、數(shù)據(jù)庫(kù)維護(hù)等工作,有設(shè)置版主、管理會(huì)員的最高權(quán)限。
帖子標(biāo)題的顯示。這是論壇中的主要部分,它顯示出了論壇數(shù)據(jù)庫(kù)中所有帖子的標(biāo)題、作者、發(fā)布時(shí)間等信息,便于訪問者檢索、查閱。
帖子內(nèi)容的顯示。當(dāng)用戶點(diǎn)擊某一帖子的標(biāo)題時(shí),將會(huì)看到該帖子的內(nèi)容以及所有回復(fù)該帖子的標(biāo)題和內(nèi)容。
發(fā)表帖子。用戶登陸論壇后,點(diǎn)擊論壇右上方的 “發(fā)表帖子 ”按鈕,彈出發(fā)新帖界面,用戶可在該界面編輯新帖的標(biāo)題和內(nèi)容,編輯完畢后,點(diǎn)擊下方的 “發(fā)表 ”,新帖便會(huì)提交到論壇的數(shù)據(jù)庫(kù)中,并在顯示帖子標(biāo)題的頁(yè)面中顯示出來。
回復(fù)他人提交的帖子。登陸用戶對(duì)某一帖子的內(nèi)容感興趣,需要回答其提出的問題時(shí),該用戶將提交一份新帖子到論壇的數(shù)據(jù)庫(kù),作為回復(fù)前者的帖子。該帖子的標(biāo)題和內(nèi)容只有在顯示被回復(fù)的帖子的內(nèi)容時(shí)才被順序顯示出來。
2.2 實(shí)現(xiàn)目標(biāo)
論壇最終實(shí)現(xiàn)目標(biāo):
用戶的注冊(cè)和登陸、用戶發(fā)帖和回復(fù)帖、后臺(tái)論壇分類設(shè)計(jì)、添加、管理論壇版塊、管理、添加版主、批量修改帖子、用戶修改 、論壇的基本設(shè)置
第三章 詳細(xì)設(shè)計(jì)
3.1 論壇功能版塊設(shè)計(jì)
3.1.1主頁(yè)設(shè)計(jì)
登陸論壇主頁(yè),會(huì)看到論壇登陸/注冊(cè)、當(dāng)天發(fā)帖統(tǒng)計(jì)、最新發(fā)帖、在線用戶統(tǒng)計(jì)四部分。點(diǎn)擊主頁(yè)正中 “公司論壇 ”進(jìn)入論壇的詳細(xì)界面,該界面顯示了論壇所有帖子的題目列表。
3.1.2登陸窗口設(shè)計(jì)
用戶可在論壇主頁(yè)登陸,也可點(diǎn)論壇上方的 “登陸 ”按鈕,彈出登陸界面。此模塊由login.asp負(fù)責(zé),用戶正確的輸入注冊(cè)名和密碼后,按 “登陸 ”則通過post的方式把注冊(cè)名和密碼傳送到login.asp進(jìn)行驗(yàn)證。
3.1.3用戶注冊(cè)界面設(shè)計(jì)
點(diǎn)擊主頁(yè)上方的 “注冊(cè) ”按鍵,進(jìn)入注冊(cè)界面,首先會(huì)看到論壇協(xié)議,需要注冊(cè)的用戶同意本論壇的一寫基本條款,只有在瀏覽了本論壇條款后,確定同意本論壇所制定的條款,點(diǎn)擊下方 “我同意 ” 按鈕后才能夠正式進(jìn)入到注冊(cè)界面。
注冊(cè)界面錄入信息分為兩部分,一部分為必須填寫的內(nèi)容,主要包括:用戶名密碼、郵箱;另一部分為可選填內(nèi)容,主要包括:生日、主頁(yè)、OICQ、我的頭像、自定義頭像和個(gè)性簽名等基本信息。
3.1.4用戶發(fā)帖模塊設(shè)計(jì)
發(fā)帖子/回復(fù)是論壇最重要的功能。用戶如何方便的發(fā)帖和回復(fù)帖子是決定一個(gè)好論壇的主要條件。發(fā)帖和快速回復(fù)帖子分別由say.asp和show.asp組成。可以在要發(fā)帖的論壇版塊里直接進(jìn)行發(fā)帖,發(fā)帖信息主要包括用戶名、密碼、帖子主題、你的表情、帖子內(nèi)容、特殊內(nèi)容和帖子類型等幾個(gè)部分的信息,在發(fā)帖子的同時(shí)可以直接通過文件上傳圖片等內(nèi)容。
在用戶感興趣的帖子下面還可以直接進(jìn)行快速回復(fù)想要回復(fù)的主題,在這里可以直接回復(fù)帖子的內(nèi)容。
3.2 模塊主要設(shè)計(jì)思想及實(shí)現(xiàn)過程
3.2.1設(shè)計(jì)思想
將數(shù)據(jù)庫(kù)中的帖子標(biāo)題按發(fā)布的時(shí)間的早晚排序,并按降序排列分頁(yè)顯示出來。該模塊充分地將ASP程序代碼與HTML表單腳本融合在一起,形成一個(gè)典型的ASP文件。
3.2.2實(shí)現(xiàn)過程
設(shè)定每頁(yè)顯示25條帖子標(biāo)題。建立ADO的數(shù)據(jù)庫(kù)連接對(duì)象CONN,建立ADO的數(shù)據(jù)庫(kù)記錄操作對(duì)象RS,定義SQL查詢語(yǔ)句,其內(nèi)容為在數(shù)據(jù)庫(kù)中查詢所有的帖子,并按帖子的發(fā)布時(shí)間降序排列。通過ODBC的文件DSN連接數(shù)據(jù)庫(kù)使用RS對(duì)象執(zhí)行剛才建立的SQL查詢語(yǔ)句。判斷查詢的結(jié)果是否為空。如果是,說明數(shù)據(jù)庫(kù)中無帖子,返回給用戶無帖子的信息;如果不是,則設(shè)定一個(gè)循環(huán)來分頁(yè)顯示帖子記錄。在循環(huán)中ASP程序?qū)⑾蛴脩魹g覽器返回一個(gè)固定格式的表。同時(shí),將行計(jì)數(shù)器初值為25減1數(shù)據(jù)庫(kù)記錄指針移向下一條記錄。這樣,通過一次次的循環(huán),就能一行行地列出帖子的標(biāo)題、筆名、郵箱地址和發(fā)布時(shí)間等信息。而退出循環(huán)的條件是數(shù)據(jù)庫(kù)的記錄指針未指向記錄的末尾與行計(jì)數(shù)器大于0,也就是說ASP程序每次只向用戶的瀏覽器返回25條帖子的標(biāo)題作為一個(gè)頁(yè)面。如果用戶需要看后面的頁(yè)面,那么ASP程序就再向?yàn)g覽器返回25條帖子的標(biāo)題,直到數(shù)據(jù)庫(kù)的記錄指針指向數(shù)據(jù)庫(kù)的結(jié)尾,這時(shí)ASP程序向用戶瀏覽器返回的頁(yè)面是最后一頁(yè)。最后釋放數(shù)據(jù)庫(kù)的連接對(duì)象和記錄設(shè)置對(duì)象。
以上是ASP程序代碼部分,而作為分頁(yè)顯示帖子標(biāo)題的ASP頁(yè)面,還要有相應(yīng)的HTML表單提交代碼部分。這部分代碼的作用是設(shè)置頁(yè)面的屬性的頁(yè)面背景、字體的大小與顏色以及表格的屬性等,并向WEB服務(wù)器提交表單。HTML表單將設(shè)定用戶前后分頁(yè)的按鈕,并將表示其內(nèi)容含義的變量傳給ASP程序用做處理。當(dāng)ASP程序顯示完20行帖子標(biāo)題后,如果用戶需要瀏覽下一頁(yè),則HTML表單向WEB服務(wù)器發(fā)送一個(gè)指向自身的HTTP地址,同時(shí)向服務(wù)器隱藏傳遞一個(gè)標(biāo)志著當(dāng)前頁(yè)號(hào)的變量,這樣就實(shí)現(xiàn)了用相同的頁(yè)面格式顯示下一頁(yè)的帖子標(biāo)題。
第四章結(jié)論
基于ASP和HTML語(yǔ)言設(shè)計(jì)的公司黨務(wù)工作網(wǎng)論壇,在制作過程中深化了我對(duì)ASP技術(shù)的更進(jìn)一步的了解,使我也深刻體會(huì)到了ASP技術(shù)的優(yōu)越性,堅(jiān)定了我進(jìn)一步學(xué)習(xí)ASP的信心。
參考文獻(xiàn)
[1]尚俊杰編著?!毒W(wǎng)絡(luò)編程設(shè)計(jì)——ASP》清華大學(xué)出版社,北方交通大學(xué)出版社,2002年1月第一版.
[2]萬峰科技編著?!禔SP網(wǎng)站開發(fā)四 “酷”全書》電子工業(yè)出版社,2005年8月第一版.
[3]徐軍、吳玉新編著。《網(wǎng)站ASP后臺(tái)解決方案》人民郵電出版社,2001年1月.
[4]張固,汪曉平編著?!禔SP網(wǎng)絡(luò)應(yīng)應(yīng)用系統(tǒng)典型模塊開發(fā)解析》人民郵電出版社。2005年.