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