畢業(yè)設(shè)計(jì)(論文)基于PHP的校園論壇系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于PHP的校園論壇系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于PHP的校園論壇系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于PHP的校園論壇系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于PHP的校園論壇系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要在這個(gè)信息技術(shù)告訴發(fā)展的時(shí)代,internet成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在政治、經(jīng)濟(jì)、學(xué)習(xí)、生活等各個(gè)方面發(fā)揮著重要的作用。眾所周知,論壇是當(dāng)今網(wǎng)絡(luò)中的知名服務(wù)之一。它開辟了一塊“公共”的空間供所有用戶發(fā)表和讀取信息,允許用戶對(duì)自身感興趣的話題展開討論,從而起到集思廣益的作用。論壇系統(tǒng)的主要功能是:用戶交流、用戶管理、信息分類及查找等。經(jīng)過(guò)分析,使用php+mysql的環(huán)境來(lái)開發(fā)本校園論壇系本論壇是使用php編寫的一個(gè)簡(jiǎn)單實(shí)用的論壇程序。整個(gè)論壇采用基于常見的b/s(browser/server)結(jié)構(gòu),服務(wù)器端包含web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。 關(guān)鍵詞:php;mysq

2、l;apache目 錄1 緒論11.1 課題背景11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3 課題研究?jī)?nèi)容21.4 相關(guān)知識(shí)概述32 可行性分析52.1 技術(shù)可行性分析52.2 經(jīng)濟(jì)可行性分析52.3 實(shí)施可行性分析53 需求分析63.1 總體需求分析63.2 帖子模塊需求分析73.2 用戶模塊需求分析73.4 系統(tǒng)其他需求分析84 系統(tǒng)設(shè)計(jì)94.1 功能設(shè)計(jì)104.2 界面設(shè)計(jì)114.3安全設(shè)計(jì)145 數(shù)據(jù)庫(kù)設(shè)計(jì)155.1 概念結(jié)構(gòu)設(shè)計(jì)155.2 邏輯結(jié)構(gòu)設(shè)計(jì)155.3 物理結(jié)構(gòu)設(shè)計(jì)166 系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)196.1 論壇首頁(yè)設(shè)計(jì)與實(shí)現(xiàn)196.2 版塊內(nèi)主題帖標(biāo)題顯示頁(yè)面設(shè)計(jì)實(shí)現(xiàn)206.3 用戶登陸頁(yè)

3、面設(shè)計(jì)與實(shí)現(xiàn)236.4 版塊添加頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)246.5 新帖保存頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)256.6 帖子編輯頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)257 系統(tǒng)測(cè)試288 結(jié)束語(yǔ)29致 謝30參考文獻(xiàn)30附 錄32附錄a 主要源程序32附錄b 用戶手冊(cè)33附錄c 軟件光盤341 緒論1.1 課題背景internet技術(shù)的發(fā)展至今歷經(jīng)數(shù)載春秋,網(wǎng)站是一種呈現(xiàn)在網(wǎng)絡(luò)上的新興媒體,通過(guò)internet已經(jīng)成為一個(gè)實(shí)時(shí)的,多媒體的信息傳播渠道。它以計(jì)算機(jī)作為載體,依靠網(wǎng)絡(luò)覆蓋全球各個(gè)地方,時(shí)時(shí)刻刻的為人們提供著各種服務(wù).目前人們漸漸的開始把網(wǎng)站稱之為廣播、電視、報(bào)刊意外的第四新聞媒體,以“共享、公平、公正、創(chuàng)新、國(guó)際化、團(tuán)隊(duì)精神”為特

4、征的網(wǎng)絡(luò)文明也已經(jīng)逐漸成為這個(gè)時(shí)代的標(biāo)志,人們?cè)絹?lái)越習(xí)慣于通過(guò)互聯(lián)網(wǎng)來(lái)獲取信息,通過(guò)internet在網(wǎng)站上發(fā)表自己對(duì)社會(huì),對(duì)生活的理解和建議。bbs由此應(yīng)運(yùn)而生,在國(guó)內(nèi)我們一般稱bbs叫做網(wǎng)絡(luò)論壇,早期的bbs和一般街頭和校園內(nèi)的公告板性質(zhì)相同,不同的地方僅僅是bbs通過(guò)計(jì)算機(jī)來(lái)傳播或者獲得消息的。一直到了個(gè)人計(jì)算機(jī)普及的時(shí)代,有些人嘗試著將蘋果計(jì)算機(jī)上的bbs轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,bbs從那個(gè)時(shí)候才開始慢慢的普及起來(lái),近些年以來(lái)由于眾多愛(ài)好者的努力,bbs的功能得到了很大的擴(kuò)充,功能也越來(lái)越豐富。1.2 國(guó)內(nèi)外研究現(xiàn)狀目前,通過(guò)bbs系統(tǒng)可以即時(shí)的獲取國(guó)際最新的軟件和信息,也可以通過(guò)bbs系

5、統(tǒng)來(lái)和別人討論計(jì)算機(jī)軟件、硬件、internet、多媒體、程序設(shè)計(jì)以及醫(yī)學(xué)等等各種有趣的話題,更可以利用bbs系統(tǒng)來(lái)刊登一些“征友”、“廉價(jià)轉(zhuǎn)讓”及“公司產(chǎn)品”等啟示,而且這個(gè)園地就在你我身旁。擁有一臺(tái)可以聯(lián)網(wǎng)的計(jì)算機(jī),就能夠進(jìn)入這個(gè)“超時(shí)代”的領(lǐng)域,進(jìn)而去享用它無(wú)比大的魅力。目前國(guó)內(nèi)外都已經(jīng)迎來(lái)了web2.0時(shí)代,web2.0與傳統(tǒng)的萬(wàn)維網(wǎng)最主要的區(qū)別就是用戶和用戶、產(chǎn)品供應(yīng)商和企業(yè)之間的更大協(xié)作。web1.0時(shí)代,論壇社區(qū)基本滿足網(wǎng)民信息生活的需求,web2.0時(shí)代論壇社區(qū)呈現(xiàn)出了超級(jí)巨大的商業(yè)價(jià)值。當(dāng)社區(qū)的用戶數(shù)量達(dá)到引爆點(diǎn)之后,社區(qū)的流量就會(huì)開始飛速的增長(zhǎng),遠(yuǎn)遠(yuǎn)大于web1.0時(shí)代的網(wǎng)

6、站流量的增長(zhǎng),伴隨這web2.0時(shí)代的到來(lái)bbs正在朝著一下兩個(gè)方面發(fā)展:(1) bbs論壇系統(tǒng)將會(huì)朝著及時(shí)性的方面發(fā)展,現(xiàn)在動(dòng)態(tài)網(wǎng)站的設(shè)計(jì)上出現(xiàn)了一種的新的技術(shù),稱為ajax。在ajax之前,頁(yè)面的部分?jǐn)?shù)據(jù)需要進(jìn)行更新的時(shí)候必須刷新整個(gè)頁(yè)面。而使用ajax技術(shù)的網(wǎng)站,不需要進(jìn)行頁(yè)面的舒心就可以實(shí)現(xiàn)數(shù)據(jù)的即時(shí)更新,這就使得web站點(diǎn)看起來(lái)是即時(shí)響應(yīng)的。將來(lái)可以將ajax技術(shù)運(yùn)用到bbs論壇系統(tǒng)中來(lái),這樣就可以使論壇成員在不用刷新整個(gè)頁(yè)面的情況下,就可以看到別人剛剛發(fā)出的帖子。(2) bbs論壇系統(tǒng)也正在朝著圖形化的方向發(fā)展。圖形虛擬社區(qū)可以非常具體和形象化的模擬整個(gè)現(xiàn)實(shí)社區(qū)的生活,并且具備無(wú)限

7、的可擴(kuò)充性。在論壇中你甚至可以找到和現(xiàn)實(shí)生活完全對(duì)應(yīng)的建筑。通過(guò)一根網(wǎng)線就可以把遠(yuǎn)在天南地北的朋友聚到一起。可以通過(guò)外形來(lái)區(qū)分不同社區(qū)的朋友而不僅僅是通過(guò)id,甚至可以通過(guò)外形的不同來(lái)猜測(cè)對(duì)方的性格,這些都是在傳統(tǒng)的虛擬社區(qū)所不具備的特點(diǎn)。1.3 課題研究?jī)?nèi)容目前網(wǎng)上的網(wǎng)頁(yè)有靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)兩種形式。靜態(tài)網(wǎng)頁(yè)不能自動(dòng)更新,更新只能通過(guò)重新編寫html頁(yè)來(lái)實(shí)現(xiàn),所以靜態(tài)網(wǎng)頁(yè)的制作和維護(hù)的工作量相當(dāng)大。它的內(nèi)容也不會(huì)因用戶、瀏覽時(shí)間的變化而隨之變化,所以實(shí)現(xiàn)人機(jī)交互有相當(dāng)大的局限性,功能上有太多的限制.而動(dòng)態(tài)網(wǎng)頁(yè)的實(shí)現(xiàn)與靜態(tài)網(wǎng)頁(yè)不同,它由客戶端向服務(wù)器提出申請(qǐng),服務(wù)器根據(jù)用戶請(qǐng)求,把動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)部

8、的代碼在服務(wù)器端進(jìn)行相應(yīng)的處理,再把結(jié)果發(fā)回客戶端。因此,動(dòng)態(tài)網(wǎng)頁(yè)有以下特點(diǎn):客戶端看到的不是源文件,本身不用任何處理;不同用戶、不同時(shí)間、不同地點(diǎn)瀏覽同一個(gè)網(wǎng)頁(yè)返回的結(jié)果可以不同;動(dòng)態(tài)網(wǎng)頁(yè)只有經(jīng)過(guò)用戶瀏覽時(shí)才會(huì)返回一個(gè)完整的網(wǎng)頁(yè),而其本身并不是一個(gè)獨(dú)立的網(wǎng)頁(yè)文件;動(dòng)態(tài)網(wǎng)頁(yè)構(gòu)建的網(wǎng)站維護(hù)起來(lái)比較容易,只需更新數(shù)據(jù)庫(kù)內(nèi)容即可。本次畢業(yè)設(shè)計(jì)的校園論壇系統(tǒng)主要是通過(guò)php語(yǔ)言來(lái)設(shè)計(jì)的,該校園論壇系統(tǒng)的主要功能是通過(guò)簡(jiǎn)單的頁(yè)面實(shí)現(xiàn)注冊(cè)用戶的交流,設(shè)計(jì)的內(nèi)容包括通過(guò)制作直觀的論壇頁(yè)面,展現(xiàn)論壇中的各個(gè)元素,包括版塊,主題還有帖子的現(xiàn)實(shí)頁(yè)面等等,讓用戶通過(guò)輕松的方式實(shí)現(xiàn)與對(duì)方的交流。1.4 相關(guān)知識(shí)概述p

9、hp是英文超文本預(yù)處理語(yǔ)言hypertext preprocessor的縮寫。php是一種html內(nèi)嵌式的語(yǔ)言,是一種在服務(wù)器段執(zhí)行的嵌入html文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格類似于c語(yǔ)言,被廣泛的運(yùn)用在web開發(fā)上。php獨(dú)特的語(yǔ)法混合了c,java,perl以及php自創(chuàng)的語(yǔ)法。它可以比cgi或者perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用php做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,php是將程序嵌入到html文檔中去執(zhí)行,執(zhí)行效率比完全生成html標(biāo)記的cgi要高許多;php還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。mysql是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典mysql ab公

10、司開發(fā),目前屬于oracle公司。mysql是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。mysql的sql語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。apache http server是apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的web服務(wù)器端軟件之一。它快速、可靠并且可通過(guò)簡(jiǎn)單的api擴(kuò)展,將perl/python等解釋器編譯到服務(wù)器中。phpmyadmin 是一個(gè)以php為基礎(chǔ),以web-base方式架構(gòu)在網(wǎng)站主機(jī)上的mysql的

11、數(shù)據(jù)庫(kù)管理工具,讓管理者可用web接口管理mysql數(shù)據(jù)庫(kù)。借由此web接口可以成為一個(gè)簡(jiǎn)易方式輸入繁雜sql語(yǔ)法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個(gè)更大的優(yōu)勢(shì)在于由于phpmyaadmin跟其他php程式一樣在網(wǎng)頁(yè)服務(wù)器上執(zhí)行,但是您可以在任何地方使用這些程式產(chǎn)生的html頁(yè)面,也就是于遠(yuǎn)端管理mysql數(shù)據(jù)庫(kù),方便的建立、修改、刪除數(shù)據(jù)庫(kù)及資料表。也可借由phpmyadmin建立常用的php語(yǔ)法,方便編寫網(wǎng)頁(yè)時(shí)所需要的sql語(yǔ)句。2 可行性分析校園論壇系統(tǒng)是基于web網(wǎng)頁(yè),無(wú)需專用客戶端即可為用戶提供簡(jiǎn)潔的聊天交流界面,用戶通過(guò)發(fā)貼回帖的方式在論壇中進(jìn)行學(xué)習(xí)生活等方

12、面的交流,結(jié)合管理員在線對(duì)論壇信息進(jìn)行實(shí)時(shí)調(diào)整管理,從而成為最為穩(wěn)定的一個(gè)校園交流平臺(tái)。2.1 技術(shù)可行性分析主要需要解決的問(wèn)題是使用現(xiàn)在存在的技術(shù)是否能夠順利實(shí)現(xiàn)本次畢業(yè)設(shè)計(jì)整個(gè)的論壇系統(tǒng)制作過(guò)程在一般的計(jì)算機(jī)上即可順利進(jìn)行,所以,現(xiàn)有的軟件和硬件,在現(xiàn)有的技術(shù)和硬件的支持上可以實(shí)現(xiàn)本次畢業(yè)設(shè)計(jì)的制作。2.2 經(jīng)濟(jì)可行性分析php、mysql、apache、phpmyadmin均是免費(fèi)開源的軟件,可以方便快捷的在計(jì)算機(jī)中布置php開發(fā)環(huán)境。2.3 實(shí)施可行性分析制作可行性是預(yù)測(cè)本次畢業(yè)設(shè)計(jì)制作的校園論壇系統(tǒng)網(wǎng)站在制作過(guò)程當(dāng)下的硬件環(huán)境和技術(shù)能力下是否能夠行得通。本次畢業(yè)設(shè)計(jì)通過(guò)簡(jiǎn)潔的論壇界面

13、制作,為注冊(cè)用戶提供便捷的交流服務(wù),借鑒資料和互聯(lián)網(wǎng)上提供的技術(shù),并在其基礎(chǔ)上進(jìn)行進(jìn)一步的優(yōu)化。綜上所訴,本次設(shè)計(jì)基本可以實(shí)施。3 需求分析近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來(lái)了很多便利,比如人們借助于網(wǎng)絡(luò)進(jìn)行相互交流變得更加方便。因此,交流工具作為互聯(lián)網(wǎng)中運(yùn)用最為廣泛的通信工具之一。校園論壇開辟了一塊“公共”的空間供所有同學(xué)發(fā)表和讀取信息,允許本學(xué)院同學(xué)對(duì)自身感興趣的話題展開討論,從而起到集思廣益的作用。因此希望通過(guò)本校園論壇,幫助學(xué)院在交流方面更好的進(jìn)行,在有限的成本范圍內(nèi)讓所有的同學(xué)對(duì)交流滿意。3.1 總體需求分析論壇前臺(tái)為注冊(cè)用戶提供登陸,帖子瀏覽,帖子管理,帖子發(fā)表,帳號(hào)

14、信息更改等功能,為游客提供注冊(cè)、帖子瀏覽,開放版塊的帖子發(fā)表;論壇后臺(tái)為管理員用戶提供注冊(cè)用戶管理、版塊管理、修改資料等功能。系統(tǒng)流程分析如圖3.1所示。圖3.1 校園論壇系統(tǒng)流程圖3.2 帖子模塊需求分析帖子類有瀏覽、發(fā)帖、回帖和編輯四個(gè)方法,瀏覽方法又可以分為列表和查看兩個(gè)子方法,管理方法有可疑分為編輯、刪除、置頂三個(gè)子方法。如圖3.2所示,只有管理員和發(fā)帖用戶有權(quán)限管理帖子。圖3.2 帖子對(duì)象用例圖3.2 用戶模塊需求分析 根據(jù)校園論壇系統(tǒng)功能需求分析,按照實(shí)現(xiàn)功能來(lái)劃分,主要包括兩大模塊:普通用戶模塊和管理員模塊。用戶模塊中的主要功能包括如下用戶注冊(cè):新用戶輸入相應(yīng)的信息,進(jìn)行注冊(cè)。用

15、戶登陸:用戶輸入用戶名,密碼,用來(lái)進(jìn)行身份確認(rèn)。個(gè)人信息查詢:用戶可以查詢自己的信息。個(gè)人信息修改:用戶可以修改自己的信息。發(fā)表、修改文章:用戶可以查看有權(quán)限的文章,并且可以發(fā)表和修改自己的文章。管理員想要登錄后臺(tái)以管理校園論壇,為了校園論壇的安全,這里特別用單獨(dú)的一個(gè)模塊為管理員登錄,管理員進(jìn)入后,則必須輸入正確用戶名和密碼來(lái)獲得驗(yàn)證。在這個(gè)管理員的管理模塊中,可以實(shí)現(xiàn)管理員的管理。對(duì)與和多的論壇,都有多個(gè)管理員,但是在本校園論壇系統(tǒng)中,只設(shè)置了一個(gè)管理員。其管理的權(quán)限如下:管理版塊:論壇版塊的添加、刪除、修改功能;管理帖子:用戶帖的編輯、刪除的權(quán)限管理用戶:用戶信息的修改、添加、刪除。瀏覽

16、論壇的模塊:瀏覽所有的論壇版塊,包括有權(quán)限限制的發(fā)帖子:正常注冊(cè)用戶的發(fā)帖功能瀏覽論壇的帖子,回貼。 圖3.3 用戶對(duì)象用例圖3.4 系統(tǒng)其他需求分析操作的簡(jiǎn)易、實(shí)用性是本系統(tǒng)針對(duì)用戶大多是學(xué)生,教師。因此,操作的簡(jiǎn)易實(shí)用性就體現(xiàn)的尤其重要。在此系統(tǒng)的開發(fā)中就體現(xiàn)了這一點(diǎn),系統(tǒng)的界面美觀,樸實(shí),充滿了校園文化;用戶使用簡(jiǎn)單。對(duì)于一個(gè)校園論壇系統(tǒng)而言,論壇信息是較多,使用人數(shù)較多,所以對(duì)系統(tǒng)的安全性有比較高的要求:對(duì)于數(shù)據(jù)庫(kù),要設(shè)置不同用戶的權(quán)限,數(shù)據(jù)的修改必須由合法用戶操作。4 系統(tǒng)設(shè)計(jì)根據(jù)上節(jié)的系統(tǒng)分析可以知道,可以將整個(gè)論壇的功能分為前臺(tái)和后臺(tái)兩個(gè)部分,因此模塊也分為兩大類:前臺(tái)模塊和后臺(tái)

17、模塊。用戶在前臺(tái)的注冊(cè)、登陸以及修改個(gè)人的注冊(cè)信息組合成注冊(cè)登陸模塊:用戶瀏覽模塊、瀏覽主題帖列表、查看帖子組合成瀏覽模塊;用戶發(fā)帖、回帖、編輯自己的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子和置頂帖子組合成管理帖子模塊。以上是四個(gè)模塊組成前臺(tái)的功能模塊。后臺(tái)模塊都是與管理員相關(guān)的,設(shè)置論壇參數(shù)單獨(dú)為后臺(tái)設(shè)置模塊;創(chuàng)建、修改和刪除版塊為管理版塊模塊;添加、刪除和設(shè)置權(quán)限為管理用戶模塊。如圖4.1所示的是論壇的模塊體系圖。圖4.1論壇的模塊體系圖4.1 功能設(shè)計(jì) 對(duì)于注冊(cè)用戶,在論壇系統(tǒng)中需要的功能為:注冊(cè)個(gè)人身份,登陸論壇,成功后可以修改自己的注冊(cè)信息,這些行為只與用戶自身相關(guān),設(shè)計(jì)成注

18、冊(cè)登陸模塊;瀏覽版塊列表,選擇某版塊,顯示其下面的主題帖子列表,查看帖子內(nèi)容。這些行為是用戶讀取論壇的版塊及帖子的相關(guān)信息,設(shè)計(jì)成瀏覽模塊;發(fā)表自己的帖子,回復(fù)已有的帖子,同時(shí)也可以編輯自己的帖子。這些行為是用戶參與論壇討論,發(fā)表自己簡(jiǎn)介的,設(shè)計(jì)為發(fā)帖回帖模塊。 對(duì)于管理員用戶,需要負(fù)責(zé)整個(gè)論壇的正常運(yùn)轉(zhuǎn),因此需要更多的管理功能,歸納為:具備注冊(cè)用戶的功能,即管理員也是論壇用戶;管理帖子,管理員對(duì)論壇的帖子有監(jiān)督的權(quán)利,好的帖子要獎(jiǎng)勵(lì),壞的帖子要及時(shí)刪除,置頂帖子,這些行為都是對(duì)帖子的操作,設(shè)計(jì)成管理帖子模塊;管理版塊,論壇建設(shè)成功后,需要管理員進(jìn)行創(chuàng)建、修改版塊信息,設(shè)計(jì)成管理版塊模塊;管理

19、用戶,用戶注冊(cè)成功后,需要管理員賦予權(quán)限,才能使用論壇的相關(guān)功能。同時(shí),管理員可以自主添加、刪除用戶,這些針對(duì)用戶信息的操作,設(shè)計(jì)成管理用戶模塊。通過(guò)分析得到用戶整體用例圖,如圖4.2所示:圖4.2用戶整體用例圖4.2 界面設(shè)計(jì)論壇主頁(yè)面index.php用于顯示當(dāng)前論壇中版塊列表如圖4.3所示。4.3 論壇主頁(yè)面index.php論壇主題帖列表顯示頁(yè)面forums.php如圖4.4所示。圖4.4 論壇主題帖列表顯示頁(yè)面forums.php論壇帖子內(nèi)容及回帖查看頁(yè)面如圖4.5所示如圖4.5 帖子內(nèi)容及回帖頁(yè)面thread.php發(fā)新帖頁(yè)面如圖4.6所示圖4.6 登陸用戶發(fā)帖頁(yè)面用戶登陸頁(yè)面如圖

20、4.7所示圖4.7 用戶登陸界面login.php4.3安全設(shè)計(jì)論壇系統(tǒng)存儲(chǔ)了大量的敏感數(shù)據(jù),它關(guān)系到管理員和普通用戶雙方的利益,系統(tǒng)運(yùn)行的過(guò)程中,論壇管理員和用戶的操作都要涉及到這些敏感數(shù)據(jù)的處理,所以本論壇對(duì)系統(tǒng)的安全行要求非常高,數(shù)據(jù)庫(kù)的安全保密就是保證數(shù)據(jù)庫(kù)信息的完整,防止非授權(quán)用戶竊取或者篡改數(shù)據(jù)信息。為了保證本系統(tǒng)數(shù)據(jù)庫(kù)的安全,主要采用了論壇用戶的安全管理、身份認(rèn)證和加密技術(shù)等安全機(jī)制來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全。mysql server主要完成對(duì)數(shù)據(jù)庫(kù)對(duì)象的存儲(chǔ)、管理、接收?qǐng)?zhí)行客戶機(jī)上傳來(lái)的數(shù)據(jù)指令,并將執(zhí)行結(jié)果反饋給客戶機(jī),在實(shí)現(xiàn)安全管理中支持多級(jí)安全管理機(jī)制,即在進(jìn)入系統(tǒng)前,需要驗(yàn)證用

21、戶名和密碼。建立數(shù)據(jù)庫(kù)安全管理,對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取時(shí)候,對(duì)不同的用戶給予不同的權(quán)限,以限制不同用戶操作數(shù)據(jù)庫(kù)的權(quán)限等。論壇系統(tǒng)安全性的實(shí)現(xiàn)包括:安全管理,由于系統(tǒng)用戶種類較多,由管理員負(fù)責(zé)數(shù)據(jù)庫(kù)結(jié)構(gòu)的維護(hù)、管理等工作。其他用戶只能使用數(shù)據(jù)庫(kù)中的數(shù)據(jù),但是不能更改數(shù)據(jù)庫(kù)的結(jié)構(gòu)。用戶身份認(rèn)證,論壇中包含大量的敏感數(shù)據(jù),為了保證系統(tǒng)數(shù)據(jù)在存儲(chǔ)和網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中,不被未授權(quán)用戶訪問(wèn)或者解讀,需用用戶名來(lái)標(biāo)明用戶身份,經(jīng)系統(tǒng)鑒別用戶的合法性后,再利用口令進(jìn)一步核實(shí)用戶身份,為保證口令的安全,在口令的提交過(guò)程中,不采用明文形式,即:先對(duì)用戶口令進(jìn)行加密然后在傳輸?shù)綌?shù)據(jù)庫(kù)中以密文的方式存儲(chǔ),這樣就可以保證他的

22、安全性。5 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是整個(gè)論壇系統(tǒng)的核心,負(fù)責(zé)對(duì)論壇需要信息的收集組織,存儲(chǔ),加工,抽取和傳播等功能。數(shù)據(jù)庫(kù)的設(shè)計(jì)關(guān)系系統(tǒng)的好壞,因此要做好論壇系統(tǒng),首先就要有科學(xué)的方法進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)。5.1 概念結(jié)構(gòu)設(shè)計(jì)根據(jù)對(duì)數(shù)據(jù)流和外部實(shí)體,數(shù)據(jù)庫(kù)所涉及到的實(shí)體及屬性的分析,得出e-r圖如圖5.1所示。圖5.1數(shù)據(jù)庫(kù)設(shè)計(jì)e-r圖5.2 邏輯結(jié)構(gòu)設(shè)計(jì)1、 e-r圖向關(guān)系數(shù)據(jù)模型轉(zhuǎn)換定義一個(gè)關(guān)系模型是一個(gè)二維表r(a1,a1,an),其中r為關(guān)系名,ai為屬性名。確切的說(shuō),一個(gè)關(guān)系模型對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)基表。邏輯結(jié)構(gòu)設(shè)計(jì)首先是把基本的e-r圖像關(guān)系數(shù)據(jù)模型轉(zhuǎn)換,最簡(jiǎn)單的轉(zhuǎn)換可以將基本e-r圖中的每個(gè)實(shí)體

23、定義為一個(gè)關(guān)系模型,一個(gè)聯(lián)系也是一個(gè)關(guān)系,從而得到關(guān)系模型。關(guān)系中每個(gè)屬性都是不可分割的數(shù)據(jù)項(xiàng),不允許表中有表;一個(gè)關(guān)系只是描述一個(gè)信息實(shí)體,或者實(shí)體中的一種聯(lián)系。2、 規(guī)范化規(guī)范化是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的指南和工具,它貫穿數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中的數(shù)據(jù)分析、基本的e-r圖的設(shè)計(jì)和邏輯設(shè)計(jì)。特別在邏輯設(shè)計(jì)中,通過(guò)對(duì)關(guān)系模型r(a1,a2an)的函數(shù)依賴進(jìn)行模式分解??梢韵庐惓#?dāng)然有時(shí)為了提高查詢速度,也可以犧牲規(guī)范化程度。5.3 物理結(jié)構(gòu)設(shè)計(jì)本論壇數(shù)據(jù)庫(kù)使用mysql建立,使用可視化的mysql管理工具phpmyadmin創(chuàng)建相關(guān)數(shù)據(jù)表。論壇版塊表(forums):該表包含版塊id,版塊名稱,版塊描

24、述,最后更新作者,最后更新時(shí)間,版塊序號(hào),游客權(quán)限。如表5.1所示表5.1 forums表字段類型長(zhǎng)度描述idint11版塊號(hào)forum_namevarchar50版塊名稱forum_descriptionvarchar200版塊描述last_post_authorvarchar50最后更新作者last_post_timedatetime最后更新時(shí)間forum_ordertinyint3版塊序號(hào)isguesttinyint3游客權(quán)限判斷 會(huì)員表(member):該表包含用戶id,用戶組id,用戶名,真實(shí)用戶名,電子郵件,簽名,主頁(yè),qq號(hào)碼,msn號(hào)碼,注冊(cè)時(shí)間,發(fā)帖數(shù)量。如表5.2所示。表5

25、.2 member表字段類型長(zhǎng)度描述idint11用戶idgroupidtinyint3用戶組idusernamevarchar50用戶名real_namevarchar50真實(shí)用戶名emailvarchar50電子郵件headingvarchar50簽名homepagevarchar50主頁(yè)qqint10qq號(hào)碼msnvarchar50msn帳號(hào)jointimedatetime注冊(cè)時(shí)間no_of_postsmallint6發(fā)帖數(shù)量signvarchar200備注 主題表(topic):該表包含主題帖id,帖子標(biāo)題,作者,最后更新作者,最后更新時(shí)間,點(diǎn)擊量,回復(fù)量,置頂標(biāo)志,頭像標(biāo)志,好帖標(biāo)志

26、,所在版塊號(hào)。如表5.3所示。表5.3 topic表字段類型長(zhǎng)度描述idint11主題帖idtitlevarchar100帖子標(biāo)題authorvarchar50作者last_post_authorvarchar50最后更新用戶名last_post_timedatetime最后更新時(shí)間no_of_hitsmallint6點(diǎn)擊量no_of_replymediumint6回復(fù)量lockedtinyintt置頂facevarchar50頭像topictinyint3主題goodtinyint3精華帖標(biāo)志forum_idmediumint200所在版塊回帖表(forums):該表包含回帖id,主題帖id

27、,版塊描述,最后更新作者,最后更新時(shí)間,版塊序號(hào),游客權(quán)限。如表5.4所示表5.4 thread表字段類型長(zhǎng)度描述idint11帖子idtopicidtinyint3主題帖idfacevarchar50頭像titlevarchar50標(biāo)題authorvarchar50作者post_timevarchar50回復(fù)時(shí)間subjectvarchar50回復(fù)主題6 系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 本校園論壇系統(tǒng)采用dw+php設(shè)計(jì)制作。6.1 論壇首頁(yè)設(shè)計(jì)與實(shí)現(xiàn) 論壇首頁(yè)用于讀取當(dāng)前論壇中forums表中的論壇版塊的相關(guān)數(shù)據(jù),將其顯示在頁(yè)面上,并為每一個(gè)版塊生成一個(gè)連接,用戶可以通過(guò)鏈接進(jìn)入當(dāng)前版塊,查看此版塊下

28、面的主題貼,若當(dāng)前數(shù)據(jù)庫(kù)中不存在任何版塊頁(yè)面將會(huì)顯示論壇正在建設(shè)中。實(shí)現(xiàn)代碼如下。  論壇列表 ?phpsession_start(); if(!isset($_sessionusername)|!isset($_sessionislogined)echo登陸 注冊(cè);elseecho $_sessionusername.,我的資料 注銷;if($_sessiongroupid=2) echo 論壇管理;? 狀態(tài)論壇最后更新0)while($row=mysql_fetch_array($result)?php echo .$rowforum_name.$rowforum_descrip

29、tion ?phpelseecho 對(duì)不起,論壇尚在建設(shè)中;close_db();?6.2 版塊內(nèi)主題帖標(biāo)題顯示頁(yè)面設(shè)計(jì)實(shí)現(xiàn) 主題帖顯示頁(yè)面用于顯示當(dāng)前所在版塊中所有的主題帖子,考慮到了板塊下會(huì)存在很多的主題帖子,本頁(yè)面使用了數(shù)據(jù)分頁(yè)功能,每頁(yè)顯示20條數(shù)據(jù),定義每頁(yè)顯示內(nèi)容多少的變量存儲(chǔ)在global.php文件中,通過(guò)修改其中的list_rows可以控制每頁(yè)現(xiàn)實(shí)主題帖的數(shù)量,分頁(yè)主要通過(guò)數(shù)據(jù)查詢是的顯示結(jié)果限制,并在頁(yè)面的右下方生成分頁(yè)跳轉(zhuǎn)的鏈接。實(shí)現(xiàn)代碼如下。?phprequire_once(conn.php);require_once(global.php);function show

30、_pages($number,$f,$intpage,$list_rows)$pageno=ceil($number/$list_rows);echo n;echo n n n ;echo 第.$intpage.頁(yè)/共.$pageno.頁(yè);if($pageno1)echo n ;if($intpage1)echon;if($pageno10)$a=floor($pageno/10);$b=floor($intpage/10);$c=$b*10+1;$d=$b*10+10;$e=$intpage%10;$g=($b-1)*10+1;if($intpage10)if($b$a)for($i=$c;

31、$i=$d;$i+) echo n .$i.;elseif($e=0)for($i=$g;$i=$intpage;$i+) echo n .$i.;elsefor($i=$c;$i=$pageno;$i+) echo n .$i.;elsefor($i=1;$i=10;$i+)echo n .$i.;elsefor($i=1;$i=$pageno;$i+)echo n .$i.;if($pageno$intpage)echo n ;if($pageno1)echo n ;echo n ;echo n;$f=$_getf;$sql=select forum_name from forums wh

32、ere id=$f;$result=mysql_query($sql);$rs=mysql_fetch_array($result);$forum_name=$rsforum_name;echo 當(dāng)前論壇為:$gb_name-$forum_name;? ?phpsession_start(); if(!isset($_sessionusername)|!isset($_sessionislogined)echo登陸 注冊(cè);、elseecho $_sessionusername.,我的資料 注銷;if($_sessiongroupid=2) echo 論壇管理;?   狀態(tài)帖子標(biāo)題作者

33、瀏覽/回復(fù)最后編輯?php echo .$title. ?6.3 用戶登陸頁(yè)面設(shè)計(jì)與實(shí)現(xiàn) 用戶登陸頁(yè)面用于實(shí)現(xiàn)用戶登陸的功能,在有權(quán)限限制的版塊中,只有登陸用戶,才可以在論壇中發(fā)帖。用戶登錄時(shí)需要通過(guò)表單傳送值到數(shù)據(jù)庫(kù)中進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則顯示用戶登陸成功,并且通過(guò)session保存當(dāng)前用戶的登陸狀態(tài)。實(shí)現(xiàn)的代碼如下。usernamepassword?phpsession_start();require_once(conn.php);$username=$_postusername;$password=$_postpassword;$sql=select * from member wh

34、ere username=$username;$result=mysql_query($sql);$num=mysql_num_rows($result); if($num)$rs=mysql_fetch_array($result);if($rspassword!=md5($password)echoalert(密碼不正確,請(qǐng)返回檢查!);location.href=login.php;else$_sessionusername=$username;$_sessiongroupid=$rsgroupid;$_sessionislogined=ok;echoalert(登陸成功!);locat

35、ion.href=index.php;elseechoalert(沒(méi)有這個(gè)用戶,請(qǐng)返回檢查!);location.href=login.php;?6.4 版塊添加頁(yè)面設(shè)計(jì)與實(shí)現(xiàn) 版塊添加頁(yè)面主要實(shí)現(xiàn)的功能是接受表單所傳送過(guò)來(lái)的值,表單的值通過(guò)post方式傳送,本頁(yè)面主要將接受到的值提交到數(shù)據(jù)庫(kù)中保存。需要接受并保存到數(shù)據(jù)庫(kù)的值有forums_name(版塊名),forum_description(版塊描述),forums_order,isguest。主要實(shí)現(xiàn)代碼如下。6.5 新帖保存頁(yè)面設(shè)計(jì)與實(shí)現(xiàn) 新帖保存頁(yè)面負(fù)責(zé)接收創(chuàng)建新帖頁(yè)面表單中通過(guò)post方式傳來(lái)的相關(guān)值,包括帖子的標(biāo)題,內(nèi)容等,作者

36、信息首先通過(guò)session檢查是否有用戶登陸,若沒(méi)有,返回登陸界面,若有,則將所有信息包括標(biāo)題,內(nèi)容,作者,時(shí)間等信息插入thread表中。主要實(shí)現(xiàn)代碼如下。?phpsession_start();require_once (global.php);require_once (conn.php); $f=$_postf;$title=$_posttitle;$content=$_postcontent;$author=$_sessionusername;$result=mysql_fetch_array(mysql_query(select isguest from forums where id=$f);$isguest=$resultisguest;if($isguest=0)if(empty($_sessionusername)|empty($_sessionislogined)echo alert(您尚未登陸,請(qǐng)先登陸!);location=login.php;exit(); $sql=insert into topic (title,author,last_post_author,last_post_time,no_of_hit,no_of_reply,locked,topic,good,forum_id) valu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論