

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
安徽工業(yè)大學(xué)
┊
┊ 畢業(yè)設(shè)計(論文)任務(wù)書
┊
┊
┊ 課題名稱 程序設(shè)計論壇網(wǎng)站的設(shè)計與實現(xiàn)
┊
┊
┊
┊ 學(xué) 院 計算機
┊
┊ 專業(yè)班級 網(wǎng)絡(luò)工程062
┊
┊ 姓 名 邢琳
裝
┊ 學(xué) 號 069074273
┊
┊ 畢業(yè)設(shè)計(論文)的主要內(nèi)容及要求:
┊ 1、認真復(fù)習(xí)軟件工程、數(shù)據(jù)庫、計算機網(wǎng)絡(luò)等相關(guān)知識。
┊ 2、學(xué)習(xí)和熟悉PHP動態(tài)網(wǎng)頁設(shè)計技術(shù)。
訂 3、按照軟件工程的要求,對程序設(shè)計論壇網(wǎng)站進行詳細的需求分析,在此基礎(chǔ)上,
┊ 進行功能設(shè)計、界面設(shè)計,最后編碼調(diào)試實現(xiàn)。要求能夠?qū)崿F(xiàn)用戶在線瀏覽論壇
┊ 帖子,分主題發(fā)表帖子和回復(fù)等功能。
┊ 4、完成畢業(yè)論文的撰寫、修改和定稿。
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第I 頁
摘要
現(xiàn)在互聯(lián)網(wǎng)已經(jīng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,論壇是
Internet 上最常用的交流工具之一,越來越多的人開始把論壇作為他們獲取信息的
┊ 手段和交流的平臺。
┊ 本畢業(yè)設(shè)計就是基于PHP+MySQ的L論壇設(shè)計,以PHPExpertEditor 作為開發(fā)基
┊
┊ 礎(chǔ),采用WAMP架構(gòu),輔用CSS技術(shù),并通過使用模板技術(shù),在Apache本地服務(wù)器上
┊ 實現(xiàn)了較完整的論壇功能。PHP語言執(zhí)行效率高并易于同數(shù)據(jù)庫連接, MySQL數(shù)據(jù)庫
┊ 訪問速度快、穩(wěn)定性好。
┊ 該論壇主要用來為用戶提供一個計算機程序語言的交流環(huán)境,學(xué)習(xí)資料的共享,
┊ 各類計算機程序技術(shù)的討論,問題的求助都可以在論壇上發(fā)布,該論壇主要包括前臺
┊ 和后臺兩大部分,前臺主要實現(xiàn)用戶管理和帖子管理,前者包括用戶注冊、用戶登錄、
┊
┊ 用戶密碼找回、用戶信息修改等;后者包括包括帖子內(nèi)容顯示、帖子發(fā)布和回復(fù)信息
┊ 等。后臺主要實現(xiàn)管理員對論壇系統(tǒng)的維護。
┊裝
┊
┊ 關(guān)鍵詞:論壇;PHP;Apache;MySQL;模板
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第II 頁
Abstract
NowadaystheInternet hasbecomeanimportant channelfor peopletogain,
publish andtransfer information ontheInternet, BBSisoneofthemostcommon
┊ communicationtools,more andmorepeoplemakeBBSastheplatformto obtain
┊
┊ informationandcommunicatewitheachother.
┊ Thisdesignis basedontheBBS+MySQL,usingPHPExpertEditor asexploited
┊ foundation, adopting WAMParchitecture,complementary with CSStechnique and
┊ throughtheuseoftemplatetechonolgy,itrealizedalmostcompletelyBBS
┊ functions in Apache local server. The efficiency of PHPlanguage
┊ implementationishighanditiseasytoconnectwithMySQLdatabaseaccess
┊ whichisfastspeedandgoodstability.
┊
┊ ThisBBSismainly usedtoprovide usersacomputerprogramminglanguage
┊ enviromenttoexchange,shareinformationandallkindsofdiscussionabout
┊ computerprogramtechnologyandquestionscanpostontheBBS.ThisBBS
裝 includes two parts:forestage and backstage.Forestage is mainly used to
┊ realiseusermangement,includingtheuserregistration,userlogin,user
┊ passwordretrievedanduserinformationmodificationetc.Backstagemainly
┊
┊ realizestheBBSsystemadministratorformaintenance.
┊訂
┊
┊ Keywords:BBS;PHP;Apache;MySQL;Template
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第III 頁
目錄
1.1
課題的研究意義
1
1.2
課題的研究現(xiàn)狀
1
1.3
論文的研究內(nèi)容
1
1緒論 1
┊
┊
┊ 1.4 系統(tǒng)的設(shè)計思路 2
┊ 2理論基礎(chǔ) 3
┊ 2.1WAMP架構(gòu)介紹 3
┊ 2.1.1WAMP架構(gòu)的提出 3
┊ 2.1.2WAMP架構(gòu)的優(yōu)勢 3
┊ 2.1.3WAMP架構(gòu)的研究現(xiàn)狀 3
┊ 2.2PHP技術(shù) 3
┊ 2.2.1PHP技術(shù)概述 3
┊ 2.2.2PHP技術(shù)特點 4
┊
┊ 2.3MySQL數(shù)據(jù)庫技術(shù) 5
裝 2.3.1MySQL數(shù)據(jù)庫概述 5
┊ 2.3.2MySQL圖形管理工具phpMyAdmin 6
┊ 2.4論壇采用B/S架構(gòu) 7
┊ 3總體設(shè)計 8
┊ 3.1論壇可行性分析 8
┊ 3.2 論壇需求分析 8
訂 3.3 功能模塊的設(shè)計 11
┊
┊ 3.4 論壇系統(tǒng)數(shù)據(jù)庫的設(shè)計策略 13
┊ 3.4.1 概念結(jié)構(gòu)設(shè)計 13
┊ 3.4.2 邏輯結(jié)構(gòu)設(shè)計 15
┊ 4 論壇系統(tǒng)詳細設(shè)計 21
線 4.1 數(shù)據(jù)庫的訪問 21
┊ 4.2CSS樣式表的使用 22
┊ 4.3 論壇系統(tǒng)功能的實現(xiàn) 22
┊ 4.3.1 系統(tǒng)功能 22
┊ 4.3.2 普通用戶功能 23
┊ 4.3.3 版主功能 27
┊ 4.3.4 管理員功能 29
┊ 4.4 數(shù)據(jù)的安全性研究與實現(xiàn) 30
┊ 4.4.1 論壇系統(tǒng)的安全體系 30
┊ 4.4.2 論壇系統(tǒng)安全性的實現(xiàn) 31
┊
┊ 5論壇系統(tǒng)性能優(yōu)化 32
┊ 5.1 論壇系統(tǒng)測試 32
┊ 第IV 頁
5.2模板技術(shù)在論壇中的應(yīng)用 33
6結(jié)束語 36
致謝. 37
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 第V 頁
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
共43
第
PAGE
7
頁
頁
1緒論
1.1課題的研究意義
┊ 隨著我國改革的深入和發(fā)展,公共傳媒的發(fā)展也日新月異。人們己經(jīng)不單單只從
┊ 電視、報紙上得到需要的新聞報道,Internet傳播介質(zhì)的出現(xiàn)使得人們能夠從更加豐
┊ 富的網(wǎng)絡(luò)資源中得到自己想要的信息。論壇是 Internet上最常用的交流工具之一,越
┊
┊ 來越多的人開始把論壇作為他們獲取信息的手段和交流的平臺。
┊ 論壇系統(tǒng)已經(jīng)成為互聯(lián)網(wǎng)上人與人之間交互的必備工具, 特別是做網(wǎng)站必備。以
┊ 前我們一直使用留言本形式。論壇與留言薄的區(qū)別在于論壇上的消息是分層次的。 每
┊ 個人都可以在論壇上發(fā)表信息,別人可以回復(fù)這條消息?;貜?fù)消息與被回復(fù)消息之間
┊ 存在一種“父子”關(guān)系。如果將最上層的消息當(dāng)作“根消息” ,則每一條子消息都有
┊ 一個唯一的“父”消息。因此,論壇用做發(fā)表意見的場合是最合適的,因為可以從中
┊
┊ 看到不同消息之間的關(guān)系,訪問者不至于在瀏覽時因為頭緒太亂而迷失方向。
┊ 由于論壇系統(tǒng)的論壇作為人們?nèi)粘I瞰@取信息的手段和交流的平臺, 因此本文裝 研究論壇系統(tǒng)的開發(fā)具有重要的實踐意義。
┊ 1.2課題的研究現(xiàn)狀
┊ 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,現(xiàn)在的論壇系統(tǒng)功能越來越多,不但可以發(fā)帖回帖,還
┊ 可以上傳視頻和提供下載等等。有的論壇系統(tǒng)為了達到更好的用戶體驗,在實現(xiàn)了基
┊
┊ 本的討論功能后,設(shè)計了很多個性化的功能,比如在論壇中設(shè)置了“個人空間”、“加
訂 為好友”等功能,還有的論壇系統(tǒng),通過提供免費的空間來增加論壇的發(fā)帖量。
┊ 當(dāng)然有些論壇系統(tǒng)的個性化功能設(shè)計新穎,也非常有使用價值,但有些個性化功
┊ 能的設(shè)計卻既沒有多少使用價值,同時又大大的影響了系統(tǒng)的性能。以目前許多學(xué)生
┊ 自主創(chuàng)辦的論壇為例,都因盲目重視功能,忽略了性能,系統(tǒng)運行一段時間后都因性
┊ 能問題不得不更換其他論壇系統(tǒng),每更換一次,論壇的數(shù)據(jù)就全部丟失。由此可見,
┊ 實現(xiàn)一個論壇系統(tǒng)如果只重視功能而忽略性能,破壞的影響是非常嚴重的。線
┊ 經(jīng)過對一些目前國內(nèi)外比較典型的 BBS論壇系統(tǒng)的設(shè)計和實現(xiàn)方式的分析,本文
┊ 認為去掉系統(tǒng)不必要的個性化功能,實現(xiàn)一個性能好、速度快、安全性高并且基本功
┊ 能完善的論壇系統(tǒng)是很必要的。
┊
┊ 1.3論文的研究內(nèi)容
┊ 論文的主要研究內(nèi)容是根據(jù)目前聊天工具的現(xiàn)狀和需求,設(shè)計出一個具備交互、
┊ 執(zhí)行下載數(shù)據(jù)或程序、上傳數(shù)據(jù)、閱讀、與其它用戶交換消息等功能,并在實際應(yīng)用
┊ 中予以實現(xiàn)和評價。具體的研究內(nèi)容如下:
┊
┊ 對論壇系統(tǒng)目前的國內(nèi)外發(fā)展現(xiàn)狀進行對比分析, 找出交流系統(tǒng)存在的問題,提
┊ 出相關(guān)的解決策略。
結(jié)合解決策略,設(shè)計新的適合時代特點的論壇系統(tǒng), 并對照原有的傳統(tǒng)的交流工具分析論壇的特點和適應(yīng)性,完成論壇的系統(tǒng)實現(xiàn)。
1.4 系統(tǒng)的設(shè)計思路
系統(tǒng)將采用軟件工程的生命周期過程來進行分析設(shè)計。 其基本思路:首先,是進
┊ 行系統(tǒng)可行性分析和系統(tǒng)的初步設(shè)計規(guī)劃。其次進行需求調(diào)研,主要通過對國內(nèi)外各
┊ 種大型論壇進行親身體驗、現(xiàn)有開源論壇系統(tǒng)的研究及進行網(wǎng)上調(diào)查與提問等方式得
┊ 到需求,在此基礎(chǔ)上進行需求分析以確定需求是否值得設(shè)計開發(fā), 完成業(yè)務(wù)邏輯分析
┊ 與設(shè)計,確定系統(tǒng)的功能模塊等。接著準確地進行數(shù)據(jù)庫設(shè)計、界面設(shè)計以實現(xiàn)系統(tǒng)
┊ 所要達到的規(guī)劃目標。最后進行系統(tǒng)布署與測試,以改進系統(tǒng)性能。
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
理論基礎(chǔ)
WAMP架構(gòu)介紹
WAMP架構(gòu)的提出
┊ 1998年,MichaelKunze為德國計算機雜志寫了一篇關(guān)于 Free軟件如何成為商
┊ 業(yè)軟件替代品的文章,創(chuàng)建了 LAMP這個名詞,Linux 操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)
┊
┊ 器、MySQL數(shù)據(jù)庫和PHP(Perl或Python)腳本語言組合而成的—— LAMP (四
┊ 種技術(shù)的開頭字母組成),隨之LAMP技術(shù)成為了開源軟件業(yè)的一盞真正的明燈。
┊ 隨著互聯(lián)網(wǎng)開源潮流的迅速發(fā)展,全球 IT業(yè)正迎來一個新的發(fā)展格局成長期,
┊ 而LAMP所代表的開源軟件以其開放性、低成本、安全性、適用性以及可靠的性能,
┊ 正對傳統(tǒng)軟件、硬件和系統(tǒng)集成商產(chǎn)生巨大的沖擊,同時,也給創(chuàng)新型 IT企業(yè)、程
┊ 序開發(fā)者創(chuàng)造了前所未有的機遇。
┊
┊ 中國開源軟件推進聯(lián)盟主席陸首群說, LAMP 也可以派生出WAMP(W 代表
┊ Windows操作系統(tǒng))。事實上,PHP與.Net是并存的,PHP也可以和Windows捆綁在
┊ 一起,兩者并沒有沖突,可以因地致宜地使用開源與閉源混合架構(gòu)。裝 本系統(tǒng)就是采用WAMP架構(gòu)進行論壇程序的設(shè)計與實現(xiàn)。
┊ 2.1.2WAMP架構(gòu)的優(yōu)勢
┊
┊ WAMP架構(gòu)易于開發(fā)、安全性高、適用性強、性能可靠、更新速度快、成本低,
┊ WAMP被許多開發(fā)者視為“黃金組合”。
┊ 由于Apache是免費的,此外還有免費數(shù)據(jù)庫 MySQL服務(wù)器和開源語言PHP共訂 同構(gòu)建了廣受追捧的“WAMP(LAMP)”套件,性價比極高,因此贏得了網(wǎng)站開發(fā)人員
┊ 的廣泛青睞。
┊
┊ 2.1.3WAMP架構(gòu)的研究現(xiàn)狀
┊ 在今天,全球已有2000萬個網(wǎng)站使用PHP,包括最流行的雅虎、Google、百度,
┊ 也包括像漢莎航空電子訂票系統(tǒng)、德意志銀行的網(wǎng)上銀行、華爾街在線的金融信息發(fā)線 布系統(tǒng),甚至軍隊系統(tǒng)這類五花八門和苛刻的環(huán)境。
┊ 隨著社區(qū)BBS及Web2.0應(yīng)用的普及,以及國內(nèi) PHP技術(shù)支持者的不斷增加,
┊
┊ 據(jù)PHPChina資料統(tǒng)計在中國前200名的網(wǎng)站中有61%的采用了WAMP技術(shù)。業(yè)內(nèi)
┊ 人士預(yù)計,在服務(wù)器平臺及軟件方面, WAMP市場占有率將在未來兩年內(nèi)取得更高
┊ 的市場分額。
┊
┊ 2.2PHP技術(shù)
┊
┊ 2.2.1PHP技術(shù)概述
┊ PHP全稱為PersonalHomePage,是一種跨平臺的服務(wù)器端腳本技術(shù)。于 1995
┊ 年開始發(fā)行使用,到1998年成為一個成熟的軟件產(chǎn)品。它最初是一個人為了寫他的
主頁而用Perl寫的“包裝”程序,后來因為用的人多了,就發(fā)展了起來。現(xiàn)在 PHP已經(jīng)成為最流行的Web腳本語言之一,它運行在Web服務(wù)器端,根據(jù)用戶請求或服務(wù)器端的數(shù)據(jù)產(chǎn)生動態(tài)網(wǎng)頁。它功能強大,和 HTML 腳本融合在一起,并內(nèi)建訪問數(shù)據(jù)庫的能力。它能夠作為ApacheWeb服務(wù)器的模塊執(zhí)行,也使得它的執(zhí)行效率要
┊ 高于普通的CGI程序。
┊ PHP是編程語言和應(yīng)用程序服務(wù)器的結(jié)合,PHP和其它的編程語言類似,使用
┊ 變量存儲臨時數(shù)值,使用操作符處理變量。PHP的真正價值在于它是一個應(yīng)用程序服
┊ 務(wù)器,應(yīng)用程序服務(wù)器是指一個把幾個不同的技術(shù)組合為一個完整的套件的程序, 這
┊ 些技術(shù)包括:一個強壯的編程語言;存取數(shù)據(jù)庫中存儲的數(shù)據(jù);支持 Internet協(xié)議,
┊ 尤其是電子郵件和HTTP協(xié)議。PHP大量借用了C、Java、和Perl語言的語法,并加
┊
┊ 入了各種PHP自己的特征,使Web開發(fā)者能夠?qū)懗隹焖俚膭討B(tài)頁面。
┊ PHP是一種跨平臺的服務(wù)器端嵌入式腳本技術(shù)。 PHP頁面是一種文本文件,是
┊ 在普通HTML頁面文件中嵌入PHP腳本語句,由服務(wù)器解釋和翻譯成普通的 HTML
┊ 文件,然后傳送給客戶端瀏覽器,這一點和 ASP一樣。PHP腳本語句段以“<?”為
┊ 開始,以“?>”為結(jié)束?!?lt;?”和“?>”之間的腳本語句由服務(wù)器軟件調(diào)用 PHP腳本
┊ 解釋引擎解釋后替換為普通的 HTML腳本。
裝 PHP語法和C、Perl的語法很相似,并主要來源于 C語言,如控制流語句與C
┊
┊ 幾乎完全一樣、變量之間的運算符與C的類似、函數(shù)定義和調(diào)用與C的類似等。PHP
┊ 的變量名前面必須有一個$號,如$Var1、$Var2。PHP的變量作用域規(guī)定也類似于C,
┊ 即缺省認為主函數(shù)中的變量是全局變量,而函數(shù)中的變量都是局部變量。在 PHP中,
┊ echo和printf函數(shù)用來向HTML頁面中輸出HTML內(nèi)容,其中echo輸出無格式字符訂 串,printf 輸出格式化的字符串。如echo("welcomeyou to comehere")和
┊ printf("%s,%d",str1,int1)。
┊
┊ 2.2.2PHP技術(shù)特點
┊ 現(xiàn)在通常用的服務(wù)器端腳本技術(shù)是 CGI?,F(xiàn)有的Web后臺程序,絕大多數(shù)采用
┊ 下列幾種技術(shù)編寫:Perl或采用第三方解決方案(如ASP),雖然每類方案都有各自線 的強項,但均不是理想的解決辦法。Perl編寫CGI是使用得最多的方法,在網(wǎng)絡(luò)上也
┊
┊ 有很多現(xiàn)成的腳本可以拿來修改使用,但它卻存在公認的性能問題:由于 Web服務(wù)
┊ 器運行時需調(diào)用解釋程序解析代碼,當(dāng)站點的訪問人數(shù)激增時,Web服務(wù)器的性能也
┊ 必將直線下降,另外則是它的數(shù)據(jù)庫連接功能非常弱,某些情況下甚至還會降低數(shù)據(jù)
┊ 庫的存取速度。第三方廠商提出了較好的解決方案:如Microsoft的ActiveServerPage。
┊ 它具有運行速度快,數(shù)據(jù)庫操作功能強大等特性,受到了許多開發(fā)者的歡迎,但它們
┊ 只能單純地運行于個別平臺 (NT),對要求更高回應(yīng)率的網(wǎng)站來說(大多數(shù)大中型網(wǎng)站
┊ 均建于Unix或Linux平臺,Apache系列Web服務(wù)器)還是不能順利采用(注:目前
┊
┊ 已有人提出這兩種技術(shù)在Unix系列平臺上應(yīng)用的方案,但要么是不具備源技術(shù)的全
┊ 部優(yōu)秀功能,要么就是只能應(yīng)用于個別 Unix 平臺)。1997年,PHP開發(fā)小組在原
PHP/FI2.0的基礎(chǔ)上,開發(fā)出了全新的PHP3,免費讓所有人使用和(或)更改解釋器源代碼。相對于傳統(tǒng)的CGI語言,PHP擁有下列超群的特性:
(1)易學(xué)易用:PHP的語法結(jié)構(gòu)大部分借用了C、Java、Perl的好的語法框架,有以上編程經(jīng)驗的開發(fā)人員可快速地掌握投入實際使用。
┊ (2)運行速度快:PHP采用HTML內(nèi)置標記技術(shù),解釋程序本身作為Web服務(wù)器的一
┊ 個模塊運行,相當(dāng)大地提高了運行時的解析速度。經(jīng)測試表明,在 Web站點訪問量
┊ 非常大時,PHP的解析速度相當(dāng)于傳統(tǒng)CGI程序的4倍,非常適合大中型站點的應(yīng)
┊ 用。
┊ (3)跨多個平臺:目前PHP可在Windows、Unix、Linux的Web服務(wù)器上正常運行,
┊ 支持IIS,Apache等通用Web服務(wù)器,用戶更換平臺時,無需變換 PHP代碼,可即
┊
┊ 拿即用。
┊ (4)效率高:和其它的解釋性語言相比,PHP系統(tǒng)消耗較少的系統(tǒng)資源。當(dāng)PHP作為
┊ ApacheWeb服務(wù)器的一部分時,運行代碼不需要調(diào)用外部二進制程序,服務(wù)器解釋
┊ 腳本不需要承擔(dān)任何額外負擔(dān)。
┊ (5)開放源碼:所有的PHP源碼都可以得到。
┊ (6)沒有運行費用:PHP是免費的。
裝 (7)基于服務(wù)器端:由于PHP是在Web服務(wù)器端運行的,PHP程序可以很大、很復(fù)雜
┊
┊ 而不會降低客戶端的運行速度。
┊ (8)嵌入HTML:因為PHP語言可以嵌入到HTML內(nèi)部,所以PHP容易學(xué)習(xí)。
┊ (9)簡單的語言:和Java和C++不同,PHP語言堅持以基本語言為基礎(chǔ),然而它的功
┊ 能也強大到足以支持任何類型的 Web站點。
訂 (10)極其強大的數(shù)據(jù)庫支持:PHP最強大也最有代表性的特點在于它的數(shù)據(jù)庫層,它
┊ 內(nèi)置了對很多數(shù)據(jù)庫的支持,而不再需要特殊擴充,使得編寫基于數(shù)據(jù)庫的網(wǎng)頁變得
┊
┊ 非常簡單。目前所支持的數(shù)據(jù)庫有 Oracle、Sybase、FilePro、mSQL、Velocis、MySQL、
┊ In-formix、Solid、dBase、ODBC、Unix、dbm、PostgreSQL、MSSQLSERVER等。
┊ 針對每個數(shù)據(jù)庫都有一組函數(shù)用于數(shù)據(jù)庫訪問和操作,如對 MySQL有mysql_close、線 mysql_connect、mysql_create_db、mysql_db_query等函數(shù)。
┊ (11)文件存?。篜HP有許多支持文件存取的函數(shù)。
┊ (12)文本處理:PHP有許多函數(shù)處理字符串,其中包括模式匹配的能力。
┊
┊ (13)復(fù)雜的變量:PHP支持標量、數(shù)組、關(guān)聯(lián)數(shù)組等變量,這給用戶提供了以支持其
┊ 它的高級數(shù)據(jù)結(jié)構(gòu)的堅實基礎(chǔ)。
┊ (14)圖像處理:用戶可以使用PHP動態(tài)地創(chuàng)建圖像。
┊
┊ 2.3MySQL數(shù)據(jù)庫技術(shù)
┊ 2.3.1MySQL數(shù)據(jù)庫概述
┊
┊ MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng), 開發(fā)者為瑞典MySQLAB公司。目
前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的特性:(1)核心程序采用完全的多線程編程。線程是輕量級的進程,它可以靈活的為用戶提供服務(wù),而不用浪費過多的體統(tǒng)資源。
┊ (2)可運行在不同的平臺上。(3)它有一個非常靈活且安全的權(quán)限和口令系統(tǒng),當(dāng)客戶
┊ 與一個服務(wù)器鏈接時,它們之間所有的口令傳送被加密,而且它允許基于主機的認證。
┊ (4)它擁有一個非??焖俚幕诰€程的內(nèi)存分配系統(tǒng),而且沒有內(nèi)存漏洞,所以可以
┊ 不斷地使用而不用擔(dān)心其穩(wěn)定性。事實上,它的穩(wěn)定性足以應(yīng)付一個超大規(guī)模的數(shù)據(jù)
┊ 庫,如跨國公司的處理流程。(5)PHP的強力支持。PHP中提供了一整套的MySQL
┊ 函數(shù),用來對MySQL進行支持。
┊
┊ 與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的
┊ 不足之處,如規(guī)模小、功能有限等,但是這絲毫也沒有減少它受歡迎的程度。對于一
┊ 般的個人使用者和中小型企業(yè)來說, MySQL 提供的功能已經(jīng)綽綽有余,而且由于
┊ MySQL是開放源碼軟件,因此可以大大降低總體成本。
┊ 相對說來,MySQL內(nèi)定最大連結(jié)數(shù)為 100個使用者。但是,我們絕對不可以
┊ 用一個程序的內(nèi)建設(shè)定來判斷它的效能。到目前為止,我們還沒聽說過使用 MySQL
裝 的較大而且訪問頻繁的網(wǎng)站上的用戶有任何抱怨。
┊
┊ 2.3.2MySQL圖形管理工具phpMyAdmin
┊ MySQL 的標準操作全部是在字符界面下的,這樣可能會讓習(xí)慣圖形界面的用戶
┊ 覺得不友好。因此出現(xiàn)了一些非命令行方式的管理 MySQL的工具。
┊ 使用最多的MySQL管理工具是phpMyAdmin。phpMyAdmin(簡稱PMA)是一個訂
┊ 用PHP編寫的在網(wǎng)絡(luò)上直觀管理 MySQL數(shù)據(jù)庫的軟件,是眾多MySQL管理員和網(wǎng)
┊ 站管理員的首選數(shù)據(jù)庫維護工具,通過phpMyAdmin可以完全對MySQL數(shù)據(jù)庫進行
┊ 操作,例如建立、復(fù)制、刪除數(shù)據(jù)等。
┊ phpMyAdmin的主界面如圖2.1所示。
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖2.1phpMyAdmin主界面
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
┊
┊
┊
┊
┊
┊
共43
第
PAGE
11
頁
頁
2.4論壇采用B/S架構(gòu)
PHP采用瀏覽器/服務(wù)器(B/S)模式架構(gòu)。所謂B/S結(jié)構(gòu),就是通過瀏覽器(Browser)來訪問服務(wù)器(Server)上的內(nèi)容,客戶端不需要運行其他軟件。
B/S結(jié)果的優(yōu)點是維護方便??蛻舳诉\行的軟件是一個隨操作系統(tǒng)同時發(fā)布的瀏覽
┊
┊ 器,例如IE,而不用安裝其他軟件。瀏覽器通過網(wǎng)絡(luò)獲取服務(wù)器的信息。 B/S結(jié)構(gòu)系
┊ 統(tǒng)的所有的維護、升級工作都只在服務(wù)器上運行,服務(wù)器代碼修改后,客戶端就能獲
┊ 取最新的信息。
┊ 服務(wù)器端的PHP代碼會轉(zhuǎn)化為HTML代碼傳輸?shù)娇蛻舳?,一個基本的HTML代碼
┊ 如下所示:
┊ <html>
┊ <head>
┊
┊ <title>標題</title>
┊ <body>
┊ 主題
┊ </body>
裝 </head>
┊ </html>
┊
┊
┊ 在實際應(yīng)用中,通常PHP代碼和HTML代碼混合使用以完成一個頁面的顯示。
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
總體設(shè)計
3.1論壇可行性分析
可行性研究的目的是為了對問題進行研究, 以最小的代價在最短的時間內(nèi)確定問
┊ 題是否可解,經(jīng)過對項目進行詳細調(diào)查研究,進而便能初擬系統(tǒng)規(guī)劃報告,對系統(tǒng)開
┊ 發(fā)中將要面臨的問題及其解決方案進行初步設(shè)計及合理安排。 下面簡要對本系統(tǒng)開發(fā)
┊ 的可行性加以論述:
┊ 在經(jīng)濟可行性上,由于本系統(tǒng)是基于開源項目,在整個過程使用 WAMP架構(gòu),
┊
┊ 而且是免費的,同時在設(shè)計過程我參照了相關(guān)系統(tǒng)來設(shè)計,比如用 asp論壇或jsp論
┊ 壇。當(dāng)然,系統(tǒng)也將按照軟件工程的步驟來完成。
┊ 在技術(shù)可行性上,系統(tǒng)將基于MVC架構(gòu),MVC 即視圖,模型,控制器。這種
┊ 設(shè)計模式是一個很好系統(tǒng)開發(fā)的途徑,我們可以為一個模型在運行同時建立和使用多
┊ 個視圖,這樣就可以使系統(tǒng)在健壯性,代碼重用和結(jié)構(gòu)方面上一個新的臺階。除此之
┊ 外,因為模型獨立,這樣就可以把一個模型獨立地移植到新的平臺工作。
┊
┊ 在社會可行性上,論壇在當(dāng)今非常流行,很大一部分是歸結(jié)于社會的發(fā)展:從互
裝 聯(lián)網(wǎng)最終用戶角度來講,論壇的出現(xiàn),大規(guī)模實現(xiàn)了使用者從實在的世界到網(wǎng)絡(luò)虛禮
┊ 的世界;從網(wǎng)站角度來看,所有網(wǎng)站設(shè)計出來就是要有人訪問和交流。而論壇系統(tǒng)完
┊ 全符合網(wǎng)站的要求。從這兩個方面上可看出,本系統(tǒng)的開發(fā)和應(yīng)用能給互聯(lián)網(wǎng)帶來新
┊ 的交流工具與Web應(yīng)用,能促進網(wǎng)絡(luò)的發(fā)展,因此具有很好的社會作用。
┊ 從以上三點可以得知,開發(fā)此系統(tǒng)是可行的。
┊
訂
┊ 3.2 論壇需求分析
┊ 需求定義是對系統(tǒng)的術(shù)語描述,分析系統(tǒng)是否能實現(xiàn),或者是否能提供更多的功
┊ 能。
┊ 我們應(yīng)該從使用者的角度來分析和編寫一個論壇系統(tǒng), 首先要確定論壇的功能是
┊ 什么,也是用戶想要的論壇提供哪些功能。 我們在使用論壇的時是按照一定的流程來線 進行的,如:用戶注冊登入論壇,就一個或幾個話題展開討論,通過發(fā)帖功能來發(fā)布
┊
┊ 新的話題,通過回帖功能來回復(fù)已有的話題。管理員要管理論壇,具有的功能是創(chuàng)建、
┊ 編輯、刪除論壇的版塊,管理注冊的用戶,管理帖子。這樣的流程就決定了論壇所應(yīng)
┊ 具有的功能如圖3.1所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.1流程圖
┊ 帖子類有瀏覽、發(fā)帖、回帖和管理四個方法,瀏覽方法又可分為列表和查看兩個
┊
┊ 子方法,管理方法又可分為編輯、刪除、置頂三個子方法。如圖 3.2所示,只有管理
裝 員可以管理帖子,一般用戶沒這個權(quán)限的。
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊ 圖3.2帖子對象相關(guān)用例圖
┊ 用戶類有注冊、登入和管理三個方法,管理方法又可分為添加、刪除和設(shè)置權(quán)限
┊
┊ 三個子方法。如圖3.3所示,用戶的信息和權(quán)限是由管理員來設(shè)置管理的。
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.3用戶對象相關(guān)用例圖
┊
┊ 這樣,當(dāng)初列出的功能列表就分別有了各自的歸屬對象。
┊ 論壇一般存在兩種用戶,即注冊用戶和管理員。用戶的權(quán)限是向下覆蓋的,即上
┊ 級權(quán)限包括下級的權(quán)限,在論壇中,管理員是上級權(quán)限。接下來,需要將不同類的對裝 象及其方法分配給不同的論壇用戶。
┊ 與注冊用戶相關(guān)的功能,就是論壇的前臺的主要功能。論壇系統(tǒng)的前臺,是用戶
┊ 討論問題的平臺,發(fā)帖、瀏覽、回帖一直貫穿用戶的前臺活動。同時,由于論壇系統(tǒng)
┊ 的帖子管理是管理員在瀏覽帖子時進行的,所以編輯帖子、刪除帖子和置頂帖子等功
┊
┊ 能也安排在前臺實現(xiàn)、其他與管理員相關(guān)的功能,包括版塊管理、用戶管理和設(shè)置都
訂 需要管理員在后臺進行操作。
┊ 通過以上的分析,論壇的基本功能就可以從眾多需求中篩選出來。
┊ 現(xiàn)在,讓我們來看看哪些是基本功能。
┊ 發(fā)帖。論壇最初是為了相互討論話題而誕生的,發(fā)表帖子就是表達自己的看法,
┊ 與他人進行討論,因為發(fā)帖是論壇首要的功能。
┊
線 瀏覽帖子。發(fā)表了帖子,就要供他人瀏覽查看,使他人分享自己的想法和經(jīng)驗。
┊ 回帖。瀏覽了他人發(fā)表帖子,就要發(fā)表自己的想法,參與討論,就可以回復(fù)這
┊ 帖子。
┊ 發(fā)帖、瀏覽帖子和回帖的循環(huán)就構(gòu)成了論壇,三大基本功能的相互關(guān)系如圖 3.4
┊
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
共43
第
PAGE
15
頁
頁
功能模塊的設(shè)計
圖3.4論壇的基本功能
上一節(jié)中確定了論壇的整體需求和詳細需求。 但是只知道需求還是不行的,整體需求是對系統(tǒng)目標的一個模糊描述,經(jīng)過分析后的詳細需求是對系統(tǒng)中要實現(xiàn)功能的
┊ 設(shè)計語言的轉(zhuǎn)換表達,一個是由用戶表達的,一個是由系統(tǒng)的編寫者來分析表達的。
┊ 但是這些需求的描述,無論多詳細,都不能歸納成系統(tǒng)的相關(guān)模塊,每個模塊實際就
┊ 是功能的合理組合。要實現(xiàn)一個系統(tǒng),還需要從尋求分析上升到軟件設(shè)計階段。
┊ 從上一節(jié)需求分析中得知,可以將功能分為前臺和后臺兩類,因此模塊也分為兩
┊
┊ 大類:前臺模塊和后臺模塊。
┊ 用戶在前臺的注冊、登錄、以及修改個人的注冊信息組合成注冊登錄模塊; 用戶
┊ 瀏覽模塊、瀏覽主題帖列表、查看帖子組合成瀏覽模塊;用戶發(fā)帖、回帖、編輯自己
┊ 發(fā)布的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子和置頂帖子組合成管理
┊ 帖子模塊。以上四個模塊組成前臺的功能模塊。
┊ 后臺模塊都是與管理員相關(guān)的,設(shè)置論壇參數(shù)單獨為后臺設(shè)置模塊;創(chuàng)建、修改
┊
┊ 和刪除版塊為管理版塊模塊;添加、刪除和設(shè)置權(quán)限為管理用戶模塊。
裝 如圖3.5所示是論壇的模塊體系圖。
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊ 圖3.5論壇的模塊體系圖
┊ 所以對于注冊用戶,在論壇的行為可以歸納如下行為。
┊ 注冊個人身份,登錄論壇,成功后可以修改自己的注冊信息。這些行為只與
┊
┊ 用戶自身相關(guān),功能獨立,設(shè)計成注冊登錄模塊。
瀏覽版塊列表,選擇某版塊,顯示其下的主題帖列表,查看帖子內(nèi)容。這些行為是用戶讀取論壇的版塊及其帖子的相關(guān)信息,設(shè)計成瀏覽模塊。
發(fā)表自己的帖子,回復(fù)已有的帖子,同時也可以編輯自己的帖子。這些行為是用戶參與論壇討論,發(fā)表自己見解的,設(shè)計為發(fā)帖回帖模塊。
┊ 對于管理員,需要負責(zé)整個論壇的正常運轉(zhuǎn),因此需要更多的管理功能,可以歸
┊ 納如下行為。
┊ 具備注冊用戶的功能,即管理員也是論壇用戶。
┊ 管理帖子。管理員對論壇的帖子有監(jiān)督的權(quán)利,好的帖子要獎勵,搗亂的帖
┊ 子要刪除,置頂帖子,這些行為都是針對帖子的操作,設(shè)計成管理帖子模塊。
┊ 管理版塊。擁護注冊成功后,需要管理員進行創(chuàng)建、管理版塊信息,這些針
┊
┊ 對版塊的操作,設(shè)計成管理版塊模塊。
┊ 管理用戶。用戶注冊成功后,需要管理員賦予權(quán)限,才能使用論壇的相關(guān)功
┊ 能。同時,管理員可以自主添加、刪除用戶,這些針對用戶信息的操作沒,
┊ 設(shè)計成管理用戶模塊。
┊ 通過上面的分析我們可以得到用戶的整體用例圖,如圖 3.6所示:
┊
裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.6用戶整體用例圖
┊ 從用例圖中,可以得到論壇的功能框架,即系統(tǒng)的各個部分已經(jīng)確定,知道論壇
是什么樣子。
論壇系統(tǒng)數(shù)據(jù)庫的設(shè)計策略
數(shù)據(jù)庫是信息系統(tǒng)的核心,它具有對信息進行收集、組織、存儲、加工、抽取和
傳播等功能。構(gòu)筑數(shù)據(jù)庫和蓋房子奠基相似,數(shù)據(jù)庫的設(shè)計直接關(guān)系系統(tǒng)的成敗, 因
┊ 此要獲得優(yōu)秀的信息管理系統(tǒng)必須采用科學(xué)方法進行合理的數(shù)據(jù)庫設(shè)計。 本節(jié)就數(shù)據(jù)
┊ 庫的設(shè)計策略方面的內(nèi)容作詳細討論。
┊ 該論壇系統(tǒng)的數(shù)據(jù)庫設(shè)計分為概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計。
┊ 3.4.1 概念結(jié)構(gòu)設(shè)計
┊
┊ 數(shù)據(jù)分析是數(shù)據(jù)庫設(shè)計的第一步,包括下列內(nèi)容:
┊ 1、調(diào)查論壇系統(tǒng)需要實現(xiàn)的功能
┊ 本論壇系統(tǒng)要實現(xiàn)以下功能:
┊ 1)系統(tǒng)功能(指論壇程序自動實現(xiàn)的功能)
┊ ①分論壇顯示
┊ ②主題顯示
┊
┊ ③在線用戶列表
裝 2)普通用戶功能(論壇用戶能夠?qū)崿F(xiàn)的功能)
┊ ①登錄和退出論壇
┊ 用戶需使用其在論壇中注冊所得帳號和密碼登錄 (未登錄而直接進入論壇的用戶稱為
┊ 訪客,訪客只能查看帖子,不具備其它功能)
┊ ②用戶注冊
┊ ③發(fā)文功能訂
┊ 包括發(fā)帖子、回復(fù)帖子、修改刪除自己發(fā)布的帖子
┊ ④查詢功能
┊ 可查詢注冊用戶及其對應(yīng)的帖子
┊ ⑤用戶控制面板
┊ 用戶可在此處修改自己的個人資料,定制個性化的論壇功能線 3)版主功能(版主,也屬于論壇用戶的一種)
┊
┊ ①具有全部普通用戶功能
┊ ②版內(nèi)文章管理,包括增刪改查
┊ ③取消或恢復(fù)用戶在版內(nèi)的發(fā)文權(quán)
┊ ④重要主題前置功能
┊ 4)管理員功能(論壇管理員能夠?qū)崿F(xiàn)的功能)
┊ ①管理員具有普通用戶和版主的所有功能
┊ ②分論壇管理功能
┊
┊ ③論壇內(nèi)的文章管理,包括增刪改查
┊ ④論壇用戶管理,包括增刪用戶,指定版主等
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
┊
┊
┊
┊
┊
共43
第
PAGE
19
頁
頁
⑤帳號封殺列表
2、編寫數(shù)據(jù)流程圖
根據(jù)論壇系統(tǒng)的具體功能,編寫數(shù)據(jù)流程模式圖如圖 3.7所示。
┊
┊
┊
┊
┊
┊ 3、編寫系統(tǒng)功能結(jié)構(gòu)圖
圖3.7數(shù)據(jù)流程模式圖
┊ 系統(tǒng)功能結(jié)構(gòu)圖如圖3.8所示。
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊ 圖3.8系統(tǒng)功能結(jié)構(gòu)圖
┊
線 根據(jù)上述分析的結(jié)果,編制初步E-R圖。它表示信息世界中的信息實體及其相互聯(lián)系,
┊ 初步E-R圖如圖3.9所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊ 3.4.2 邏輯結(jié)構(gòu)設(shè)計
┊ 1、E-R圖向關(guān)系數(shù)據(jù)模型轉(zhuǎn)換
圖3.9系統(tǒng)初步E-R圖
┊ 定義一個關(guān)系模型是一個二維表 R(A1,A2,,, An),其中R為關(guān)系名,Ai為屬
┊ 性名。確切講,一個關(guān)系模型對應(yīng)一個數(shù)據(jù)庫基表。邏輯結(jié)構(gòu)設(shè)計首先是將基本 E-R
訂 圖向關(guān)系數(shù)據(jù)模型轉(zhuǎn)換,轉(zhuǎn)換的方法涉及深奧的專業(yè)理論,此處不作論述。最簡單的
┊
┊ 轉(zhuǎn)換可以將基本E-R圖中的每個實體定義為一個關(guān)系模型,一個聯(lián)系也是一個關(guān)系,
┊ 從而得到關(guān)系模型。在模型轉(zhuǎn)換中,最基本的要求是保證每個關(guān)系至少有一個碼
┊ (Key);關(guān)系中每個屬性都是不可分的數(shù)據(jù)項,不允許表中有表;一個關(guān)系只是描述
┊ 一個信息實體,或者實體間的一種聯(lián)系。線 2、規(guī)范化
┊ 規(guī)范化是數(shù)據(jù)庫邏輯設(shè)計的指南和工具,它貫穿數(shù)據(jù)庫設(shè)計過程中的數(shù)據(jù)分析、
┊ 基本E-R圖的設(shè)計和邏輯設(shè)計。特別在邏輯設(shè)計中,通過對關(guān)系模型 R(A1,A2,,
┊
┊ An)的函數(shù)依賴的進行模式分解,使模型達到 BCNF、2NF、或3NF范式,可以消除
┊ 更新異常等,當(dāng)然有時為了提高查詢速度,也可以犧牲規(guī)范化程度。
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
共43
第
PAGE
25
頁
頁
論壇數(shù)據(jù)庫分別包括10個表,如圖3.10所示:
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊ 圖3.10數(shù)據(jù)庫表信息
┊ 其中bans表記錄著用戶ID,用戶帳號,IP地址,email地址和顯示給被封用戶線 信息的信息等,主鍵為id。如圖3.11所示:
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.11bans表
表categories記錄著版塊ID,版塊名和位置信息,主鍵為ID。如圖3.12所示:
┊
┊ 圖3.12 Categories表
┊
┊ 表config記錄著論壇配置選項名、配置選項值信息。如圖 3.13所示。
┊
┊
┊
┊ 如圖3.13 config表
┊ 表forums記錄著論壇id號,論壇名,論壇描述,論壇版主,主題總數(shù),最后回
┊ 復(fù)時間,最后回復(fù)帖子的id,最后回復(fù)人的用戶名和是否只允許管理員和版主訪問等
┊
┊ 信息,其中id為主鍵。如圖3.14所示。
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊ 如圖3.14 forums表
┊
┊
┊
┊
┊ 表online記錄著用戶id,用戶名稱,用戶上次訪問的時間信息,主鍵為 user_id。
┊ 如圖3.15所示。
┊
┊
圖3.15 online表
┊ 表posts記錄著帖子id號,發(fā)帖人用戶名,發(fā)帖人id號,發(fā)帖人ip,發(fā)帖人email,
┊ 發(fā)帖內(nèi)容,是否轉(zhuǎn)換笑臉符號和發(fā)帖時間等信息,主鍵為 id。如圖3.16所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
裝 圖3.16 posts表
┊
┊ 表search_matches描述著匹配所涉及的帖子的id,匹配所涉及到的詞和主題匹配
┊ 信息。如圖3.17所示。
┊
┊訂
┊
┊
┊ 圖3.17 search_matches表
┊ 表search_results記錄著查詢結(jié)果id號,查詢?nèi)擞脩裘筒樵償?shù)據(jù)的連續(xù)的 php
┊ 數(shù)組信息,主鍵為id。如圖3.18所示。線
┊
┊
┊
┊ 圖3.18 表search_results
┊
┊
┊ topics記錄著主題帖id號,發(fā)主題的用戶名,主題題目,發(fā)主題的時間,最后回
┊
┊ 復(fù)時間,最后回復(fù)的id,最后回復(fù)的用戶名,查看主題的次數(shù),回復(fù)的帖數(shù)和是否設(shè)
┊ 置置頂?shù)刃畔ⅲ麈I為id。如圖3.19所示。
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
共43
第
PAGE
27
頁
頁
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.19 topics表
┊
┊
裝 表users記錄著用戶id,用戶名,用戶密碼,用戶email,用戶等級頭銜,真實姓
┊ 名,用戶個人網(wǎng)站,用戶QQ號碼,用戶MSN號碼,用戶個性簽名,用戶所在時區(qū),
┊ 用戶身份等信息,主鍵為id。如圖3.20所示。
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊ 圖3.20 users表
┊
┊
┊ 上述給出數(shù)據(jù)庫中的表信息,本數(shù)據(jù)庫包含封用戶 IP表、類別版塊表、默認配
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
┊
共43
第
PAGE
30
頁
頁
置表、論壇表、在線用戶表、帖子表、查詢匹配表、查詢結(jié)果表、主題表、用戶表和數(shù)據(jù)庫中各個表的列屬性。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊
┊
┊
┊
論壇系統(tǒng)詳細設(shè)計
論壇在Internet上是很常見的,但是要實現(xiàn)一個論壇,工作量很大。論壇系統(tǒng)大致可以分為兩個組成部分:面向系統(tǒng)管理者的論壇管理系統(tǒng)和面向一般用戶的論壇服務(wù)系
┊ 統(tǒng)。無論是管理員方還是用戶方都不必安裝該系統(tǒng)。 但是,為了解釋網(wǎng)頁代碼中的服
┊ 務(wù)器端腳本語言代碼,服務(wù)器端必須安裝相應(yīng)的 WEB服務(wù)器(比如Apache,IIS),
┊ 腳本代碼解釋引擎(比如Apache)和數(shù)據(jù)庫服務(wù)器(如MySQL)。系統(tǒng)管理員通過帳戶
┊ 密碼驗證后登錄論壇管理系統(tǒng),進行相應(yīng)的后臺管理如用戶管理、版塊管理和文章管
┊
┊ 理。而對于用戶,則要先通過注冊提出申請,經(jīng)管理員審核后成為論壇系統(tǒng)的正式用
┊ 戶。用戶通過帳戶密碼驗證登錄論壇服務(wù)系統(tǒng)后,能夠在論壇內(nèi)發(fā)表文章,回復(fù)文章,
┊ 查詢文章,瀏覽文章等。所以,論壇系統(tǒng)應(yīng)該能夠識別四類不同權(quán)限級別的用戶。第
┊ 一類是新注冊用戶,尚未通過系統(tǒng)管理員審核,擁有瀏覽文章,查詢個體信息的權(quán)限;
┊ 第二類是一般用戶,已經(jīng)通過審核,能夠在論壇討論區(qū)發(fā)表文章,回復(fù)文章,接收信
┊ 件,回復(fù)信件;第三類是版主,能夠在相應(yīng)的版塊刪除文章,封鎖 ID限制發(fā)文以及
┊
┊ 解除對一般用戶的封鎖;第四類是系統(tǒng)管理員,擁有最高權(quán)限,能夠?qū)徍诵掠脩糇?/p>
裝 請求,權(quán)限申請并執(zhí)行相應(yīng)的裁決。一般網(wǎng)站論壇需要實現(xiàn)的功能包括: 數(shù)據(jù)庫的訪
┊ 問,CSS樣式表的使用,論壇系統(tǒng)功能的實現(xiàn),數(shù)據(jù)的安全性研究與實現(xiàn)4個功能。
┊
┊ 4.1 數(shù)據(jù)庫的訪問
┊ 無論是管理者還是用戶,在操作論壇系統(tǒng)之前,首先要與數(shù)據(jù)庫建立連接。掌握
┊ 網(wǎng)絡(luò)數(shù)據(jù)庫編程方法也是該課題的主要目的之一。訂
┊ PHP語言提供了大量的數(shù)據(jù)庫操作函數(shù),對 MySQL 進行了很好的支持。對
┊ MySQL的訪問,首先通過PHP的函數(shù)mysql_pconnect或mysql_connect建立對數(shù)據(jù)
┊ 庫服務(wù)器的連接,然后通過 mysql_select_db函數(shù)從數(shù)據(jù)庫服務(wù)器中選擇本論壇系統(tǒng)
┊ 的數(shù)據(jù)庫,如果需要對數(shù)據(jù)庫進行操作,可以用 mysql_query函數(shù)向MySQL數(shù)據(jù)庫
┊ 發(fā)送SQL語句來實現(xiàn),然后再通過mysql_fetch_row等函數(shù)來取回操作的結(jié)果。線 訪問論壇系統(tǒng)數(shù)據(jù)庫的功能實現(xiàn)如下:
┊
┊ Connect連接MySQL;驗證管理員用戶名和密碼;if正確do選擇數(shù)據(jù)庫。
┊ //不能連接數(shù)據(jù)庫顯示錯誤信息
┊ error('Unabletoselectdatabase.'.mysql_error(), LINE , FILE );}
┊ else
┊ //不能連接數(shù)據(jù)庫服務(wù)器顯示錯誤信息
┊ error('UnabletoconnecttoMySQLserver.'.mysql_error(), LINE , FILE );
┊
┊ }
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
┊
┊
┊
┊
共43
第
PAGE
32
頁
頁
4.2CSS樣式表的使用
通過瀏覽互聯(lián)網(wǎng)上的論壇,我們知道基本上所有的論壇系統(tǒng)都提供了很多的風(fēng)格來實現(xiàn)更好的用戶體驗,用戶可以根據(jù)喜好來選擇自己喜歡的風(fēng)格,這些風(fēng)格的實現(xiàn)是通過CSS樣式表來實現(xiàn)的。本論壇系統(tǒng)也提供了這樣的功能, 該論壇系統(tǒng)風(fēng)格的
┊ CSS樣式表部分代碼如下:
┊ /*設(shè)置BODY的背景*/
┊ BODY{background-color:#FFFFFF}
┊ /*設(shè)置表格列的文字和顏色屬性*/
┊ TD{
┊ font:12pxVerdana,Arial,Helvetica,sans-serif;
┊
┊ color:#333333}
┊ /*設(shè)置輸入框和復(fù)選框的字體和顏色*/
┊ INPUT,SELECT{
┊ font:12pxVerdana,Arial,Helvetica,sans-serif;
┊ color:#333333}
┊ /*設(shè)置文本框字體和顏色*/
裝
┊ TEXTAREA{
┊ font:12pxVerdana,Arial,Helvetica,sans-serif;
┊ color:#333333}
┊ /*設(shè)置表單屬性*/
┊ FORM{margin:0}
訂
┊ 4.3 論壇系統(tǒng)功能的實現(xiàn)
┊
┊ 4.3.1 系統(tǒng)功能
┊ 1、分論壇顯示
┊ 論壇系統(tǒng)版塊和子論壇顯示關(guān)功能如下:
線 對數(shù)據(jù)表進行操作,使用select分別查詢出所有類別版塊表catagories和論壇表forums
┊
┊ 中的版塊名稱和子論壇名稱,把類別版塊表catagories和論壇表forums進行等值連接,
┊ 使用while語句循環(huán)取出版塊名和子論壇名,逐一輸出版塊和子論壇名稱;
┊
┊ 論壇系統(tǒng)版塊和子論壇顯示如圖 4.1所示。
┊
┊
┊
┊
┊ 2、主題顯示
┊
圖4.1論壇系統(tǒng)版塊和子論壇顯示圖
┊ 主題顯示主要功能實現(xiàn)如下:
┊ 在主題表topics中查詢主題id,使用while循環(huán)取出主題表中的主題名
┊ 論壇系統(tǒng)主題顯示如圖4.2所示。
┊
┊
┊
┊
┊裝
┊ 圖4.2論壇系統(tǒng)主題顯示圖
┊
┊
┊ 4.3.2 普通用戶功能
┊ 1、登錄和退出論壇
訂 登錄論壇系統(tǒng)關(guān)功能實現(xiàn)如下:
┊ 點擊登錄跳轉(zhuǎn)到login.php登錄處理頁面,
┊
┊ 輸入用戶名密碼后提交表單數(shù)據(jù),對輸入的用戶名和密碼進行去空格和轉(zhuǎn)譯操作
┊ 使用unescape將字符進行轉(zhuǎn)義,使用trim對所提交的字符進行去空格處理
┊ 查詢user表
線 if有此用戶then
┊ do檢查密碼是否正確;
┊ if密碼驗證正確,顯示登錄成功返回主頁面
┊ else密碼不符合,提示密碼錯誤;
┊
┊ Endif
┊ 系統(tǒng)登錄界面如圖4.3所示。
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
共43
第
PAGE
34
頁
頁
┊
┊
┊
┊
┊ 退出論壇系統(tǒng)功能實現(xiàn):
┊
圖4.3系統(tǒng)登錄界面
┊ 點擊退出登錄,從在線用戶表中刪除,使用WHERE從在線用戶表中選取用戶,并使
┊ 用DELETE語句刪除,then重定向到主頁index,php
┊
┊ 2、用戶注冊
┊ 用戶注冊包括填寫用戶名、密碼、郵箱。在注冊前要檢查該用戶名是否已經(jīng)被注
┊ 冊。密碼插入數(shù)據(jù)庫前要進行加密處理。
┊ 點擊注冊轉(zhuǎn)到register.php,調(diào)用user表,檢查提交表單中用戶名是否已經(jīng)存在,如果裝
┊ 不存在,將檢查2次輸入密碼是否輸入相同,以及檢查提交郵箱格式是否正確,將注
┊ 冊信息保存至user表中。
┊ 檢查用戶名是否存在:
┊ If用戶名已存在 then
┊ Do返回注冊頁面重新輸入用戶名;訂 If2次密碼輸入不一致then
┊
┊ Do返回注冊頁面重新輸入密碼;
┊ If 檢查郵箱格式不正確then
┊ Do返回注冊頁面重新輸入郵箱;
┊ Else注冊成功將數(shù)據(jù)寫入用戶表;
線 Endif
┊
┊
┊ 用戶注冊界面如圖4.4所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 3、發(fā)文功能
┊
圖4.4用戶注冊界面
┊ 根據(jù)課題內(nèi)容參考的要求,發(fā)文功能包括發(fā)新帖子、回復(fù)帖子、修改刪除自己發(fā)布的
裝 帖子。此功能是對論壇系統(tǒng)數(shù)據(jù)庫表進行增、刪、改的功能。
┊ 發(fā)新帖子功能如下:
┊ 如果是發(fā)表新帖子,點擊發(fā)新主題,生成一個發(fā)表新主題的頁面,將填寫的內(nèi)容提交,
┊ 分別對topic表和post表操作,使用INSERT語句將新帖數(shù)據(jù)插入主題表topic,將主
┊ 題帖子id,發(fā)帖人,發(fā)帖時間,帖子內(nèi)容等信息 insert進post表,改變主題帖中的最
┊ 后回復(fù)last_post_id一項,使用UPDATE更新topic表的屬性last_post_id,即最后發(fā)訂
┊ 表主題名稱,update更新用戶表users的用戶發(fā)帖數(shù)num_posts,和最后發(fā)帖時間
┊ 發(fā)表新帖子及回復(fù)界面如圖4.5、4.6所示。
┊
┊
┊線
┊
┊
┊
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
共43
第
PAGE
43
頁
頁
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊
┊
┊ 4、查詢功能
圖4.5發(fā)表新帖子界面
圖4.6回復(fù)界面
┊ 根據(jù)課題內(nèi)容參考的要求,查詢功能可查詢注冊用戶及其對應(yīng)的帖子。 等值連接posts
┊ 表和user表,查詢注冊用戶可對本論壇系統(tǒng)的 users表進行查詢,posts表包括論壇系
┊
┊ 統(tǒng)所有的主題和回復(fù)內(nèi)容。本論壇系統(tǒng)的查詢功能可使用泛查找,通配符使用“ *”,
┊ 在對數(shù)據(jù)庫進行查詢前要先把“*”號轉(zhuǎn)換成SQL語句中的“%”。連接user表,posts
和topics表,在user表中select該用戶名,列出該用戶的發(fā)帖信息。查詢功能界面如圖4.7所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
裝 5、用戶控制面板
圖4.7查詢功能界面
┊ 用戶控制面板是用戶對個人資料進行添加、修改和刪除的地方,可通過對 users
┊ 表的操作來完成此項功能。提交后使用 update語句對user表更新。
┊ 用戶控制面板界面如圖 4.8所示。
┊
┊訂
┊
┊
┊
┊
┊線
┊
┊
┊
┊ 圖4.8用戶控制面板界面
┊
┊ 4.3.3 版主功能
┊
┊ 1、具有全部普通用戶功能
┊ 2、版內(nèi)文章管理,包括增刪改查
┊ 本論壇系統(tǒng)在forums表中設(shè)置了moderators字段來記錄論壇的版主名,版主登錄系
┊ 統(tǒng)后,在進入所管理的論壇前,先對版主身份進行檢查,如果身份符合,則可享有和
發(fā)帖用戶一樣的處理帖子的權(quán)利。
版主版內(nèi)文章管理界面如圖4.9所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊ 圖4.9版主版內(nèi)文章管理界面
┊
┊ 3、取消或恢復(fù)用戶在版內(nèi)的發(fā)文權(quán)
┊
┊ 取消或恢復(fù)用戶在版內(nèi)的發(fā)文權(quán)是通過在 bans表中增加和刪除用戶來實現(xiàn)的,以
裝 添加禁止用戶為例,功能實現(xiàn)如下:
┊ 提交用戶名then
┊ Ifselectuser表,有該用戶信息then
┊ Doinsert插入bans表;
┊ Else提示沒有此用戶;
┊
訂
┊ 添加禁止用戶界面如圖4.10所示。
┊
┊
┊
┊
線 圖4.10添加禁止用戶界面
┊
┊ 4、重要主題前置功能
┊ 主題置頂功能實現(xiàn)如下:
┊ Update更新主題表topics中的sticky一項,設(shè)置為1
┊
┊ 重要主題前置功能界面如圖4.11所示。
┊
┊
┊
┊
┊
┊
┊
┊ 4.3.4 管理員功能
┊
圖4.11重要主題前置功能界面
┊ 1、管理員具有普通用戶和版主的所有功能
┊ 2、分論壇管理功能
┊ 此功能是管理員對categories表的操作,比較簡單。使用insert語句對categories表插
┊ 入版塊表單,或者使用update對已有版塊進行更新。
┊ 分論壇管理功能界面如圖4.12所示。
┊
┊
┊
┊裝
┊
┊
┊
┊
┊訂
┊
┊
┊
┊
┊ 圖4.12分論壇管理功能界面
線 3、論壇內(nèi)的文章管理,包括增刪改查
┊ 此功能與版主版內(nèi)文章管理功能類似。對 posts表update或delete操作
┊ 4、論壇用戶管理
┊ 根據(jù)課題內(nèi)容參考的要求,論壇用戶管理包括增刪用戶,指定版主等。由于篇幅的限
┊ 制,現(xiàn)對指定版主的主要功能如下:
┊
┊ 如果是指定版主操作
┊ if 用戶權(quán)限是不是管理員 then
┊ Do沒有權(quán)限
┊ Elseupdate更新USER表該用戶的status字段為1
┊
┊ 指定版主界面如圖4.13所示。
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊ 5、查所有人的IP
圖4.13指定版主界面
┊ 得到用戶ip地址的函數(shù)代碼如下:裝 functionget_remote_address()
┊ {/*$_SERVER["HTTP_X_FORWARDED_FOR"] :PHP定義的超全局變量,可以知道
┊
┊ 代理服務(wù)器的服務(wù)器名以及端口。 $_SERVER["HTTP_VIA"] 可以知道客戶的內(nèi)部
┊ ip*/
┊ if(isset($_SERVER['HTTP_X_FORWA--*/+*-RDED_FOR'])){// 進行正則表達式匹配訂 if(preg_match('/[0-9]{1,3}\.[ -9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/',
┊ $_SERVER['HTTP_X_FORWARDED_FOR'],$addresses))
┊ return$addresses[0];}
┊
┊ /*如果沒有地址在HTTP_X_FORWARDED_FOR,嘗試HTTP_CLIENT_IP ,如果還沒
┊ 有則返回REMOTE_ADDR*/
線 return (isset($_SERVER['HTTP_CLIENT_IP'])) ? $_SERVER['HTTP_CLIENT_IP'] :
┊ $_SERVER['REMOTE_ADDR'];
┊ }
┊
┊ 4.4 數(shù)據(jù)的安全性研究與實現(xiàn)
┊
┊ 4.4.1 論壇系統(tǒng)的安全體系
┊ 論壇系統(tǒng)存儲了大量的敏感數(shù)據(jù),它關(guān)系到管理員和用戶雙方的利益。 而且在系
┊ 統(tǒng)運行過程中,論壇管理員和用戶的操作都要涉及到這些敏感數(shù)據(jù)的處理, 因此,該
┊ 系統(tǒng)的安全性要求非常高。數(shù)據(jù)庫安全保密就是保證數(shù)據(jù)庫信息的完整、 可用,并可
┊
┊ 防止非授權(quán)用戶竊取或篡改數(shù)據(jù)信息。
為了保證數(shù)據(jù)庫的安全,主要采用了論壇用戶的安全管理、身份認證和加密技術(shù)等安全機制來實現(xiàn)數(shù)據(jù)庫的安全。
MySQLserver主要完成數(shù)據(jù)庫對象的存儲、管理、接收、執(zhí)行客戶機傳來的數(shù)據(jù)、指令,并將其執(zhí)行結(jié)果返回客戶機。在實現(xiàn)安全管理中支持多級安全管理機制,即在
┊ 進入系統(tǒng)時,要驗證用戶名和密碼。建立數(shù)據(jù)庫級安全管理,對數(shù)據(jù)庫進行存取時,
┊ 對不同的用戶授予不同的權(quán)限,以限制不同的用戶操作數(shù)據(jù)庫的權(quán)限等。
┊
┊ 4.4.2 論壇系統(tǒng)安全性的實現(xiàn)
┊
┊ 1、安全管理
┊ 由于系統(tǒng)用戶種類較多,由管理員負責(zé)數(shù)據(jù)庫結(jié)構(gòu)的維護、 管理等工作。其他用
┊ 戶只能直接使用數(shù)據(jù)庫中的數(shù)據(jù),但是不能對數(shù)據(jù)庫結(jié)構(gòu)進行更改。
┊ 2、用戶身份認證
┊ 論壇中包含大量的敏感數(shù)據(jù),為保證系統(tǒng)數(shù)據(jù)在存儲時和網(wǎng)絡(luò)傳輸中不被未經(jīng)授
┊ 權(quán)的用戶訪問或解讀,需用用戶名來標明用戶身份,經(jīng)系統(tǒng)鑒別用戶的合法性后,再
┊
┊ 利用口令進一步核實用戶身份。為保證口令的安全性,在口令提交過程中,不采用明
裝 文形式,即:先對口令加密后再傳輸在數(shù)據(jù)庫中以密文形式存放, 這樣就可以保證其
┊ 安全性,使用戶和服務(wù)器在通信過程中,可以防竊聽、防干擾、防消息偽造。
┊ 3、加密技術(shù)
┊ 考慮到原始數(shù)據(jù)以可讀的形式存儲在數(shù)據(jù)庫中,高明的入侵者可以從計算機系
┊ 統(tǒng)的內(nèi)存中導(dǎo)出所需要的信息,或者采用某種方式打入系統(tǒng),從系統(tǒng)的后備存儲器上
┊ 竊取數(shù)據(jù)或篡改數(shù)據(jù),這樣就無法保護數(shù)據(jù)的真實性、可靠性。因此,要徹底解決數(shù)訂
┊ 據(jù)庫的安全保密,除了在數(shù)據(jù)的傳輸過程中采取加密保護和控制非法訪問之外, 還必
┊ 須對存儲的數(shù)據(jù)進行加密保護。使得用戶在以明文的方式寫入數(shù)據(jù)時,數(shù)據(jù)庫中保存
┊ 的是密文數(shù)據(jù);在讀出數(shù)據(jù)時,則先把數(shù)據(jù)庫中的密文轉(zhuǎn)化成對應(yīng)的明文,然后再進
┊ 行相應(yīng)的操作。
┊ 4、數(shù)據(jù)的備份
線 數(shù)據(jù)備份與恢復(fù)是實現(xiàn)信息安全運行的重要技術(shù)之一,能保證信息系統(tǒng)因各種
┊
┊ 原因遭到破壞時,能盡快投入使用。任何一個數(shù)據(jù)庫在使用過程中,都可能因各種原
┊ 因而使數(shù)據(jù)庫受到破壞,而導(dǎo)致系統(tǒng)崩潰,這時就需要對數(shù)據(jù)庫進行相應(yīng)的安全恢復(fù)。
┊ 使用MySQL圖形管理工具phpMyAdmin可以完成對數(shù)據(jù)的數(shù)據(jù)備份與恢復(fù)。
┊
┊
┊
┊
┊
┊
┊
論壇系統(tǒng)性能優(yōu)化
論壇系統(tǒng)測試
在開發(fā)論壇系統(tǒng)過程中,需要面對很多復(fù)雜的問題,因此,在軟件設(shè)計的過程不
┊ 可避免產(chǎn)生錯誤。這里我們要求在每個設(shè)計階段都要經(jīng)過嚴格的測試, 盡可能早地發(fā)
┊ 現(xiàn)問題并解決。和一般的系統(tǒng)測試一樣,論壇系統(tǒng)的測試也要經(jīng)過單元測試、集成測
┊ 試、系統(tǒng)測試三個階段。其步驟如下圖 5.1圖:
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
裝 圖5.1系統(tǒng)測試
┊
┊ 1.單元測試
┊ 單元測試的用例從單元詳細設(shè)計中導(dǎo)出。在單元測試中可以采用功能性測試和結(jié)
┊ 構(gòu)性測試兩種。首先進行功能性測試,對于每一個功能模塊通過不斷的邊界及實例測
┊
訂 試進行錯誤挖掘,以使每個功能模塊不斷完善。然后進行單獨的結(jié)構(gòu)性測試,對于系
┊ 統(tǒng)結(jié)構(gòu)的每一個設(shè)計框架有個很好的總結(jié)和提煉。
┊ 2.集成測試
┊ 集成測試是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整的
┊ 系統(tǒng)而進行的測試,故也稱組裝測試或聯(lián)合測試。集成測試有漸增式和非漸增式測試
┊ 兩種方法。漸增式測試是把未經(jīng)過測試的模塊組裝到測試過的模塊上, 非漸增式測試線
┊ 是對每個模塊分別進行測試,然后按要求組裝在一起共同測試。
┊ 3.系統(tǒng)測試
┊ 在這個測試步驟中所發(fā)現(xiàn)的往往是需求規(guī)格說明的錯誤。 系統(tǒng)測試過程將整個管
┊ 理模塊進行整體測試,通過系統(tǒng)測試能夠?qū)⑿枨蠓治鰰r沒有考慮到的問題暴露出來,
┊ 以利于設(shè)計者對需求規(guī)格說明時的錯誤加以及時改正補充。 一般來說,系統(tǒng)測試是功
┊ 能性測試,而不是結(jié)構(gòu)性測試。
┊ 4.測試過程
┊
┊ 在論壇系統(tǒng)運行時按照需求分析逐項進行測試系統(tǒng)各模塊功能。 先通過單元(單
┊ 獨模塊)測試,再經(jīng)過集成測試(各模塊間聯(lián)系與交叉測試)和邊界數(shù)據(jù)的測試,最
┊ 后整個系統(tǒng)的完全測試。通過系統(tǒng)的整體測試,及時發(fā)現(xiàn)設(shè)計過程中的錯誤和缺陷,
對一般的模塊錯誤進行修改,對結(jié)構(gòu)性方面的問題及時調(diào)整。以使整個系統(tǒng)逐步走向規(guī)范化。
模板技術(shù)在論壇中的應(yīng)用
┊ 設(shè)計一個交互式網(wǎng)站,一定會關(guān)注兩個主要的問題,就是美工和程序。這也是一
┊ 個網(wǎng)站在建設(shè)中拋開其內(nèi)容之后最關(guān)鍵的要素。通常有兩種方式來協(xié)調(diào)美工和程序之
┊ 間的關(guān)系:
┊ 1、先做好美工頁面,然后由程序員直接在美工頁面的 HTML文件中嵌入ASP、
┊ JSP、PHP等程序代碼。
┊
┊ 2、美工和程序同時進行,但這時因為沒有頁面框架,程序只能做出一些關(guān)鍵代
┊ 碼,雙方完成后再進行一次美工頁面和程序代碼的嵌入合成。
┊ 在實際的網(wǎng)站建設(shè)過程中,由于人員、進度等環(huán)境的限制,大家通常會混合地使
┊ 用上面兩種協(xié)調(diào)方式。然而這兩種方法都有不足之處:
┊ 1.效率不高。兩者協(xié)調(diào)不好可能產(chǎn)生等待、重復(fù)代碼調(diào)試步驟等現(xiàn)象;
┊ 2.調(diào)試不暢。由于程序代碼最終需要嵌入在HTML頁面中,代碼的嵌入、調(diào)試、
┊ 糾錯都比較繁瑣;裝
┊ 3.維護不便。一旦美工設(shè)計需要修改,如網(wǎng)站改版,那么所有程序和 HTML代
┊ 碼混合頁面都需要重寫。
┊ PHP的模板技術(shù)會比較圓滿地解決上述問題。PHP模板即PHPlib的Template技
┊ 術(shù),是PHPLIB程序庫中的一個主要模塊之一,發(fā)展自 Perl的Template。PHPLIB是
┊ 在PHP上的一個擴展,提供了很多類庫,能夠方便地實現(xiàn)一些基本功能如用戶認證、訂 數(shù)據(jù)庫封裝等。模板技術(shù)的核心概念是要將美工頁面指定為模板文件, 只需將頁面中
┊
┊ 活動的內(nèi)容如數(shù)據(jù)庫輸出、用戶交互等部分定義成變量的形式放在模板文件中相應(yīng)的
┊ 位置,當(dāng)用戶瀏覽時,由PHP程序文件打開該模板文件,將模板文件中定義的變量
┊ 替換成對應(yīng)的數(shù)據(jù)庫輸出或者用戶交互等動態(tài)生成內(nèi)容。
┊ 使用模板技術(shù)的兩個主要目的是分離和布局。第一個目的是談?wù)摰米疃嗟哪康?,線 它設(shè)想的情形是:一組程序員編寫用于生成頁面內(nèi)容的 PHP腳本,同時另一組設(shè)計
┊ 人員設(shè)計HTML 和圖形以控制頁面的最終外觀。分離功能和布局的基本思想就是使
┊
┊ 得這兩組人能夠各自編寫和使用獨立的一組文件:程序員只需關(guān)心那些只包含 PHP
┊ 代碼的文件,無需關(guān)心頁面的外觀;而頁面設(shè)計人員可以用自己最熟悉的可視化編輯
┊ 器設(shè)計頁面布局,無需擔(dān)心破壞任何嵌入到頁面的 PHP代碼。
┊ 模板技術(shù)很輕松地把網(wǎng)站設(shè)計分離成了清晰的美工和程序兩個方面, 并把他們的
┊ 成果簡單方便地結(jié)合了起來。如美工設(shè)計需要修改,那么只要記住原模板中的各個變
┊ 量名,把他們插入到新模板中對應(yīng)位置就可以了。另一方面,在 PHP程序中基本沒
┊ 有了PHP腳本和HTML語法混合的現(xiàn)象,很大地提高了PHP系統(tǒng)的執(zhí)行效率,而且
┊
┊ 如果是數(shù)據(jù)庫等一些費時的操作, 現(xiàn)在可以很及時地關(guān)閉數(shù)據(jù)庫,釋放資源,這樣也
安徽工業(yè)大學(xué)
畢業(yè)設(shè)計(論文)說明書
┊
┊
┊
共43
第
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙碳背景下董責(zé)險在企業(yè)治理結(jié)構(gòu)中的價值
- 信息配載管理制度
- 公司晾衣區(qū)管理制度
- 公司飲水機管理制度
- 加油站廣告管理制度
- 大數(shù)據(jù)支持下的社區(qū)養(yǎng)老服務(wù)供給協(xié)同機制
- 大學(xué)110管理制度
- 小公司薪酬管理制度
- 市場化用電管理制度
- 挖掘機大隊管理制度
- S7-1200 PLC編程及應(yīng)用 第4版習(xí)題答案
- GB/T 44669-2024殘疾人服務(wù)機構(gòu)服務(wù)規(guī)范
- 餐飲服務(wù)管理制度
- 054.產(chǎn)科危急重癥早期識別中國專家共識(2024年版)
- 廣東省廣州三校2023-2024學(xué)年高二下學(xué)期期末考試+物理試卷(含答案)
- 以“勝任力”為導(dǎo)向的腎臟泌尿整合智慧樹知到答案2024年上海市同濟醫(yī)院
- 車站值班員(中級)鐵路職業(yè)技能鑒定考試題及答案
- 2024年陜西省西安市中考地理試題卷(含答案逐題解析)
- 2023-2024學(xué)年吉安市遂川縣七年級語文(下)期末試卷附答案詳析
- 2024屆廣東省深圳市南山區(qū)數(shù)學(xué)五下期末統(tǒng)考試題含解析
- 信訪工作條例應(yīng)知應(yīng)會考試題庫300題(含答案)
評論
0/150
提交評論