版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)說明書</p><p> 基于B / S模式的個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 學(xué) 院 </p><p> 專業(yè)班級(jí) 計(jì)算機(jī)科學(xué)與技術(shù)2班 </p><p> 學(xué)生姓名 &
2、lt;/p><p> 學(xué)生學(xué)號(hào) </p><p> 指導(dǎo)教師 </p><p> 提交日期 2014年 5月 13日 </p><p><b> 摘 要</b></p><p> 國(guó)內(nèi)各大網(wǎng)站上均有各自的博客系統(tǒng),但是各有局限
3、、功能欠缺,為了實(shí)現(xiàn)無需成本,無需技術(shù),便可搭建自己的博客系統(tǒng),本文設(shè)計(jì)開發(fā)了一種功能簡(jiǎn)潔、頁(yè)面美觀、便于流行的博客系統(tǒng)。</p><p> 系統(tǒng)采用了動(dòng)態(tài)Web應(yīng)用PHP技術(shù)開發(fā)博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),后臺(tái)采用MYSQL數(shù)據(jù)庫(kù)系統(tǒng),結(jié)合JavaScript和HTML ,實(shí)現(xiàn)了功能較為全面的個(gè)人博客系統(tǒng),其中還獨(dú)創(chuàng)了小聊天室功能,用戶可以在其中進(jìn)行在線的交流。無論是普通用戶的前臺(tái)操作,還是管理員的后臺(tái)管理,都會(huì)簡(jiǎn)
4、單易行,頁(yè)面簡(jiǎn)潔美觀,訪問方便,用戶也可以通過自己的博客系統(tǒng)隨時(shí)發(fā)表自己的文章、查看評(píng)論,也能輕易地檢索到自己需要的資料,并發(fā)表意見,及時(shí)的與別人進(jìn)行信息的共享與交流。</p><p> 本文對(duì)博客系統(tǒng)進(jìn)行整體分析,明確了系統(tǒng)的可行性和用戶需求,根據(jù)模塊化原理,規(guī)劃設(shè)計(jì)了系統(tǒng)功能模塊;在數(shù)據(jù)庫(kù)設(shè)計(jì)部分,詳細(xì)說明了系統(tǒng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)和數(shù)據(jù)庫(kù)的完整性、安全性措施;程序設(shè)計(jì)則采用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,提出系統(tǒng)的程序設(shè)
5、計(jì)思路,對(duì)前臺(tái)與后臺(tái)功能的程序?qū)崿F(xiàn)進(jìn)行了詳細(xì)論述;系統(tǒng)測(cè)試部分,具體分析測(cè)試過程中出現(xiàn)的主要問題,并提出了解決方案,實(shí)現(xiàn)系統(tǒng)功能。最后,對(duì)系統(tǒng)作以客觀、全面的評(píng)價(jià),并對(duì)進(jìn)一步改進(jìn)提出了建議。</p><p> 關(guān)鍵詞:博客;PHP;MYSQL</p><p><b> Abstract</b></p><p> Many major si
6、tes have their own blog system, but lacking in functionalitywhich each has limitations, in order to achieve a system of our own blog, for zero cost, zero technology, This page appearance, more convenient for popular blog
7、 system. </p><p> This system uses a dynamic Web application design and implementation of PHP blog system technology development, using MYSQL database system to technical background, combined with JavaScrip
8、t and HTML, to achieve a more comprehensive functional personal blog system, which also original a small chat room, users can communicate online . Whether it is the ordinary operation of the user's foreground or back
9、ground management administrator, will be simple, the page simple and beautiful, easy to access, </p><p> In this paper, which overall analysis of the blog system , defined the feasibility of the system and
10、user needs . according to a modular principle to planning and design of the system functional modules . in database design section , a detailed description of the integrity, security system database structures and databa
11、ses measures . program design is the use of object-oriented program design, program design ideas proposed system , the function of the front and back of program implementation are</p><p> Key words: blog; P
12、HP; MYSQL</p><p><b> 目 錄</b></p><p> AbstractII</p><p><b> 目 錄III</b></p><p><b> 第一章 緒 論1</b></p><p> 1.1.
13、60;博客的產(chǎn)生1</p><p><b> 1.2課題意義1</b></p><p> 1.3國(guó)內(nèi)外研究現(xiàn)狀與發(fā)展趨勢(shì)2</p><p> 1.4 本章小結(jié)2</p><p> 第二章 可行性與需求分析3</p><p> 2.1可行性分析3</p>
14、<p> 2.1.1 經(jīng)濟(jì)可行性3</p><p> 2.1.2 技術(shù)可行性3</p><p> 2.1.3 操作可行性4</p><p> 2.1.4 硬件可行性4</p><p><b> 2.2需求分析4</b></p><p> 2.2.1性能需求4&l
15、t;/p><p> 2.2.2系統(tǒng)綜合需求5</p><p> 2.2.3系統(tǒng)需求管理規(guī)劃表6</p><p> 2.3數(shù)據(jù)庫(kù)需求分析7</p><p> 2.3.1 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介7</p><p> 2.3.2 數(shù)據(jù)庫(kù)表的設(shè)計(jì)7</p><p> 2.4本章小結(jié)11
16、</p><p> 第三章 系統(tǒng)開發(fā)工具及選擇理由12</p><p> 3.1PHP介紹12</p><p> 3.2 B/S結(jié)構(gòu)12</p><p> 3.3JavaScript語(yǔ)言13</p><p> 3.4本章小結(jié)13</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)14
17、</p><p><b> 4.1概述14</b></p><p> 4.11 用戶登錄14</p><p><b> 4.12主頁(yè)15</b></p><p> 4.13 瀏覽日記15</p><p> 4.14 添加文章17</p>&l
18、t;p> 4.15 刪除文章19</p><p> 4.16 聊天室19</p><p> 4.17后臺(tái)管理21</p><p> 4.2本章小結(jié)22</p><p> 第5章 軟件測(cè)試23</p><p> 5.1 軟件測(cè)試定義23</p><p> 5.2 制
19、定測(cè)試計(jì)劃23</p><p> 5.2.1 測(cè)試目標(biāo)23</p><p> 5.2.2 設(shè)計(jì)測(cè)試方案23</p><p> 5.3 功能測(cè)試23</p><p> 5.4 測(cè)試執(zhí)行情況24</p><p> 5.5 測(cè)試結(jié)論24</p><p> 5.6 本章小結(jié)25
20、</p><p><b> 結(jié) 論26</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 致 謝28</b></p><p><b> 第一章 緒 論</b></p><p> 1.
21、1. 博客的產(chǎn)生</p><p> “博客”起源于中國(guó),歷史學(xué)家普遍認(rèn)為,最早來自中國(guó)秦朝。 秦始皇被刺殺,找到一位俠客,并選擇博浪沙作為刺殺地點(diǎn),刺殺結(jié)果失敗。但秦帝國(guó)仍然受到這一事件感到震驚,紛紛在第一時(shí)間對(duì)其進(jìn)行報(bào)道,無數(shù)竹簡(jiǎn)在驛道上來回奔跑,上述消息僅刻著朱紅色的一行篆字:“博浪沙之俠客”因此,在原來的意思是“博客”是指突發(fā)的大事件。</p><p> 開發(fā)博客,需求
22、和前景</p><p> 2001年9月重要11日,世界貿(mào)易中心恐怖襲擊,博客已經(jīng)成為災(zāi)難的重要信息和經(jīng)驗(yàn)來源。從此,博客正式進(jìn)人們的身邊?;蛟S是這一系列恐怖襲擊,讓人們了解到生命的珍貴,人際溝通是非常被人們所需要的,這種直接最有效的傳遞信息的方式,讓人們有了全新的認(rèn)識(shí)。</p><p> 從發(fā)展的早期階段,一方面是一個(gè)雙功能的博客,它是一個(gè)偉大的工具,在網(wǎng)上寫日志功能,可以記錄個(gè)人生
23、活,展示自我的文本形式,也可以讓別人在網(wǎng)絡(luò)上了解他們的自己的,博客是一個(gè)舞臺(tái)來展示自己;其他博客也是一個(gè)偉大的溝通工具,利用博客可以發(fā)送一些重要的新聞的最直接和最有效的方式與人溝通。正好砸在世貿(mào)中心的恐怖襲擊,網(wǎng)絡(luò)的第一個(gè)事件作為一個(gè)信息源,我們可以看到博客的重要性。制定一個(gè)個(gè)人博客系統(tǒng),是基于這樣的一個(gè)想法,通過各種方式來表達(dá)自己和與他人溝通。</p><p><b> 1.2課題意義</b&
24、gt;</p><p> 博客系統(tǒng)是這樣一種影響力頗大的媒介將有利于好的思想和好的事物的傳播,有利于社會(huì)的進(jìn)步。但也無法忽略個(gè)人博客目前所面臨的主要問題:由于文化市場(chǎng)監(jiān)督不利,網(wǎng)絡(luò)技術(shù)發(fā)展不完善等原因,勢(shì)必會(huì)造成一些暴力、淫穢以及影響社會(huì)安定的內(nèi)容廣泛傳播于網(wǎng)絡(luò),這就需要文化部門的有力監(jiān)督。[1]所以要把博客好的方面的影響力發(fā)揮到最大,怎樣使博客朝著正確的方向發(fā)展必然就要求開發(fā)博客新技術(shù)來獲得更多人的認(rèn)可。&l
25、t;/p><p> 一旦博客研究取得關(guān)鍵性技術(shù)的新突破,將會(huì)在網(wǎng)絡(luò)世界掀起一股前所未有的博客浪潮,介時(shí)將會(huì)有更多的人擁有自己的博客,博客影響力也將倍增。這時(shí)通過博客一些新的科學(xué)技術(shù)將更容易推廣,好的政策和好的思想也會(huì)更加容易傳播,同樣抑制或者讓不良思想無法在博客系統(tǒng)中進(jìn)行傳播。如果這樣相信社會(huì)的進(jìn)步將會(huì)是顯而易見的。</p><p> 本文開發(fā)的博客系統(tǒng)就是為管理員提供可管理的一個(gè)網(wǎng)絡(luò)空間
26、,同時(shí)為瀏覽者提供瀏覽文章、查看圖片、發(fā)表評(píng)論的功能,博客管理員對(duì)整個(gè)系統(tǒng)的博客內(nèi)容進(jìn)行管理,享有最高管理權(quán)。本文采用PHP+Tomcat+Mysql進(jìn)行系統(tǒng)開發(fā),功能性設(shè)計(jì)方面依據(jù)現(xiàn)有的博客系統(tǒng)的已有功能進(jìn)行進(jìn)行整合擴(kuò)展,實(shí)現(xiàn)更符合個(gè)人需求的博客系統(tǒng),博客系統(tǒng)的興起與不斷壯大對(duì)我國(guó)社會(huì)文化,我國(guó)網(wǎng)絡(luò)時(shí)代具有特殊的意義。 </p><p> 1.3國(guó)內(nèi)外研究現(xiàn)狀與發(fā)展趨勢(shì) </p>
27、;<p> 博客的發(fā)展與互聯(lián)網(wǎng)的發(fā)展是緊密相關(guān)的, 目前互聯(lián)網(wǎng)上的博客提供服務(wù)主要有一下的三種類型:</p><p> 一、專業(yè)型的博客提供服務(wù):即網(wǎng)站的主要業(yè)務(wù)是提供博客服務(wù), 如中國(guó)博客網(wǎng)、網(wǎng)易博客等。</p><p> 二、附屬型博客提供服務(wù):博客服務(wù)是整個(gè)網(wǎng)站中的一個(gè)子系統(tǒng),是為網(wǎng)站的一個(gè)擴(kuò)展功能,對(duì)其他的功能氣相互相成的作用,如新浪、CSDN等</p&g
28、t;<p> 三、個(gè)人的博客提供服務(wù):這種應(yīng)用類型所需要的條件較高, 使用者需要自己提供服務(wù)器空間、域名和博客程序, 但這種類型所給予用戶的自由度也最大。</p><p> 而從博客自身的縱向發(fā)展來看, 其功能經(jīng)歷了一個(gè)從簡(jiǎn)單到復(fù)雜的過程。早期的博客系統(tǒng)只不過實(shí)現(xiàn)了在用戶的一個(gè)專門頁(yè)面發(fā)布信息的功能, 而伴隨著XML與RSS技術(shù), 博客能夠以一種新的數(shù)據(jù)形式發(fā)布和訂閱文章;伴隨著TrackBac
29、k和PingBack功能, 博客引入了一種主動(dòng)通告的機(jī)制, 使得用戶們更容易形成一個(gè)緊密結(jié)合的社區(qū);通過對(duì)XML-RPC以及WebService七的支持, 博客用戶能夠以離線的方式添加或修改日志, 帶來了更加靈活的操作方式通過CSS、html等頁(yè)面開發(fā)技術(shù), 博客用戶能夠更加隨意、自由地更改顯示外觀, 表現(xiàn)自己的個(gè)性。[2]博客系統(tǒng)已經(jīng)成為一個(gè)強(qiáng)大的個(gè)人展示平臺(tái), 一些中小企業(yè)甚至可以將博客作為一個(gè)宣傳自身、介紹產(chǎn)品的門戶。</p
30、><p> 作為一個(gè)典型的Web應(yīng)用程序, 博客系統(tǒng)的實(shí)現(xiàn)方式可以是多種多樣的,其開發(fā)可以采用目前流行的任何一種Web開發(fā)技術(shù)。技術(shù)本身并無優(yōu)劣之分,但考慮到快速便捷的整體規(guī)劃, 本博客系統(tǒng)采用PHP作為實(shí)現(xiàn)平臺(tái),大量地吸收了PHP平臺(tái)的優(yōu)點(diǎn)實(shí)現(xiàn)了一個(gè)輕型、便捷,較可靠的博客系統(tǒng)。</p><p><b> 1.4 本章小結(jié)</b></p>&
31、lt;p> 本章主要介紹了博客的歷史、博客是怎么產(chǎn)品的及它的發(fā)展過程,還有選題的意義。</p><p> 第二章 可行性與需求分析</p><p><b> 2.1可行性分析</b></p><p> 在確定開發(fā)工具和相關(guān)技術(shù)知識(shí)的理解后,開始正式進(jìn)入系統(tǒng)開發(fā)階段。首先,我們要研究系統(tǒng)的可行性。</p><p&
32、gt; 系統(tǒng)的可行性研究是為了確定以最低的代價(jià)在最少的時(shí)間內(nèi)把問題解決。然而可行性研究的目的不是為了解決問題,而是確定問題是否值得解決。因此,可行性研究實(shí)質(zhì)上是一個(gè)系統(tǒng)的分析和設(shè)計(jì)過程中,為了更抽象的方式達(dá)到一個(gè)更高的水平。</p><p><b> 經(jīng)濟(jì)可行性</b></p><p> 一、在傳播方面,博客非常適合傳播的針對(duì)性,對(duì)于不同類型的博客,分割的高度,
33、定向相對(duì)準(zhǔn)確的,相關(guān)的廣告客戶根據(jù)博客廣告的類型,因此對(duì)廣告單元觀眾的值相對(duì)較高。</p><p> 二、在傳播過程中,博客的傳遞時(shí)對(duì)于個(gè)人的,而以前的廣告或者賣東西通常是對(duì)于大眾的,在大眾和個(gè)人之間是分開來的,而人與人的溝通是建立在個(gè)人之間,所以博客被稱為是更有潛力的溝通,在眾多類型的傳播,人際傳播的效果比其他形式的溝通更好,尤其是在說服和溝通的情感方面。郭慶光的《傳播學(xué)教程》一書中指出,一方面是和強(qiáng)大的雙向
34、人際溝通,及時(shí)反饋,互動(dòng)頻率高,而另一方面,人際溝通是非制度化的溝通的一種形式,教授,即建立與自發(fā),自主和非強(qiáng)制性的傳播之間的關(guān)系,人際交往主要是基于自愿的活動(dòng)和協(xié)商一致的基礎(chǔ)上。</p><p> 三、在傳播的手段,博客的廣告與傳統(tǒng)的廣告方式對(duì)比,更加針對(duì)特定人群,價(jià)格也相比傳統(tǒng)廣告更低。博客作為Web2.0模式代表了過渡從商家為客戶提供積極的主動(dòng)越好,然后雙方互相舉措。方興東認(rèn)為, Web2.0的個(gè)性化主張
35、使個(gè)人,而不是一個(gè)被動(dòng)的對(duì)象,但由于涉及互聯(lián)網(wǎng)主題,網(wǎng)民作為個(gè)體,而且在同一時(shí)間,互聯(lián)網(wǎng)已成為活躍的傳播者和生產(chǎn)的人。[3]另一種身體成分博客與網(wǎng)友交流通常是光明公眾的一部分,這些人有欲望和表現(xiàn)相對(duì)較強(qiáng)的表達(dá),因此參與的廣告意識(shí)也比較強(qiáng)。</p><p> 四、在傳播技術(shù)上,個(gè)人博客廣告通過準(zhǔn)確的定位技術(shù)鎖定的人群,直接在目標(biāo)人群面前發(fā)表。例如,使用語(yǔ)義分析技術(shù)可以直接把文章圍繞與業(yè)務(wù)有關(guān)的區(qū),您可以鎖定特定目
36、標(biāo)人群的廣告客戶,廣告計(jì)費(fèi)可以根據(jù)廣告客戶的需求,根據(jù)時(shí)段,節(jié)目的數(shù)量,點(diǎn)擊支付的數(shù)量,也可以通過支付是否有效付費(fèi)。</p><p><b> 技術(shù)可行性</b></p><p> PHP可以做到所有你想到的任務(wù)。 因?yàn)镻HP主要用于服務(wù)器端腳本程序,所以你能用 PHP所有其它的 CGI 程序能夠完成的工作,例如收集表單數(shù)據(jù),生成動(dòng)態(tài)頁(yè)面內(nèi)容。使用PHP,能任意的
37、選擇操作系統(tǒng)和 web 服務(wù)器。[4]還可以在選擇對(duì)象的過程中聯(lián)合起來一起使用。盡管PHP 4不能支持所有的標(biāo)準(zhǔn),許多代碼和大型的應(yīng)用軟件僅使用OOP代碼來開發(fā)。PHP 5 彌補(bǔ)了 PHP 4 的這一缺陷,添加了完整的對(duì)象模型。使用PHP 不僅僅能夠輸出HTML。[4]還能用來輸出動(dòng)態(tài)圖像、PDF 文件甚至動(dòng)畫。PHP能夠自己生成這些文件,對(duì)于不是靜態(tài)的內(nèi)容可以在服務(wù)器中暫時(shí)保存,也可以打印出來。PHP是最顯著的特點(diǎn)最強(qiáng)大之一是它適用范
38、圍廣的數(shù)據(jù)庫(kù)的支持。用戶會(huì)發(fā)現(xiàn),使用PHP編寫數(shù)據(jù)庫(kù)支持的網(wǎng)頁(yè)簡(jiǎn)單得難以置信。綜上所述, PHP + Apaceh + MySQL的應(yīng)用開發(fā)博客系統(tǒng)是可行的。[5]</p><p><b> 操作可行性</b></p><p> 目前的計(jì)算信息機(jī)技術(shù)已經(jīng)成為一項(xiàng)成熟的技術(shù),信息技術(shù)的應(yīng)用為城市將發(fā)揮重要作用。這主要體現(xiàn)在以下幾個(gè)方面:</p><
39、;p> ?。?)計(jì)算機(jī)技術(shù)是目前處理速度和計(jì)算機(jī)的運(yùn)行性能具有相當(dāng)水平,處理博客管理中的事務(wù)完全能夠勝任;</p><p> (2)數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)存儲(chǔ)技術(shù)可以提供相關(guān)信息的安全性,統(tǒng)一存儲(chǔ)和管理,消除存儲(chǔ)在紙介質(zhì)上或分散管理信息的不利因素,安全性、數(shù)據(jù)共享、在很長(zhǎng)一段時(shí)間你都可以得到保護(hù);</p><p> ?。?)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)已實(shí)施了多種海量數(shù)據(jù)管理,訪問和使
40、用非常提供商檢索效率;在安全性,穩(wěn)定性和更完美;</p><p> ?。?)網(wǎng)絡(luò)技術(shù)現(xiàn)在更快的網(wǎng)絡(luò)速度,帶寬越來越大,而價(jià)格卻在下降。對(duì)于任何一個(gè)單位,建立一個(gè)信息系統(tǒng),目的是聯(lián)想到其所有部門的下面一起工作,從而提高工作效率;</p><p> 從以上的觀點(diǎn)有關(guān)技術(shù)角度目前的發(fā)展水平,建立技術(shù)條件的系統(tǒng)已經(jīng)滿足,該系統(tǒng)已經(jīng)建立了條件。因此,該系統(tǒng)具有操作可行性。</p>&
41、lt;p><b> 硬件可行性</b></p><p> 系統(tǒng)所采用的技術(shù)和運(yùn)行的平臺(tái)都是比較成熟的經(jīng)過了大量的實(shí)踐,目前的硬件配置大多數(shù)都足以滿足系統(tǒng)的運(yùn)行所需要的要求。[5] 系統(tǒng)的基本硬件要求:網(wǎng)絡(luò)中的服務(wù)器(服務(wù)器要求能提供空間和支持動(dòng)態(tài)網(wǎng)絡(luò)技術(shù)以及MySQL數(shù)據(jù)庫(kù))、客戶端電腦(具有基本多媒體功能和設(shè)備)、支持PHP架構(gòu)的工作和系統(tǒng)平臺(tái)(Windows7)、支持
42、PHP架構(gòu)的能處理動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的瀏覽器(IE6.0以上等具備解釋PHP技術(shù)的瀏覽器)。</p><p><b> 2.2需求分析</b></p><p> 需求分析的主要是為了確定系統(tǒng)一定要完成什么,是對(duì)系統(tǒng)提出準(zhǔn)確的要求,是為了清楚軟件的需求、安排工程的進(jìn)展、規(guī)劃軟件開發(fā)與測(cè)試。</p><p><b> 2.2.1性能需求&
43、lt;/b></p><p> 性能需求指定系統(tǒng)必須滿足的時(shí)間的需要,通常有反應(yīng)的速度,信息的處理速度,內(nèi)存占了多少,還有安全性等方面的問題。</p><p> 這個(gè)網(wǎng)站需要滿足快速響應(yīng)用戶的操作,響應(yīng)時(shí)間應(yīng)該很短的時(shí)間內(nèi)被控制,數(shù)據(jù)將被實(shí)時(shí)更新,該網(wǎng)站只是一個(gè)小站,不占用太多的資源,并當(dāng)然,如果有更大的內(nèi)存和處理服務(wù)器和硬件支持的能力,肯定提高速度。[6]</p>
44、<p> 當(dāng)然博客的性能需求還有以下幾個(gè)方面</p><p> 多樣性:博客網(wǎng)站是以用戶作為設(shè)計(jì)的重要部分,隨著網(wǎng)絡(luò)的快速發(fā)展,不僅改變了人們的生活方式,還大大降低了信息的咨詢成本,在現(xiàn)在用戶可以有各種各樣的選擇,博客網(wǎng)站除了要把成本降下來以為,還要在多樣性上下功夫,如加多點(diǎn)貼心的功能,或者多彩的界面等,這樣才能得到用戶的認(rèn)可,還能留住用戶。</p><p> 易維護(hù):博
45、客系統(tǒng)要簡(jiǎn)單且易維護(hù),管理起來方便才能讓人更好的使用,隨著博客信息量的增大,功能的增多,易維護(hù)是開發(fā)者要考慮的一個(gè)部分,要保證在后期加了很多功能以后,還是和以前一樣易維護(hù)。</p><p> 安全性:博客是給人分享的平臺(tái),系統(tǒng)的安全性是我們要考慮的問題,信心的安全,設(shè)備運(yùn)行的安全,管理的安全,要保護(hù)好用戶的個(gè)人信息安全,給用戶一個(gè)踏實(shí)的環(huán)境,要建立起完善的安全體系。[7]</p><p>
46、; 可擴(kuò)展:網(wǎng)站發(fā)現(xiàn)飛速,博客對(duì)不同的用戶,不同的行業(yè),都有著不同的需求,系統(tǒng)在設(shè)計(jì)的時(shí)候要充分考慮到不同用戶的需求,降低將來功能擴(kuò)展時(shí)的難度。</p><p> 2.2.2系統(tǒng)綜合需求</p><p><b> 前臺(tái)要實(shí)現(xiàn)的功能:</b></p><p> (1) 簡(jiǎn)約的界面,色調(diào)柔和,以藍(lán)色為主。</p>
47、<p> (2) 瀏覽博客的人可以自由發(fā)表評(píng)論。 </p><p> (3) 搜索功能,能夠?qū)φ緝?nèi)所有的文章進(jìn)行關(guān)鍵字搜索</p><p> (4) 頁(yè)面功能,頁(yè)面是獨(dú)立于文章的特定板塊,有獨(dú)立的評(píng)論空間,相對(duì)于其他文章而言是獨(dú)立的。</p><p> 后臺(tái)管理功能:能對(duì)網(wǎng)站的大部分內(nèi)容進(jìn)行管理,方面用戶直接管理
48、自己的系統(tǒng)。</p><p> 運(yùn)行要求:windows平臺(tái)下Apache http服務(wù)器+PHP解析引擎+MySQL數(shù)據(jù)庫(kù)。</p><p> 可靠性:系統(tǒng)運(yùn)行數(shù)據(jù)要一致,如果遇到系統(tǒng)不能正常運(yùn)行要提供快捷恢復(fù)方式。</p><p> 可用性:系統(tǒng)要方面好用,能給用戶提供所需要的東西,且可以為網(wǎng)頁(yè)以后可以做不同的延伸,如博客的朋友圈或者好友分享功能等。<
49、;/p><p> 出錯(cuò)處理:如果用戶輸入的數(shù)據(jù)不是正確的,要盡可能在程序中彈出輸入錯(cuò)誤的提示,要對(duì)于系統(tǒng)的錯(cuò)誤信息注意對(duì)其進(jìn)行隱藏,并轉(zhuǎn)給對(duì)應(yīng)的處理頁(yè)面進(jìn)行處理。</p><p> 圖2-1 博客信息管理系統(tǒng)</p><p> 2.2.3 系統(tǒng)需求管理規(guī)劃表 </p><p> 根據(jù)以上對(duì)系統(tǒng)的需求分析,我們可以得到一個(gè)更加簡(jiǎn)單
50、的的系統(tǒng)需求管理規(guī)劃表,本表寫出了系統(tǒng)的各項(xiàng)主要功能,并且對(duì)其分類,配有間斷描述,最重要的方面給出了各個(gè)功能需求的優(yōu)先級(jí),優(yōu)先級(jí)的高低表示了功能實(shí)現(xiàn)的迫切程度和重要的程度。</p><p> 表2-2 優(yōu)先級(jí)需求分析表</p><p> 2.3數(shù)據(jù)庫(kù)需求分析</p><p> 2.3.1 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介 </p><p>
51、; MySQL數(shù)據(jù)庫(kù)由瑞典MySql公司開發(fā)和維護(hù)的一個(gè)精巧的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。MySQL數(shù)據(jù)早在90年代中期就開始出現(xiàn),經(jīng)過近10年的發(fā)展,MYSQL已經(jīng)發(fā)展成為一個(gè)成熟的數(shù)據(jù)庫(kù),它不僅非常小巧靈活并且性能非常強(qiáng)大,提供多個(gè)接口,方面用戶使用,得到了許多開發(fā)人員的認(rèn)可。</p><p> MySQ
52、L數(shù)據(jù)庫(kù)提供完善的SQL-92標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語(yǔ)言,如select、delete、insert、update語(yǔ)句。通過MySQL在操作系統(tǒng)上建立的ODBC可以輕松將這些SQL語(yǔ)句翻譯成為相應(yīng)的MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)指令并對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。作為關(guān)系型數(shù)據(jù),[8]MySQL完全支持對(duì)于各種數(shù)據(jù)庫(kù)對(duì)象的管理和便捷操作,這里包括表(Table)、視圖(View)、存儲(chǔ)過程(Stored Procedure)和觸發(fā)器(Trigger)
53、等。MySQL數(shù)據(jù)庫(kù)提供完全可視化的窗口,可以更直接的對(duì)數(shù)據(jù)進(jìn)行管理。</p><p> 當(dāng)然,MySQL數(shù)據(jù)庫(kù)也完全支持ADO(ActiveX Data Objects)數(shù)據(jù)庫(kù)應(yīng)用程序的數(shù)據(jù)庫(kù)訪問技術(shù)。ADO它被設(shè)計(jì)用來同新的數(shù)據(jù)庫(kù)訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data MySQL)。OLE
54、 DB是一個(gè)底層的數(shù)據(jù)庫(kù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)。[8]ADO封裝了OLE DB程序中使用的大量COM接口,所以是一種高層訪問技術(shù)。所以MySQL非常適合PHP技術(shù)開發(fā)動(dòng)態(tài)網(wǎng)站。</p><p> 2.3.2 數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p> 根據(jù)該需求分析和第三部分的概要設(shè)計(jì),可以設(shè)計(jì)要使用的一個(gè)數(shù)據(jù)庫(kù)表對(duì)應(yīng)的系統(tǒng),首先判斷數(shù)據(jù)庫(kù)表的
55、基本設(shè)計(jì)是一個(gè)表,用于存儲(chǔ)關(guān)于一個(gè)實(shí)體或?qū)ο蟮男畔?,那么該?shù)據(jù)庫(kù)的分析和設(shè)計(jì)相對(duì)簡(jiǎn)單。[9]對(duì)于不同的對(duì)象或?qū)嶓w,取決于需要和該系統(tǒng)的未來擴(kuò)展,可以適當(dāng)?shù)丶?xì)分。的信息和動(dòng)態(tài)信息的另一個(gè)擴(kuò)展分別放置在不同的表。 </p><p> 當(dāng)然,上表中的主鍵的任何信息將是重要的,以設(shè)置一個(gè)唯一的標(biāo)識(shí)符,主密鑰是不實(shí)際使用的術(shù)語(yǔ),僅用于唯一地標(biāo)識(shí)一個(gè)數(shù)據(jù)項(xiàng),通常用數(shù)字自動(dòng)編號(hào)。[10]通過需求分析和概要設(shè)計(jì),在MySql數(shù)
56、據(jù)庫(kù)中建立名為db_blog的數(shù)據(jù)庫(kù),把所有的信息存在數(shù)據(jù)庫(kù)里里面,在里面建立如下的表,分別為:用戶表(tb_user)、文章內(nèi)容表(tb_article)、文章評(píng)論表(tb_filecomment)、留言板(tb_book)、公告表(tb_public)五個(gè)表。 </p><p><b> 用戶表</b></p><p> 系統(tǒng)主要是為滿足網(wǎng)絡(luò)用戶的需
57、求使用博客,因?yàn)榫W(wǎng)絡(luò)本身的特點(diǎn),以及一個(gè)網(wǎng)絡(luò)工具很多,它被設(shè)置比較高的用戶信息,這里主要是用戶的ID號(hào),這是用來唯一識(shí)別用戶的標(biāo)識(shí)是用戶表的主鍵。</p><p><b> 表2-3 用戶表</b></p><p><b> 文章內(nèi)容表 </b></p><p> 本表主要用來存放文章的各種信息,這也是博
58、客系統(tǒng)中非常重要的一個(gè)表。其中文章ID編號(hào)為主鍵,唯一標(biāo)識(shí)一篇文章。其它信息詳見表2-4所示。 </p><p> 表2-4 文章信息表</p><p><b> 文章評(píng)論表 </b></p><p> 文章評(píng)論表主要存儲(chǔ)對(duì)一篇文章的評(píng)論的各種信息,文章的評(píng)論信息相對(duì)于文章的信息而言要簡(jiǎn)單一些,評(píng)論列表存儲(chǔ)用戶對(duì)文章的
59、評(píng)論,包括注冊(cè)用戶和游客都可以發(fā)表評(píng)論。主要包括唯一標(biāo)識(shí)評(píng)論的id編號(hào),是主鍵。表的結(jié)構(gòu)如表2-5所示。</p><p> 表2-5 文章評(píng)論表</p><p><b> 公告表</b></p><p><b> 表2-6 公告表</b></p><p> 留言表用來保存留言板上的信息<
60、;/p><p><b> 表2-7 留言表</b></p><p><b> 數(shù)據(jù)庫(kù)ER關(guān)系圖 </b></p><p> 數(shù)據(jù)庫(kù)中的表有用戶表、文章信息表、文章評(píng)論表、。本系統(tǒng)數(shù)據(jù)庫(kù)的表的ER圖如圖11所示。</p><p> 圖2-2 用戶實(shí)體圖</p><p&
61、gt; 圖2-3 文章實(shí)體圖</p><p> 圖2-4 評(píng)論實(shí)體圖</p><p><b> 主要頁(yè)面如表所示</b></p><p><b> 表2-8主要頁(yè)面表</b></p><p><b> 2.4本章小結(jié)</b></p><p>
62、 本章在技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性方面及數(shù)據(jù)庫(kù)的設(shè)計(jì),系統(tǒng)的總體結(jié)構(gòu)需求進(jìn)行了簡(jiǎn)要的分析。</p><p> 第三章 系統(tǒng)開發(fā)工具及選擇理由</p><p><b> 3.1 PHP介紹</b></p><p> PHP(超文本預(yù)處理器 - 超文本預(yù)處理器)是一種HTML -嵌入式腳本語(yǔ)言(如ASP ) 。與大多數(shù)C,JAVA ,
63、Perl中, PHP的兼容,并增加了獨(dú)特的語(yǔ)法結(jié)構(gòu)的PHP語(yǔ)法,動(dòng)態(tài)頁(yè)面可以執(zhí)行比CGI或者Perl更快速,只需要很少的編程知識(shí)就可以創(chuàng)建交互式Web站點(diǎn)。它可以用于管理動(dòng)態(tài)內(nèi)容,數(shù)據(jù)庫(kù),處理會(huì)話跟蹤,甚至構(gòu)建整個(gè)電子商務(wù)站點(diǎn)。它支持許多流行的數(shù)據(jù)庫(kù),包括MySQL和PostgreSQL ,甲骨文,賽貝斯公司,Informix和Microsoft SQL Server 。PHP是完全免費(fèi)的,不需要任何代價(jià),你就可以使用PHP這個(gè)優(yōu)秀的編
64、程序言,而且你還可以從不同的網(wǎng)站上獲得你所需要的源代碼,這都是非常自由和分享的,你可以從源代碼中學(xué)到很多有用的東西,且添加到你的代碼中,使用PHP和MYSQL,你可以開發(fā)出一個(gè)很棒的動(dòng)態(tài)網(wǎng)頁(yè),PHP在國(guó)外也非常流行。</p><p> PHP具有以下優(yōu)點(diǎn):</p><p> 1 、學(xué)習(xí)起來比較容易:PHP只要你看過基礎(chǔ)的1,2本書知道其自身的語(yǔ)法,就可以開始PHP的路程啦,它語(yǔ)言使用較
65、為簡(jiǎn)單,數(shù)據(jù)庫(kù)連接便利,PHP和MYSQL可以進(jìn)行配合幫助你開發(fā),你可以使用它開發(fā)出許多有趣的東西。</p><p> 2 、可擴(kuò)展性:PHP已經(jīng)進(jìn)入了一個(gè)非常快速的發(fā)展階段,它不僅具有非常多的擴(kuò)展功能還可以面向?qū)ο缶幊?,它給了你許多類和對(duì)象,給了你WEB所需要的東西。</p><p> 3.2 B/S結(jié)構(gòu) </p><p> 現(xiàn)在B/S的結(jié)構(gòu)是非常
66、流行的,用戶發(fā)送信息給瀏覽器,然后瀏覽器發(fā)送給服務(wù)器進(jìn)行處理,處理的結(jié)果顯示在瀏覽器中, B / S架構(gòu)簡(jiǎn)化了客戶端,您需要配置客戶端上的一個(gè)小的客戶端軟件。該服務(wù)器將承擔(dān)更多的工作,執(zhí)行數(shù)據(jù)庫(kù)訪問和應(yīng)用程序?qū)⒃诜?wù)器上完成。</p><p> 這種結(jié)構(gòu)不僅沉重負(fù)擔(dān),使他們騰出手不斷提高的性能要求的客戶端,而且也從繁重的維護(hù)中解脫出來,提升工作的技術(shù)維修人員。因?yàn)槭聞?wù)處理邏輯服務(wù)器的功能,因此客戶端部分的客戶突
67、然“苗條”了很多,不再負(fù)責(zé)處理關(guān)鍵問題,如復(fù)雜的計(jì)算和數(shù)據(jù)訪問,顯示只負(fù)責(zé)該計(jì)劃的一部分不再那么維護(hù)人員的維護(hù)工作來回各客戶端之間,并專注于更新服務(wù)器程序的功能。此相互獨(dú)立的層之間的三層結(jié)構(gòu),該變化不會(huì)影響任何層的其它層的功能。</p><p> 3.3JavaScript語(yǔ)言 </p><p> JavaScript是面向?qū)ο蟮恼Z(yǔ)言,它主要是用于讓HTML與JAVAAPPL
68、ET合在一塊使用,用來在網(wǎng)頁(yè)中有多個(gè)對(duì)象時(shí)可以進(jìn)行WEB的客戶端的交互,來完成開發(fā)客戶端應(yīng)用程序。</p><p> 在JavaScript的應(yīng)用下,能夠用PHP開發(fā)出性能非常強(qiáng)大且易用的動(dòng)態(tài)網(wǎng)站。</p><p><b> 3.4本章小結(jié)</b></p><p> 本章對(duì)PHP的介紹及B/S架構(gòu),還有JavaScrip語(yǔ)言進(jìn)行了簡(jiǎn)要的分
69、析。</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p><b> 4.1概述</b></p><p> 本博客系統(tǒng)利用PHP+MySQL+Apache開發(fā),所有測(cè)試工作和編碼都在windows環(huán)境下進(jìn)行,下面將介紹詳細(xì)設(shè)計(jì)的各個(gè)部分。</p><p><b> 4.11 用戶登錄</b>
70、;</p><p> 為了實(shí)現(xiàn)特定的功能和方法,以更好地說明該網(wǎng)站,從注冊(cè)功能登陸網(wǎng)站,站內(nèi)推出開始后,并通過循序漸進(jìn)的方式解釋一步來實(shí)現(xiàn)其功能的代碼。用戶注冊(cè)登錄 注冊(cè)的鏈接在login.php上,點(diǎn)擊鏈接后進(jìn)入的頁(yè)面為register.php。注冊(cè)時(shí)必填的信息為用戶名,密碼,真名,點(diǎn)擊確定后,轉(zhuǎn)到checkuser.php中進(jìn)行處理,若不符合要求,則終止注冊(cè),顯示錯(cuò)誤信息。 根據(jù)不同輸入
71、情況分別使用四條SQL語(yǔ)句將新用戶的信息加入數(shù)據(jù)庫(kù)。</p><p> 用戶注冊(cè)是在登錄頁(yè)面下的,主要由register.php完成。用戶點(diǎn)擊“博客注冊(cè)”進(jìn)入用戶注冊(cè)界面,然后閱讀用戶注冊(cè)協(xié)議,確認(rèn)后可以到達(dá)正式注冊(cè)頁(yè)面,否則返回。在正式注冊(cè)頁(yè)面中用戶填寫各種信息,包括姓名、密碼等。用戶的“密碼”和“確認(rèn)密碼”必須一致才能注冊(cè),否則提示用戶兩次輸入密碼不一致。一切信息正確后系統(tǒng)會(huì)在數(shù)據(jù)庫(kù)中為該用戶自動(dòng)生成一個(gè)用
72、戶ID編號(hào),這個(gè)編號(hào)是自動(dòng)遞增的生成,用來唯一標(biāo)識(shí)一個(gè)用戶。</p><p><b> 用戶登錄和退出 </b></p><p> 用戶的退出是在主頁(yè)在進(jìn)行的,經(jīng)過注冊(cè)的用戶可以選擇登錄帳戶,已經(jīng)登錄的用戶也可以選擇退出帳戶。登錄時(shí)首先客戶端發(fā)送登錄請(qǐng)求給服務(wù)器端,服務(wù)器端通過數(shù)據(jù)庫(kù)檢查該用戶名是否存在,如果存在,檢查密碼是否正確,在密碼也正確情況下系統(tǒng)
73、服務(wù)器端給予登錄響應(yīng)。登錄后的用戶將獲得響應(yīng)權(quán)限的功能。 </p><p> 而用戶退出是在用戶登錄的前提下操作的,這時(shí)已經(jīng)登錄的用戶選擇退出,即可退出服務(wù)器并且釋放Cookie和Session中的相關(guān)信息和資源</p><p> 用戶注冊(cè)的關(guān)鍵代碼如下</p><p> $regname=$_POST['txt_regname'];
74、//用戶名</p><p> $regrealname=$_POST['txt_regrealname'];//真名</p><p> $regpwd=$_POST['txt_regpwd'];//密碼</p><p> $regbirthday=$_POST['txt_birthday'];
75、//生日</p><p> $regemail=$_POST['txt_regemail'];//郵件</p><p> $regcity=$_POST['txt_city'];//城市</p><p> $regsex=$_POST['txt_regsex'];//性別</p>
76、<p> $regqq=$_POST['txt_regqq'];//qq</p><p> $reghomepage=$_POST['txt_reghomepage'];//個(gè)人主頁(yè)</p><p> $regintroduce=$_POST['txt_regintroduce'];//介紹</p&g
77、t;<p><b> 4.12主頁(yè)</b></p><p> 主頁(yè)中包括博客最新日志區(qū)、最新的留言,搜索功能,公告的顯示,把這幾個(gè)界面區(qū)合理的組合是布局和美工的重要之處。</p><p><b> 圖4-1 主頁(yè)</b></p><p> 首頁(yè)比較簡(jiǎn)潔,主要包括以下幾個(gè)部分</p>&l
78、t;p><b> 上部:包含導(dǎo)航欄</b></p><p> 左部:顯示系統(tǒng)的公告</p><p> 右部:顯示最新的日志和最新的留言</p><p> 在主頁(yè)的設(shè)計(jì)方面首先要準(zhǔn)備好素材,一個(gè)好的頁(yè)面設(shè)計(jì)好素材和布局是不可缺一的,系統(tǒng)所需要的素材我花了挺多時(shí)間去找的,最終還是比較滿意,主要是自己去使用CSS布局的時(shí)候比較麻煩,很多
79、東西移多了一點(diǎn)或少了一點(diǎn),結(jié)果出來都會(huì)很不同,要自己去慢慢調(diào)試,不斷的反復(fù)使用才能調(diào)出比較好看的頁(yè)面</p><p> 4.13 瀏覽日記 </p><p> 點(diǎn)擊日記頁(yè)面進(jìn)入發(fā)表博客的界面warticle.php,在這里輸入標(biāo)題和正文后信息被發(fā)送到check_diary.php頁(yè)面,在這里首先檢查標(biāo)題或內(nèi)容是否為空,如有問題則報(bào)錯(cuò)進(jìn)行提示;檢查無誤之后使用SQL ADD語(yǔ)句
80、將文章信息插入到tb_article表中。 </p><p> 因?yàn)槲恼碌臄?shù)量可能較多,如果在一個(gè)頁(yè)面全部列出可能會(huì)影響外觀,因此每個(gè)頁(yè)面的鏈接數(shù)要做一定限制,如10到15個(gè),之后使用循環(huán)語(yǔ)句將content中的文章信息動(dòng)態(tài)的顯示在頁(yè)面上。 </p><p> 圖4-2 博客文章列表 </p><p><b> 關(guān)鍵代碼:
81、60;</b></p><p> ……………………… </p><p> $page=$_GET['page']; //取得當(dāng)前的頁(yè)面編號(hào) $eachpage=15; //每個(gè)頁(yè)面顯示15個(gè)鏈接 if(!$page) //判斷是否為第一頁(yè) { </p><p&
82、gt; $page=1; } </p><p> if(!$page||$page==1) //確定當(dāng)前為第一頁(yè) { </p><p> $start=0; //從數(shù)據(jù)庫(kù)表中第一篇文章開始 } </p><p><b> else { </b&
83、gt;</p><p> $start=(($page-1)*$eachpage); //計(jì)算當(dāng)前頁(yè)面第一片文章在數(shù)據(jù)庫(kù)表中的編號(hào) } </p><p> $sql="select * from admintextform order by id desc limit
84、 $start,$eachpage"; //在SQL語(yǔ)句中加入范圍限制從$start到$eachpage結(jié)束 $result=mysql_query($sql); //執(zhí)行查詢 …………………. </p><p> while($rows=mysql_fetch_assoc($result))//while循環(huán)輸出 {&
85、#160;</p><p> ……………echo $rows[title];…………….. //顯示鏈接 } </p><p> ………………….. </p><p> 之后還要加上頁(yè)碼欄以便用戶轉(zhuǎn)跳頁(yè)面 判斷頁(yè)碼的關(guān)鍵代碼: </p><p> if($page&
86、gt;1)//判斷當(dāng)前是否第一頁(yè) { </p><p> $prepage=$page-1; //獲取前一頁(yè)的頁(yè)碼 } </p><p> $currentend=$start+$eachpage; //當(dāng)前頁(yè)碼中最大的文章編號(hào) $sql="select count(*) from
87、60;admintextform"; //查詢表中的最大文章編號(hào) $result0=mysql_query($sql); $rows0=mysql_fetch_row($result0); $total=$rows0[0]; //獲得最大的文章編號(hào) </p><p> if(((int)($total/$eachpage))<($tot
88、al/$eachpage)) //計(jì)算當(dāng)前最大的頁(yè)碼 { </p><p> $totalpage=((int)($total/$eachpage))+1; //頁(yè)碼數(shù)的計(jì)算方法為總文章數(shù)除以每頁(yè)的文章數(shù),結(jié)果為浮點(diǎn)數(shù)則取整加一 } else { </p><p> $totalpage=(int)($to
89、tal/$eachpage); } </p><p> if($total>$currentend) //當(dāng)前頁(yè)碼中最大的文章編號(hào)和表中的最大文章編號(hào)相比,確定當(dāng)前的頁(yè)面是不是最后一頁(yè) { </p><p> if(!$page){ //是否為第一頁(yè) $nextpage=2; }
90、;</p><p> else{ //取得下一頁(yè)的頁(yè)碼 </p><p> $nextpage=$page+1; } } </p><p> ………………….. 輸出頁(yè)碼。 </p><p> 用戶點(diǎn)擊article.php頁(yè)面上的標(biāo)題鏈接后進(jìn)入文章正文瀏覽的界面s
91、how.php,普通用戶可以查看文章的正文并發(fā)表評(píng)論,而管理員還可以修改文章的內(nèi)容,用戶權(quán)限的識(shí)別通過變量SESSION來判斷。用戶發(fā)表留言通過show.php頁(yè)面下的留言面板進(jìn)行留言,其代碼與之前的博客文章發(fā)表較為相似,在這里不詳細(xì)說明。 </p><p><b> 4.14 添加文章</b></p><p> 當(dāng)用戶登錄后,通過瀏覽日記頁(yè)面中的寫日記按鈕,可以
92、進(jìn)行添加文章,想要使用文章管理模塊,前提是用戶必須登錄,匿名用戶是無法訪問這些功能的;想要?jiǎng)h除文章</p><p> 和評(píng)論,前提是當(dāng)前用戶要么是管理員權(quán)限,要么是文章?lián)碛姓?,否則不會(huì)顯示刪除功能的。這兩方面的控制都需要session 的配合,本節(jié)就來講一下session 的應(yīng)用及常見的問題處理。session 的中文譯名為“會(huì)話”,是指用戶從進(jìn)入網(wǎng)站開始,直到關(guān)閉網(wǎng)站這段時(shí)間內(nèi),所有網(wǎng)頁(yè)共同使用的公共變量的存
93、貯機(jī)制。session 比cookie 更有優(yōu)勢(shì):session 是存儲(chǔ)在服務(wù)器端的,不易被偽造;session 的存儲(chǔ)沒有長(zhǎng)度限制;session 的控制更容易等。</p><p> 在session的使用過程中,盡可能把session放在第一行中,因?yàn)樵趕ession開始之前,如果有HTML代碼輸出的話可能會(huì)有問題,就算是一個(gè)小空格放在第一行也在不被允許的,所以盡可能把session放在第一行,且在使用se
94、ssion之前要先調(diào)用session_start()函數(shù)。</p><p> 圖4-3 添加文章頁(yè)面</p><p> 當(dāng)用戶填寫完博客主題和文章內(nèi)容后,單擊“提交”按鈕,系統(tǒng)將跳轉(zhuǎn)到處理頁(yè)check_diary進(jìn)行處理。在處理頁(yè)中,將傳過來的文章標(biāo)題、文章作者和文章內(nèi)容等參數(shù)組成insert 語(yǔ)句,并最終保存到數(shù)據(jù)表中。如果添加信息成功,系統(tǒng)返回到本頁(yè),可繼續(xù)執(zhí)行添加操作;如果添加失
95、敗,則返回</p><p> 到上一步。程序的關(guān)鍵代碼如下:<?php</p><p> header("Content-Type:text/html;charset=utf-8");</p><p> session_start();//開啟session支持</p><p> include &q
96、uot;Conn/conn.php";//包含數(shù)據(jù)庫(kù)連接文件</p><p> $author = $_SESSION['username'];</p><p> if($_POST['btn_tj']!=""){//判斷傳值頁(yè)面</p><p> $title=$_POST[
97、9;txt_title'];//取得文章題目</p><p> $content=$_POST['file'];//取得文章內(nèi)容</p><p> $now=date("Y-m-d H:i:s");//文章發(fā)表時(shí)間</p><p> $sql="Insert Into tb_
98、article (title,content,datetime,author) Values ('$title','$content','$now','$author')";//執(zhí)行SQL語(yǔ)句</p><p> $result=mysql_query($sql);</p><p> if($result)
99、{</p><p> echo "<script>alert('恭喜您,你的日志發(fā)表成功!!!');window.location='article.php';</script>";</p><p><b> }</b></p><p><b> els
100、e{</b></p><p> echo "<script>alert('對(duì)不起,添加操作失敗!!!');window.history.back(-1);</script>";</p><p><b> }</b></p><p><b> }</b&
101、gt;</p><p><b> ?></b></p><p><b> 4.15 刪除文章</b></p><p> 對(duì)文章的刪除處理,是后臺(tái)管理的重要功能,當(dāng)要對(duì)文章進(jìn)行刪除時(shí),將跳轉(zhuǎn)到處理頁(yè)(del_file.php 和del_comment.php),完成刪除操作。在刪除文章的處理頁(yè)中,刪除文章的同時(shí),
102、也刪除了該篇文章的相關(guān)的評(píng)論。處理頁(yè)首先在文章列表(tb_article)中刪除id 等于$file_id 的記錄,如果沒有可刪除記錄,則提示失敗,并返回上一步;</p><p> 如果刪除成功,則轉(zhuǎn)到評(píng)論列表(tb_filecomment)中,刪除所有該篇文章的評(píng)論。刪除文章頁(yè)</p><p> 刪除處理的關(guān)鍵代碼如下:</p><p><b>
103、<?php</b></p><p> session_start(); //開啟session支持</p><p> include "check_login.php"; //包含權(quán)限檢查文件</p><p> include "Conn/conn.php"; //包含數(shù)據(jù)庫(kù)鏈接文件</p>
104、<p> $sql="delete from tb_article where id=".$file_id; //刪除文章的delete語(yǔ)句</p><p> $result=mysql_query($sql,$link); //執(zhí)行刪除操作</p><p> if($result){</p><p> $sql1 = &q
105、uot;delete from tb_filecomment where fileid = ".$file_id; //刪除相對(duì)應(yīng)的文章評(píng)論</p><p> $rst1 = mysql_query($sql1,$link); //執(zhí)行刪除評(píng)論的操作</p><p><b> if($rst1)</b></p><p> ech
106、o "<script>alert('博客文章已被刪除!');location='myfiles.php]';</script>";</p><p><b> else</b></p><p> echo "<script>alert('刪除失敗!');
107、history.go(-1);</script>";</p><p><b> }</b></p><p><b> else{</b></p><p> echo "<script>alert('博客文章刪除操作失敗!');history.go(-1);&
108、lt;/script>";</p><p><b> }</b></p><p><b> ?></b></p><p><b> 4.16 聊天室</b></p><p> 聊天室主要是為了給用戶提供一個(gè)在線聊天的平臺(tái),用戶可以在聊天室中進(jìn)多人的
109、聊天。</p><p> 在聊天室主顯示區(qū)中輪動(dòng)效果是通過<marquee>標(biāo)簽來現(xiàn)的。<marquee>標(biāo)簽是HTML 自帶的、也是初學(xué)者最常用的公告欄實(shí)現(xiàn)方式。使用<marquee>標(biāo)簽,可以實(shí)現(xiàn)文字或圖片的滾動(dòng)效果,增加了實(shí)用性的同時(shí),也增加了觀賞性。</p><p> 圖4-4 聊天室頁(yè)面</p><p><b&
110、gt; 主要的實(shí)現(xiàn)代碼如下</b></p><p> if ($action=="say")//當(dāng)用戶點(diǎn)擊聊天按鈕</p><p><b> {</b></p><p> echo "<head><title>[ ".CHAT_NAME."
111、]</title></head><center><body bgcolor=#FFF style='font-size:12px;'>//</p><p> <form action=".SCRIPT."?action=save method=post name=chat onSubmit='return
112、check()'></p><p> [".$_SESSION['username']."]說:<input type=text size=80 maxlength=500 name=chatmsg style=' background-color:#FFF; width:550px; height:22px; border:1px solid:#
113、000000'>//顯示聊天信息</p><p> <select name=usercolor></p><p> <OPTION selected style='COLOR: #000000' value='000000'>默認(rèn)顏色</OPTION></p><p>
114、 <OPTION style='COLOR: #000000' value='#000000'>黑色</OPTION> </p><p> <option style='COLOR: #ff0000' value='#FF0000'>紅色</option> </p><p>
115、 <option style='COLOR: #0000ff' value='#0000FF'>藍(lán)色</option> </p><p> <option style='COLOR: #ff00ff' value='#FF00FF'>桃色</option> </p><p>
116、 <option style='COLOR: #009900' value='#009900'>綠色</option> </p><p> <option style='COLOR: #009999' value='#009999'>青色</option> </p><p>
117、 <option style='COLOR: #990099' value='#990099'>紫色</option> </p><p> <option style='COLOR: #000099' value='#000099'>深藍(lán)</option> </p><p>
118、; </select>//下拉菜單選擇顏色</p><p> <input type=submit value='說話' style='background-color:#ffffff'> <a href=".SCRIPT."?action=logoff title=退出聊天室 target=_top onclick=&
119、#39;return confirm(\"你確定要退出聊天室嗎?\")'>退出</a></p><p><b> </form></b></p><p> <script>function check(){if(document.chat.chatmsg.value==''){;
120、alert('請(qǐng)輸入聊天信息!');return false;}return true;}</script>//JS提示</p><p><b> ";</b></p><p><b> 4.17后臺(tái)管理</b></p><p> 后臺(tái)管理頁(yè)面可以對(duì)博客里面的多種信息進(jìn)行管
121、理,如用戶管理,文章管理,公告管理,日志管理等,方便用戶對(duì)博客進(jìn)行管理。</p><p> 后臺(tái)登陸是否安全關(guān)系要用戶信息,是非常重要的一個(gè)環(huán)節(jié),后臺(tái)登陸主要是驗(yàn)證用戶是否是管理員,非管理員能否登錄后臺(tái),或者能否看到后臺(tái),如果是管理員登錄則創(chuàng)建session成功,否則要輸出登錄失敗,并提示信息,可以允許再次登錄。還要防止用戶進(jìn)行暴力登錄還有sql注入,應(yīng)該對(duì)于用戶可以登錄多少次,要做一個(gè)限制,并且要對(duì)登錄的信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- php畢業(yè)設(shè)計(jì)--基于php的個(gè)人博客系統(tǒng)的實(shí)現(xiàn)
- 基于php個(gè)人博客的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)答辯
- 基于php個(gè)人博客的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)答辯ppt
- 基于php的個(gè)人博客的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于bs模式的畢業(yè)設(shè)計(jì)跟蹤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式下畢業(yè)設(shè)計(jì)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于php和ajax的博客系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---個(gè)人博客的設(shè)計(jì)與實(shí)現(xiàn)
- 基于PHP的教師博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)--基于bs模式的汽車銷售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--個(gè)人博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----基于bs模式的java在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于php和bs模式的中職教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)基于php的新聞管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs模式的羽毛球論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論