【正文】
posttimeamp。keywordamp。具體的程序和版面瀏覽模塊相似, 這里就不給出程序了。但是為了使得論壇更加“多姿多彩”,論壇也會(huì)相應(yīng)地開(kāi)放一些自定義的 TAG 標(biāo)簽,類似于 HTML 中的 TAG。 filename,1 39。如果允許覆蓋,才覆蓋,否則給出提示信息,提示客戶更改名字 31 If OverWriteFlag=True Then 32 SaveFilePath amp。返回文件內(nèi)容的長(zhǎng)度 15 If dataLen=0 Then 16 SaveToFile=3 17 Exit Function 18 End If 19 39。定位到第 1 個(gè)字符 8 dataend=InstrB(datastart,formdata,bncrlf)2 39。 FormName amp。返回 MIME 類型 20 arrayTemp(3)=BinaryToString(arrayTemp(3)) 39。轉(zhuǎn)換為文本字符串 13 arrayTemp(1)=Mid(arrayTemp(0),InstrRev(arrayTemp(0),\)+1) 39。 bncrlf amp。并且將文件上傳到文件夾,將文件信息寫入文件信息數(shù)據(jù)表 file_t 中。 1 % 2 dim refreshtime,idletime,totalusers,onlineuser(),tmp(),num,i,id 3 refreshtime=30 4 idletime=refreshtime*3 5 () 6 if application(amp。執(zhí)行郵件發(fā)送 16 39。郵件發(fā)送者的姓名 9 = 39。系統(tǒng)給出密碼問(wèn)題和用戶給出密碼答案是對(duì)數(shù)據(jù)表 user_t 的讀 /寫操作,前面已經(jīng)介紹過(guò)類似的程序,就不再討論,這里給出系統(tǒng)是如何將密碼發(fā)至用戶郵箱的程序: 1 % Set jmail = () 39。039。 where mid=39。下面是標(biāo)記短消息已讀的程序: 1 % 39。 or user=39。 2. 輸入的 Email 是否正確,若 Email 中沒(méi)有 , 符號(hào)位于 Email 的第 一個(gè)字符或者 位于 Email 的最后一個(gè)字符都算錯(cuò)誤。39。 13 sql,conn,3,3 14 if and then 39。驗(yàn)證碼處理 2 If trim((validatecode))=empty or Trim(Session())Trim((validatecode)) Then 3 (請(qǐng)注意正確輸入驗(yàn)證碼 ) 4 5 end if 6 session(user)=(username) 7 user=(username) 8 session(pwd)=(userpwd) 9 pwd=(userpwd) 10 ishidden=(hidden) 11 set rs = () 12 sql=select * from user_t where username=39。 至此,首頁(yè)的主要程序已經(jīng)介紹了,以后章節(jié)是各個(gè)模塊的主要程序。 表 16 短消息信息表 (message_t) 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 mid Int 短消息編號(hào) 主鍵 2 sender Varchar(50) 發(fā)送者 Not null 3 incept Varchar(50) 接受者 Not null 4 title Varchar(255) 主題 Not null 5 content Varchar(255) 內(nèi)容 Not null 6 sendtime Datetime 發(fā)消息時(shí)間 Not null 7 flag bit 是否已讀 Not null 表 17 用戶等級(jí)信息表 (grade_t) 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 gradeid Int 自動(dòng)編號(hào) 主鍵 2 userid Int 用戶編號(hào) Not null 3 postid Int 帖子編號(hào) Not null 4 grade Varchar(255) 等級(jí) Not null 5 point Int 積分 Not null 6 ip Varchar(40) IP Not null 表 18 文件上傳信息表 (file_t) 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 fileid Int 文件編號(hào) 主鍵 2 fname Varchar(100) 文件名 Not null 3 userid Int 用戶編號(hào) Not null 4 ename Varchar(50) 文件擴(kuò)展名 Not null 5 ftype Varchar(255) 文件類型 Not null 6 fsize Varchar(255) 文件大小 Not null 表 19 好友信息表 (friend_t) 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 Fid Int 自動(dòng)編號(hào) 主鍵 2 Userid Int 用戶編號(hào) Not null 3 username Varchar(50) 用戶名 Not null 4 friendid Int 好友編號(hào) Not null 5 frinedname Varchar(50) 好友名 Not null 6 addtime datetime 添加時(shí)間 Not null 表 20 管理員信息表 (admin_t) 序號(hào) 字段名 字段類型 說(shuō)明 備注 1 masterid Int 自動(dòng)編號(hào) 主鍵 2 userid Int 用戶編號(hào) Not null 3 username Varchar(50) 用戶名 Not null 4 boardid Int 版 面編號(hào) Not null 5 flag bit 權(quán)限標(biāo)識(shí) Not null 4 系統(tǒng)實(shí)現(xiàn) 首頁(yè) 當(dāng)用戶打開(kāi)論壇時(shí),首先看到的是論壇首頁(yè),用戶從首頁(yè)可以看到和論壇相關(guān)的并且能激起用戶興趣的東西。 論 壇 系 統(tǒng)用戶模塊公共信息模塊版面瀏覽模塊帖子模塊用戶管理模塊版面管理模塊公共信息管理模塊帖子管理模塊管理員管理模塊前 臺(tái) 模 塊 后 臺(tái) 模 塊 圖 4 系統(tǒng)總體功能 劃分 數(shù)據(jù)庫(kù)設(shè)計(jì) 本論壇使用 Microsoft SQL Server 2021 數(shù)據(jù)庫(kù),下面列出是數(shù)據(jù)庫(kù)設(shè)計(jì)的詳細(xì)。下面就針對(duì)這 5個(gè)對(duì)象劃分功能模塊。用戶的權(quán)限是向下覆蓋的,既管理帖 子 刪除 移動(dòng) 置頂 指定精華 編輯 瀏覽帖子 搜索 回帖 發(fā)帖 用戶 管理員 注冊(cè) 登錄 管理用戶 刪除 設(shè)置權(quán)限 管理員 用戶 上級(jí)權(quán)限包含下級(jí)權(quán)限,在論壇中,管理員是上 級(jí)權(quán)限。分別根據(jù)用戶與這些對(duì)象的聯(lián)系給出一個(gè)明確的菜單 表 2 用戶功能表 序號(hào) 功能名稱 說(shuō)明 1 用戶注冊(cè) 用戶在論壇填寫必要信息就可以成為注冊(cè)用戶,注冊(cè)后,可修改自己的注冊(cè)信息 2 用戶登錄 用戶注冊(cè)后可使用用戶名,密碼登錄,可選擇用戶名,密碼保存期限 3 瀏覽用戶信息 注冊(cè)用戶可查看其它用戶信息 序號(hào) 功能名稱 說(shuō)明 4 與其它用戶聯(lián)系 注冊(cè)用戶可發(fā)站內(nèi)短信 5 瀏覽版面 任何用戶可瀏覽版面信息 6 瀏覽公共信息 任何用戶可瀏覽公共信息 7 瀏覽帖子 任何用戶可瀏覽帖子 8 發(fā)布修改刪除帖子 注冊(cè)用戶登錄后可發(fā)布帖子,修改自己的帖子,刪除自己的帖子 9 對(duì)帖子的特殊操作 主要針對(duì)版主類型的用戶,可對(duì)帖子置頂,設(shè)置精華,刪除帖子,移動(dòng)帖子等操作 接下來(lái)的版面,公共信息,帖子都沒(méi)有和其他對(duì)象的關(guān)聯(lián),它們?cè)谡搲惺潜粍?dòng)對(duì)象,是被其它對(duì)象所操作 。 2. 版面: 表明發(fā)言內(nèi)容的類型。電子論壇也稱為 BBS, BBS 是 Bulletin Board System 的縮寫,意即電子公告牌,一種在 Inter 上常見(jiàn)的用于信息服務(wù)的 Web系統(tǒng),它的主要服務(wù)是用來(lái)幫助瀏覽者相互溝通,吸引用戶,服務(wù)用戶的。 關(guān)鍵詞 : 電子論壇系統(tǒng); ASP; SQL Server 2021 The Design and Implementation of BBS Abstract BBS as an electronic forum on the Inter is a very mon interaction services. Forum provides an open platform to discuss one subject amony izens . Netizens can express their impressions and municate technologies and experience. It also can be used as a channel for the munication between customers with businessmen. The system is developed with ASP and Microsoft SQL Server 2021. In this paper, how to design and implement a BBS is introduced. First, it analyzes the demands for this system, establishes system flowchart, designs system database and analyzes the database structure. Second, it introduces the modules. The way of implementation of each modules is introduced, and the source codes are showed in the end. Key words: BBS。 畢業(yè)設(shè)計(jì) ( 論文 ) 電子論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 論文作者姓名: 申請(qǐng)學(xué)位專業(yè): 申請(qǐng)學(xué)位類別: 指導(dǎo)教師姓名(職稱): 論文提交日期: 電子論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 電子論壇即 BBS 已經(jīng)是互聯(lián)網(wǎng)上的一種極為常見(jiàn)的互動(dòng)交流服務(wù)。 ASP。 技術(shù)的發(fā)展一日千里,尤其是 Web 開(kāi)發(fā)技術(shù)。 3. 公共信息:與論壇相關(guān)的信息。因此針對(duì)它們的主要功能是由其它對(duì)象產(chǎn)生,例如瀏覽版面就是用戶的功能。 論壇的 3 大基本功能的相互關(guān)系如下圖所示。 用戶: 有兩個(gè)模塊,一個(gè)是用戶注冊(cè),登錄,修改信息等功能組合,是用戶對(duì)用戶自身的操作;另一個(gè)是管理員對(duì)用戶進(jìn)行刪除,授權(quán),是管理員對(duì)用戶的發(fā)帖 帖子列表 回帖 瀏覽帖子 操作,如表 5。 1.建立數(shù)據(jù)表間的關(guān)系 本論壇數(shù)據(jù)庫(kù)共有 11個(gè)數(shù)據(jù)表,具體如表 10 所示。比如發(fā)帖數(shù),在線用戶數(shù)以及論壇板塊的情況,如圖 6所示。 數(shù)據(jù)庫(kù)連接函數(shù) SQL Server 數(shù)據(jù)連接要求提供用戶名,密碼,數(shù)據(jù)庫(kù)名及數(shù)據(jù)庫(kù)服務(wù)器地址,下面是使用 ADO 連接數(shù)據(jù)庫(kù)的代碼: 1 % dim conn’ 打開(kāi)數(shù)據(jù)庫(kù)連接 2 set conn = () 3 = dirver ={sql server}。amp。判斷用戶是否存在 15 () 16 else 17 session(userid)=rs(userid) 18 sql1=update user_t set userhidden=39。39。 3. 兩次輸入的密碼是否一致。amp。標(biāo)記短消息已讀 2 abc=request(mid) 3 set rsmessage = () 4 select * from message_t where mid=39。amp。 and incept=39。創(chuàng)建一個(gè) JMAIL 對(duì)象 2 = true 39。郵件發(fā)送者的郵件地址 10 = 1 39。關(guān)閉郵件對(duì)象 % 用戶登錄添加驗(yàn)證碼 使用驗(yàn)證碼,用戶每次登錄時(shí)都不一樣,這樣做的目的是為了防止有人 利用破解程序,暴力破解用戶的密碼。lastaccesstime)=empty then 7 if application(totalusers)=empty then application(totalusers)=0 8 redim tmp(application(totalussers)+1) 9 num=0 10 if application(totalusers)0 then 11 for i=lbound(application(on