【正文】
接過于緊密。 最后,根據(jù)開 發(fā)者經(jīng)驗(yàn),由于開發(fā)者將一個(gè)應(yīng)用程序分成了三個(gè)部件,所以使用 MVC 同時(shí)也意味著你將要管理比以前更多的文件,這一點(diǎn)是顯而易見的。網(wǎng)上留言信息需要一個(gè)表來存儲(chǔ),另外聊天室也需要一個(gè)表來存儲(chǔ)信息,因此整個(gè)系統(tǒng)需要兩個(gè)表,具體設(shè)計(jì)如表 表 3所示: 第 9 頁 共 20 頁 表 2 留言信息存儲(chǔ)表 字段名 類型 說明 id Int(6) primry key 留言 id tname Varchar(6) 留言者姓名 tx Int(3) 頭像 dtime Datetime 留言時(shí)間 title Varchar(33) 留言標(biāo)題 qq Int(13) 留言者 qq Varchar(25) 留言者 nei Text 留言內(nèi)容 htime Datetime 回復(fù)時(shí)間 estate Int(1) 留言狀態(tài) hnei Text 回復(fù)內(nèi)容 ip Varchar(15) 留言者 ip send_mail Bool 是否接收回復(fù)郵件 表 3 聊天室信息存儲(chǔ)表 字段名 類型 說明 chtime Datetime 信息發(fā)布時(shí)間 nick Varchar(10) 用戶名稱 words Varchar(100) 聊天內(nèi)容 添加功能與管理功能的設(shè)計(jì)與實(shí)現(xiàn) 設(shè)計(jì)方案的介紹 在前面的文章中 已經(jīng)介紹了 MVC 編程架構(gòu)的特點(diǎn),本系統(tǒng)的添加功能與管理功能就是采用 MVC 編程架構(gòu)開發(fā)的。這種模式還具有多視圖對(duì)應(yīng)一個(gè)模型的能力,對(duì)多種不同方式的訪問請(qǐng)求可 以用一個(gè)模型來實(shí)現(xiàn),減少了代碼的重復(fù)和維護(hù)量,一旦模型改變也易于維護(hù)。在管理界面中,每一個(gè)功能都對(duì)應(yīng)了一個(gè)視圖,這樣方便了管理員區(qū)分和使用不同的功能。要解決這個(gè)問題就會(huì)用到 PHP 的Session 功能,我們通過 Session 記錄用戶的有關(guān)信息,以供用戶再次以此身份對(duì) Web 服務(wù)器提供要求時(shí)作確認(rèn)。本系統(tǒng)涉及的數(shù)據(jù)表比較單一,即每次操作主要針對(duì)一個(gè)數(shù)據(jù)表。第二種發(fā)送方式實(shí)際上是利用 PHP 的 SOCKET 函數(shù)來和 SMTP 服務(wù)器建立一個(gè)連接,然后發(fā)送文本的命令給服務(wù)器 , 一封內(nèi)容簡(jiǎn)單的郵件就發(fā)送出去了 。在這里我用 Html 語言編寫了一個(gè)留言框模板,這個(gè)模 第 15 頁 共 20 頁 板主要用于定義留言信息的顯示格式。在這里主要還是用 PHP語言調(diào)用 MYSQL 數(shù)據(jù)庫操作類去實(shí)現(xiàn)四個(gè)功能:讀取數(shù)據(jù)、搜索、分頁和統(tǒng)計(jì)。使用這項(xiàng)功能的好處還在于防止用戶利用機(jī)器人自動(dòng)灌水以及防止某些用戶采用 暴力破解方式 對(duì) 管理員密碼 進(jìn)行不斷的登陸嘗試 。 我們要讓系統(tǒng)輸出 BMP圖片就必需了解 BMP文件的結(jié)構(gòu)。 $i) // 歷經(jīng)所有行 { $li++。 $di=$i$di。聊天室主 要分為 WebChat、 BBSChat兩種。網(wǎng)上留言系統(tǒng)也將由于越來越多的人學(xué)習(xí)和使用 PHP 語言,而變得更加完善。但不開發(fā)這項(xiàng)功能也是從網(wǎng)上留言系統(tǒng)的實(shí)際應(yīng)用出發(fā),如果開發(fā)了注冊(cè)登入功能就會(huì)增加 客戶的操作次數(shù),從而影響客戶對(duì)系統(tǒng)的滿意度。 關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說明: 本人完全 了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: ( 1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。and let them inscribe their laws on a column in front of the courtof the wardens of the agora, that they may be clear instructors ofthose who have business in the agora. Enough has been said in what haspreceded about the wardens of the city, and if anything seems to bewanting, let them municate with the guardians of the law, and writedow n the omission, and place on a column in the court of the wardensof the city the primary and secondary regulations which are laiddown for them about their office. After the practices of adulteration naturally follow the practicesof retail trade. Concerning these, we will first of all give a word ofcounsel and reason, and the law shall e afterwards. Retail trade ina city is not by nature intended to do any harm, but quite thecontrary。 and in the second place, they must assign the oc cupationto that class of men whose corruption w ill be the least injury tothe state。 but still more should they have a watch overthose who are of another sort, and follow pursuits w hich have a verystrong tendency to make men bad. And, therefore, in respect of themultifarious occ upations of retail trade, that is to say, in respectof such of them as are allowed to remain, because they seem to bequite necessary in a stateabout these the guardians of the law shouldmeet and ta ke counsel w ith those who have experience of the severalkinds of retail trade, as we before manded, concerning adulteration(which is a matter a kin to this), and w hen they meet they shallconsider what amount of receipts, after deducting expenses, willproduce a moderate gain to the retail trades, and they shall fix inwriting and strictly maintain what they find to be the rightpercentage of profit。and if he appear to throw dirt upon his father39。 or if, in consequence ofsome fate or necessity, the best women were pelled to followsimilar callings, then we should know how agreeable and pleasant allthese things are。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。 [3] PHP5開發(fā)手則 [EB]. [4] MYSQL中文手冊(cè) [EB]. [5] MVC模式 [OL]. [6] BMP文件結(jié)構(gòu) [OL]. [7] 黃 國(guó)輝 .PHP聊天室技術(shù) [OL]. [8] 讓插入到 innerHTML 中的 Script 跑起來 [OL]. 第 19 頁 共 20 頁 致 謝 本文是在歐曉聰老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。因此提高了編程人員的開發(fā)效率,使得 系統(tǒng)的結(jié)構(gòu)更加清晰,管理也更加方便。本系統(tǒng)的聊天室就是采用 WebChat的 Client Pull技術(shù),該技術(shù)是利用 Html語言的 Meta標(biāo)簽“ equiv=Refresh”的屬性,每隔一段時(shí)間就檢查服務(wù)器上是否有新的數(shù)據(jù)。 $imgnei=$imgnei.$vColorData[$ra_sjs]。 $iii 20。下面就給出 100象素的字符在 400象素的方框內(nèi)隨機(jī)定位的 256色 BMP圖片生成函數(shù)的核心代碼: $ra_sj=rand(0,3)。 因此第一種方法就是對(duì)于那些支持 GD庫的空間,調(diào)用 PHP的 GD庫函數(shù)來生成圖像再搭配 PHP的“ RAND()”函數(shù)來生成隨機(jī)數(shù)最終制作出驗(yàn)證碼。分頁功能學(xué)要在 “ SELECT?? FROM”語句后面加上“ ORDER BY?? LIMIT”限制每頁輸出固定條數(shù)的留言信息。在這里 ID 是 JavaScript 標(biāo)簽容器命名屬性 ,innerHTML 表示一個(gè)容器內(nèi)所包含的所有代碼 ,通過“ ”就能夠在JavaScript 中取得 View 部分所定義的留言框模板的代碼。這些函數(shù)的具體功能包括: ( 1)接收功能常量; ( 2)接收用戶在前臺(tái)輸入的數(shù)據(jù); ( 3)限制用戶信息輸入的范圍; ( 4)過濾用戶輸入的錯(cuò)誤數(shù)據(jù); ( 5)顯示頁面跳轉(zhuǎn)窗口。 另外還設(shè)計(jì)了一個(gè)郵件發(fā)送類。但換一種角度去思考,“關(guān)閉瀏覽器即會(huì)失效”其實(shí)是從安全的角度設(shè)計(jì)的。 就管理功能而言,首先要明確的是身份認(rèn)證的歸屬,它似乎是應(yīng)用邏輯的一部分,因此是屬于 Model。 各部分實(shí)現(xiàn)過程的介紹 首先介紹 View 部分的實(shí)現(xiàn)過程。 Controller主要是通過調(diào)用 Model 內(nèi)的自定義函數(shù)、 MYSQL 數(shù)據(jù)庫操作類以及郵件發(fā)送類來處理不同的請(qǐng)求。管理員負(fù)責(zé)維護(hù)整個(gè)留言系統(tǒng),在對(duì)其身份進(jìn)行確認(rèn)后,能夠 對(duì)網(wǎng)上留言進(jìn)行回復(fù)、修改以及 刪除 。對(duì)未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能。 MVC 架構(gòu)的缺點(diǎn) MVC 的缺點(diǎn)是由于它沒有明確的定義,所以完全理解 MVC 并不是很容易。并且由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。 產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿足用戶的變化性需求。例如,用戶點(diǎn)擊一個(gè)鏈接,控制層接收請(qǐng)求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,把符合要求的視圖返回給用戶。抽象與具體不能隔得太遠(yuǎn),也不能太近。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給 Controller 和 Model。 B/ S 架構(gòu)的缺點(diǎn) 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重 是 B/ S架構(gòu) 的缺點(diǎn) 。所以客戶機(jī)越來越“ 瘦 ” ,而服務(wù)器越來越 “ 胖 ” 是將來信息化發(fā)展的主流方向。 第 4 頁 共 20 頁 B/ S 架構(gòu)的優(yōu)點(diǎn) B/ S 結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。 JavaScript 還 可以使多種任務(wù)僅在 客戶 端就可以完成而不需要網(wǎng)絡(luò)和服務(wù)器的參與,從而支持分布式的運(yùn)算和處理。 JavaScript 的出現(xiàn)使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)的、動(dòng)態(tài)的、可交式的表達(dá)能力。 ( 2)通過 ODBC PHP 通過 ODBC 連接 MYSQL ODBC_CONNECT():用來同 ODBC ODBC_DO() ODBC_RESULT() ODBC_FETCH_ROW():用來把查詢結(jié)果保存到數(shù)組,每個(gè)數(shù)組元素對(duì)應(yīng)一條記 上述兩種方法在與數(shù)據(jù)庫建立連接的語法上,并沒有太大差別。 PHP對(duì) MYSQL數(shù)據(jù)庫的訪問 MYSQL 是一個(gè)快速、健壯和易用,且支持 多線程、多用戶的 SQL數(shù)據(jù)庫服務(wù)器。現(xiàn)在有了可以與 Mod_ Perl速度想媲美的被稱作 Zend的新引擎,而 PHP5就可以充分利用這個(gè)引擎。留言系統(tǒng)的具體實(shí)現(xiàn)是采用服務(wù)器端腳本語言 PHP 來完成對(duì)系統(tǒng)后臺(tái)的開發(fā)以及使用 Html 語言和 JavaScript 腳本語言來完成對(duì)系統(tǒng)前臺(tái)的開發(fā)。 Message Board System 目 錄 論文總頁數(shù): 20頁 1 引言 ................................................................... 1 課題背景 ........................................................... 1 本課題研究的意義 .................................................... 1 本課題的研究方法 .................................................... 1 2 留言系統(tǒng)開發(fā)語