畢業(yè)設(shè)計(jì)--基于php的新聞發(fā)布系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于PHP的新聞發(fā)布系統(tǒng)</p><p><b>  目錄</b></p><p><b>  目錄3</b></p><p>  基于PHP的新聞發(fā)布系統(tǒng)7</p><p><b>  摘要7</b></p><p><

2、;b>  前言9</b></p><p><b>  研究背景9</b></p><p><b>  研究意義9</b></p><p><b>  第一章 概述10</b></p><p>  1.1實(shí)驗(yàn)環(huán)境搭配10</p><

3、p>  1.1.1動(dòng)態(tài)網(wǎng)頁(yè)編程語(yǔ)言的比較10</p><p>  1.1.2 PHP簡(jiǎn)介11</p><p>  1.1.3 MYSQL數(shù)據(jù)庫(kù)技術(shù)簡(jiǎn)介11</p><p>  1.1.4 PHP+MySQL+Apache組合12</p><p>  1.2 B/S系統(tǒng)結(jié)構(gòu)及工作原理12</p><p

4、>  第二章 需求分析14</p><p>  2.1 設(shè)計(jì)構(gòu)思14</p><p>  2.2功能設(shè)計(jì)14</p><p>  第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)16</p><p>  3.1 數(shù)據(jù)庫(kù)需求分析16</p><p>  3.1.1 功能流程16</p><p>  3.1.2

5、 需求總結(jié)16</p><p>  3.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)16</p><p>  3.2.1 數(shù)據(jù)庫(kù)實(shí)體16</p><p>  3.2.2 數(shù)據(jù)庫(kù)實(shí)體E-R圖19</p><p>  3.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)19</p><p>  3.3.1 表article19</p><p&g

6、t;  3.3.2 表 user20</p><p>  3.3.3 表 admin20</p><p>  3.3.4 表comment20</p><p>  3.3.5 表 class21</p><p>  第四章 功能模塊設(shè)計(jì)22</p><p>  4.1功能模塊劃分22</p>

7、<p>  4.2 系統(tǒng)模塊功能描述22</p><p>  4.2.1 新聞分類(lèi)瀏覽模塊22</p><p>  4.2.2 新聞檢索模塊23</p><p>  4.2.3會(huì)員登陸后發(fā)表新聞評(píng)論模塊23</p><p>  4.2.4管理員后臺(tái)新聞發(fā)布模塊23</p><p>  4.2.5管理

8、員后臺(tái)新聞管理模塊24</p><p>  4.2.6 管理員后臺(tái)新聞?lì)悇e添加模塊24</p><p>  4.2.7 管理員后臺(tái)新聞?lì)悇e管理模塊24</p><p>  第五章 系統(tǒng)實(shí)現(xiàn)25</p><p>  5.1新聞發(fā)布首頁(yè)25</p><p>  5.1.1 連接數(shù)據(jù)庫(kù)的核心代碼26</p&

9、gt;<p>  5.2分類(lèi)瀏覽新聞26</p><p>  5.2.1 瀏覽分類(lèi)瀏覽核心代碼28</p><p>  5.3 新聞檢索29</p><p>  5.3.1新聞檢索核心代碼29</p><p>  5.4 會(huì)員用戶(hù)登錄30</p><p>  5.4.1會(huì)員用戶(hù)登錄核心代碼31

10、</p><p>  5.5 會(huì)員登錄后發(fā)表評(píng)論32</p><p>  5.51 發(fā)表評(píng)論核心代碼34</p><p>  5.6 新聞發(fā)布頁(yè)面35</p><p>  5.6.1新聞發(fā)布核心代碼36</p><p>  5.7 新聞管理頁(yè)面36</p><p>  5.71 新

11、聞修改核心代碼38</p><p>  5.72 新聞刪除核心代碼38</p><p>  5.8新聞分類(lèi)添加39</p><p>  5.81 新聞分類(lèi)添加核心代碼40</p><p>  5.9新聞分類(lèi)管理40</p><p>  5.81 新聞分類(lèi)修改核心代碼41</p><p&g

12、t;  5.82 新聞分類(lèi)刪除核心代碼42</p><p>  第六章 系統(tǒng)測(cè)試43</p><p>  6.1系統(tǒng)測(cè)試目的43</p><p>  6.2系統(tǒng)測(cè)試的方法43</p><p>  6.3系統(tǒng)測(cè)試44</p><p>  6.3.1系統(tǒng)前臺(tái)測(cè)試44</p><p>  

13、6.3.2后臺(tái)管理測(cè)試45</p><p>  6.4 系統(tǒng)權(quán)限核心代碼46</p><p>  6.4.1用戶(hù)標(biāo)識(shí)及權(quán)限設(shè)置代碼46</p><p><b>  第七章 結(jié)論47</b></p><p><b>  體會(huì)與總結(jié)48</b></p><p><

14、b>  謝辭49</b></p><p><b>  參考文獻(xiàn)50</b></p><p>  附錄 翻譯原文51</p><p>  附錄二 翻譯譯文53</p><p>  基于PHP的新聞發(fā)布系統(tǒng)</p><p><b>  摘要</b><

15、;/p><p>  近年來(lái),互聯(lián)網(wǎng)的各項(xiàng)技術(shù)幾乎發(fā)展成熟,網(wǎng)絡(luò)逐漸融入人們的生活。對(duì)于傳統(tǒng)的電視和報(bào)紙雜志等傳媒方式已經(jīng)滿(mǎn)足不了人們的需求。因此,網(wǎng)絡(luò)作為傳媒的媒介比起傳統(tǒng)的媒介更顯得出很多優(yōu)勢(shì)。它打破了地域限制,更實(shí)時(shí)快捷直觀的得到所要瀏覽的信息,真正使信息得以共享,從而改變了人們的工作和生活方式。人們能夠通過(guò)網(wǎng)絡(luò)的新聞發(fā)布系統(tǒng)了解更多的新聞和信息,快速及時(shí)的新聞瀏覽,快捷方便的網(wǎng)絡(luò)信息查詢(xún),使網(wǎng)絡(luò)與人們的生活更加

16、緊密。 在互聯(lián)網(wǎng)上的眾多網(wǎng)站中,新聞發(fā)布系統(tǒng)在各大網(wǎng)站中是不可或缺的系統(tǒng)之一。新聞發(fā)布系統(tǒng)可以使新聞的內(nèi)容種類(lèi)更繁多,新聞發(fā)布更開(kāi)放,用戶(hù)也可以通過(guò)此平臺(tái)相互交流互動(dòng)。因此凸顯了新聞發(fā)布系統(tǒng)的各項(xiàng)優(yōu)越性。</p><p>  本系統(tǒng)我們采用PHP編程語(yǔ)言,MySQL數(shù)據(jù)庫(kù),Apache服務(wù)器等開(kāi)發(fā)環(huán)境,來(lái)實(shí)現(xiàn)一個(gè)功能強(qiáng)大的新聞發(fā)布管理系統(tǒng)的網(wǎng)站。</p><p>  該系統(tǒng)功能強(qiáng)大

17、齊全,例如用戶(hù)可以對(duì)自己的新聞進(jìn)行發(fā)布,瀏覽其他新聞,對(duì)新聞的檢索,以及對(duì)新聞進(jìn)行評(píng)論。幾乎可以滿(mǎn)足大部分用戶(hù)的各項(xiàng)需求。此系統(tǒng)不僅前臺(tái)功能強(qiáng)大,而且后臺(tái)管理系統(tǒng)更強(qiáng)大。管理員可以對(duì)新聞,新聞分類(lèi)等模塊進(jìn)行分塊管理。因此,管理員可以直觀快捷的管理網(wǎng)站的各項(xiàng)事務(wù),以便此系統(tǒng)可以正常穩(wěn)定的運(yùn)行。</p><p>  關(guān)鍵詞:新聞發(fā)布系統(tǒng),PHP編程,MYSQL數(shù)據(jù)</p><p>  PHP-

18、based News distribution System</p><p><b>  Abstract</b></p><p>  In recent years, the technology of Internet is almost mature and the network gradually is integrated into people'

19、s lives. The traditional newspapers and magazines cannot meet people's needs. Therefore, the network as a medium has many advantages. It broke the geographical constraints and people can get some information quickly.

20、</p><p>  The many sites on the Internet, the news distribution systems are play role in the main site. It can distribute different types of news and users can interact with each other through this platform.

21、</p><p>  We will use PHP programming language, MySQL database, Apache server, such as development environment to achieve a powerful News distribution System</p><p>  The system is powerful and

22、complete, for example, users can publish their own news, browse other news, the news search, and comment on the news. Almost meet the needs of most users. This system has powerful front and back administration system. Ad

23、ministrators can mange news, member and comments. Therefore, administrators can manage the site quickly and conveniently make sure this system can be running smoothly. </p><p>  Key words: News distribution

24、System, PHP, MySQL database</p><p><b>  前言</b></p><p><b>  研究背景</b></p><p>  隨著互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)是人們社會(huì)生活必不可少的東西。 互聯(lián)網(wǎng)上的各項(xiàng)功能主要是通過(guò)網(wǎng)站來(lái)實(shí)現(xiàn)的。而新聞發(fā)布系統(tǒng)在網(wǎng)站中是不可缺少的功能。傳統(tǒng)的網(wǎng)站新聞發(fā)布

25、是一種靜態(tài)信息發(fā)布,瀏覽者只是單方面獲得網(wǎng)站信息。無(wú)法產(chǎn)生互動(dòng)效果。而采用基于數(shù)據(jù)庫(kù)和動(dòng)態(tài)網(wǎng)頁(yè)后,用戶(hù)通過(guò)瀏覽器向Web 服務(wù)器發(fā)送請(qǐng)求后,服務(wù)器解析PHP文件,然后查詢(xún)數(shù)據(jù)庫(kù),最后生成一個(gè)HTML的文檔。將文檔返回前臺(tái),并在瀏覽器中先是網(wǎng)頁(yè)。采用該思路開(kāi)發(fā)的站點(diǎn)優(yōu)勢(shì)有很多。如方便管理和維護(hù)網(wǎng)站,更新數(shù)據(jù)簡(jiǎn)單快捷;多用戶(hù)均可在線(xiàn)發(fā)布新聞,對(duì)新聞的檢索也是簡(jiǎn)約直觀。因此,在這樣的研究背景下,我們決定采用PHP、MySQL 等開(kāi)發(fā)環(huán)境來(lái)實(shí)現(xiàn)

26、一個(gè)動(dòng)態(tài)新聞發(fā)布系統(tǒng)。</p><p><b>  研究意義</b></p><p>  新聞的網(wǎng)絡(luò)化發(fā)展在很大的程度上代替了原有的傳播模式,給人們對(duì)于新聞?dòng)辛巳碌捏w驗(yàn)。系統(tǒng)使新聞?dòng)行蚧?,?jiǎn)潔化,讓用戶(hù)在短時(shí)間內(nèi)得到自己所要的新聞信息。而且網(wǎng)絡(luò)新聞將不再是原有的新聞發(fā)布模式,用戶(hù)也不會(huì)受到原有的新聞發(fā)布模式單方面發(fā)布者制約,被動(dòng)接受發(fā)布者的新聞。同時(shí)用戶(hù)可以通過(guò)此系

27、統(tǒng)發(fā)布自己的新聞,使得新聞更有實(shí)時(shí)性,傳播速度快,瀏覽新聞直觀,而且方便查詢(xún)和管理。不僅如此用戶(hù)還可以通過(guò)此新聞發(fā)布系統(tǒng)進(jìn)行相互交流。因此新聞的發(fā)布系統(tǒng)同時(shí)也是個(gè)交流的平臺(tái)?,F(xiàn)在網(wǎng)絡(luò)新聞已經(jīng)得到了很大的發(fā)展,網(wǎng)絡(luò)上的新聞信息量已經(jīng)相當(dāng)龐大。為了使網(wǎng)站管理人員管理網(wǎng)站更快捷方便,我們利用動(dòng)態(tài)技術(shù)創(chuàng)建一個(gè)新聞發(fā)布管理信息系統(tǒng),這正是我們研究動(dòng)態(tài)網(wǎng)頁(yè)的意義。</p><p><b>  第一章 概述</

28、b></p><p><b>  1.1實(shí)驗(yàn)環(huán)境搭配</b></p><p>  1.1.1動(dòng)態(tài)網(wǎng)頁(yè)編程語(yǔ)言的比較</p><p>  動(dòng)態(tài)網(wǎng)頁(yè)編程的語(yǔ)言有很多種我們以最常用的三種為例它們分別是: PHP、ASP、JSP,三者之間的技術(shù)性的比較如下:</p><p>  PHP(Hypertext Preproce

29、ssor)是一種服務(wù)器端HTML嵌入式腳本描述語(yǔ)言。其最強(qiáng)大和最重要的特征就是跨平臺(tái),面向?qū)ο?。它大量地借用了C語(yǔ)言、Java等語(yǔ)言的語(yǔ)法, 并有自己的書(shū)寫(xiě)規(guī)范,簡(jiǎn)單便于書(shū)寫(xiě)程序腳本。PHP所有的源碼都是開(kāi)源的。使用PHP是完全免費(fèi)的,用戶(hù)可以從PHP官方站點(diǎn)獲得PHP的源碼。因此,使用PHP可大大的減少開(kāi)發(fā)所用的成本。</p><p>  ASP(Active Server Pages),ASP的文件就是在普通

30、的HTML 文件中嵌入VBScript或是JavaScript腳本語(yǔ)言。當(dāng)客戶(hù)請(qǐng)求一個(gè)ASP文件的時(shí)候服務(wù)器 就會(huì)運(yùn)行ASP中的腳本代碼,并轉(zhuǎn)換成標(biāo)準(zhǔn)的HTML的文件發(fā)送給客戶(hù)端。ASP提供了幾個(gè)非常有用的內(nèi)部對(duì)象和內(nèi)部組件,利用他們可以輕松地實(shí)現(xiàn)表單上傳,存取數(shù)據(jù)庫(kù)等功能。因此,ASP幾乎可以實(shí)現(xiàn)任何功能。</p><p>  JSP(Java Server Pages),它是Java編程語(yǔ)言編寫(xiě)類(lèi)XML的ta

31、gs和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶(hù)端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有

32、特點(diǎn)。</p><p>  綜上可知,ASP、PHP、 JSP三者各有利弊。但是總體的工作原理大致相同,都是服務(wù)器先接受一個(gè)請(qǐng)求,然后服務(wù)器找到了相應(yīng)動(dòng)態(tài)網(wǎng)頁(yè),接著執(zhí)行程序的代碼生成靜態(tài)網(wǎng)頁(yè),最后將網(wǎng)頁(yè)發(fā)送給客戶(hù)端瀏覽器。三者都是面向 Web 服務(wù)器的技術(shù),客戶(hù)端瀏覽器不需要任何附加軟件支持。只要一個(gè)瀏覽器就可以完成。 三者中,PHP的語(yǔ)言?xún)?yōu)勢(shì)有很多:安全性高, 支持廣泛的數(shù)據(jù)庫(kù),跨平臺(tái)特性,執(zhí)行速度快免費(fèi),內(nèi)嵌

33、Zend 加速引擎,性能穩(wěn)定快速。因此,PHP被很多網(wǎng)格開(kāi)發(fā)者選擇學(xué)習(xí)和使用。</p><p>  1.1.2 PHP簡(jiǎn)介</p><p>  PHP已經(jīng)成為全球最普及的互聯(lián)網(wǎng)開(kāi)發(fā)語(yǔ)言之一,PHP在2004年獲得了最佳編程語(yǔ)言的稱(chēng)號(hào),到2010年,PHP發(fā)展一直呈現(xiàn)穩(wěn)步上升趨勢(shì)。至今已被2000多萬(wàn)個(gè)網(wǎng)站采用。在TIOBE世界編程語(yǔ)言排行調(diào)查報(bào)告中,PHP技術(shù)在全球互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用將會(huì)位

34、居第一。</p><p>  PHP--Hypertext Preprocessor,是一種易于學(xué)習(xí)和使用的服務(wù)器端腳本語(yǔ)言,是生成動(dòng)態(tài)網(wǎng)頁(yè)的工具之一。它是嵌入HTML文件的一種腳本語(yǔ)言。 PHP是完全免費(fèi)的,官方網(wǎng)站就可以輕而易舉的獲得源碼。而且它們支持的平臺(tái)也很多。綜合分析,我們總結(jié)PHP的優(yōu)點(diǎn)有:</p><p><b> ?。?)安全性高;</b></p

35、><p>  (2)支持廣泛的數(shù)據(jù)庫(kù);</p><p><b>  (3)跨平臺(tái)特性;</b></p><p><b> ?。?)易學(xué)性;</b></p><p><b> ?。?)執(zhí)行速度快;</b></p><p><b> ?。?)模塊化;&

36、lt;/b></p><p>  (7)支持面相對(duì)象過(guò)程。 </p><p>  1.1.3 MYSQL數(shù)據(jù)庫(kù)技術(shù)簡(jiǎn)介</p><p>  MySQL 是瑞典的MySQL AB公司開(kāi)發(fā)的一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。它適用于網(wǎng)絡(luò)開(kāi)發(fā),其數(shù)據(jù)庫(kù)可在因特網(wǎng)上隨時(shí)共享。MySQL功能強(qiáng)大、運(yùn)行速度快、可靠性高、安全等優(yōu)點(diǎn)。經(jīng)過(guò)分析總結(jié)我們總結(jié)了MySQL數(shù)據(jù)庫(kù)特性如下

37、:</p><p> ?。?)使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 ;</p><p>  (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、Solaris、Windows等多種操作系統(tǒng) ;</p><p> ?。?)為多種編程語(yǔ)言提供了API;</p><p&g

38、t; ?。?)支持多線(xiàn)程,充分利用CPU等硬件資源;</p><p> ?。?)優(yōu)化的SQL查詢(xún)算法,查詢(xún)速度高 ;</p><p> ?。?) 既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持。</p><p> ?。?)提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑 ;</p>

39、<p>  (8) 提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具 ;</p><p>  (9) 可以處理大型數(shù)據(jù)庫(kù)。</p><p>  1.1.4 PHP+MySQL+Apache組合</p><p>  接下來(lái)我們采用PHP+MySQL+Apache組合,它穩(wěn)定性好、功能強(qiáng)大、硬件資源占用小等特點(diǎn)。占用很小的資源卻能承受大量用戶(hù)同時(shí)瀏覽的壓力,滿(mǎn)足

40、新聞發(fā)布系統(tǒng)的需求。Mysql支持多線(xiàn)程、多用戶(hù)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。而且和PHP一樣源代碼開(kāi)放、高性能、跨平臺(tái)等特性。因此,它和PHP是一個(gè)很好的組合,在接下來(lái)的新聞發(fā)布系統(tǒng)的開(kāi)發(fā)中我們將采用這一個(gè)黃金組合。</p><p>  1.2 B/S系統(tǒng)結(jié)構(gòu)及工作原理</p><p>  新聞發(fā)布系統(tǒng)是基于B/S結(jié)構(gòu)下的WEB信息系統(tǒng)??蛻?hù)端只需要安裝瀏覽器,即可通過(guò)HTTP協(xié)議向Apach

41、e服務(wù)器提出請(qǐng)求,服務(wù)器站點(diǎn)收到請(qǐng)求后,解析PHP文件,然后連接數(shù)據(jù)庫(kù),執(zhí)行指定的SQL語(yǔ)句。查詢(xún)到的結(jié)果后返回到Apache服務(wù)器。Apache服務(wù)器根據(jù)數(shù)據(jù)庫(kù)中返回來(lái)的數(shù)據(jù)生成HTML文檔的形式返回給瀏覽器。用戶(hù)的瀏覽器的到的是個(gè)靜態(tài)的網(wǎng)頁(yè)。詳細(xì)的結(jié)構(gòu)如圖1-1所示:</p><p>  圖1-1 B/S結(jié)構(gòu)原理圖</p><p>  B/S結(jié)構(gòu)比C/S有著更好的優(yōu)勢(shì),是對(duì)于客戶(hù)端用

42、戶(hù)要求低。用戶(hù)的操作系統(tǒng)只要有瀏覽器即可。在B/S系統(tǒng)工作中,用戶(hù)可以通過(guò)瀏覽器向網(wǎng)絡(luò)上的服務(wù)器發(fā)出請(qǐng)求。B/S結(jié)構(gòu)使得客戶(hù)端更簡(jiǎn)化,甚是簡(jiǎn)化到比手機(jī)還小的終端。大部分的工作都是在服務(wù)器上完成。綜合B/S體系各個(gè)方面我們總結(jié)一下幾個(gè)優(yōu)點(diǎn):</p><p>  B/S相對(duì)于C/S的維護(hù)工作量大大減少了。</p><p>  B/S相對(duì)于C/S總體擁有成本降低了。</p><

43、;p>  綜上所述,無(wú)論從硬件、軟件及維護(hù)工作等方面權(quán)衡,B/S結(jié)構(gòu)都能降低整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)體系的總體成本。因此,我們采用B/S結(jié)構(gòu)進(jìn)行開(kāi)發(fā)新聞發(fā)布系統(tǒng)。</p><p><b>  第二章 需求分析</b></p><p><b>  2.1 設(shè)計(jì)構(gòu)思</b></p><p>  新聞發(fā)布系統(tǒng)(News Release

44、 System or Content Management System)又叫做內(nèi)容管理系統(tǒng)CMS(Content Management System),是一個(gè)基于網(wǎng)絡(luò)的新聞發(fā)布和管理的管理系統(tǒng),它是基于B/S模式的系統(tǒng),本系統(tǒng)可以幾乎完成新聞發(fā)布的所有功能。 隨著網(wǎng)絡(luò)新聞發(fā)布系統(tǒng)的使用, 網(wǎng)絡(luò)充當(dāng)了一個(gè)比電視報(bào)紙更重要的新聞媒介的功能。</p><p>  我們對(duì)此系統(tǒng)的設(shè)計(jì)便是實(shí)現(xiàn)這個(gè)系統(tǒng)功能的前提。 首先是

45、提供一個(gè)發(fā)布的功能和新聞分類(lèi)管理。 其次,實(shí)現(xiàn)用戶(hù)交互,用戶(hù)可以參加一些問(wèn)卷調(diào)查和對(duì)新聞的評(píng)論。 最后,要實(shí)現(xiàn)對(duì)這個(gè)新聞發(fā)布的綜合管理,方便管理員的管理。</p><p>  要實(shí)現(xiàn)這個(gè)龐大的功能, 我們先對(duì)用戶(hù)權(quán)限進(jìn)行劃分,不同的用戶(hù)有著不同的權(quán)限。游客瀏覽者(沒(méi)有注冊(cè)為會(huì)員)進(jìn)入到新聞發(fā)布系統(tǒng)的主頁(yè)面,可以瀏覽所有的相關(guān)新聞。但是沒(méi)有任何特殊的特權(quán)。 對(duì)于已經(jīng)注冊(cè)的瀏覽者(會(huì)員)不僅擁有游客瀏覽者的全部功能,

46、還可以對(duì)某個(gè)新聞進(jìn)行發(fā)表評(píng)論,查看他人的評(píng)論等。最后是管理員,他擁有權(quán)限最高,他可以管理所有的新聞,以及新聞分類(lèi)??梢栽黾雍托薷男碌男侣劮诸?lèi),也可以增加和修改新的新聞內(nèi)容。</p><p><b>  2.2功能設(shè)計(jì)</b></p><p>  新聞發(fā)布系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)部分。對(duì)于前臺(tái)操作者來(lái)說(shuō),CMS系統(tǒng)的前臺(tái)頁(yè)面是他們可以看見(jiàn)的部分,所以要求前臺(tái)的操作盡可能直

47、觀方便。 用戶(hù)打開(kāi)前臺(tái)的頁(yè)面就可輕松地瀏覽相關(guān)新聞,可以進(jìn)直接對(duì)新聞進(jìn)行查詢(xún),直接瀏覽所查詢(xún)的相關(guān)新聞。同時(shí)可以針對(duì)新聞的不同分類(lèi),瀏覽不同類(lèi)型的新聞。 會(huì)員用戶(hù)可以通過(guò)登陸界面登陸。 會(huì)員成功登陸后,將有評(píng)論權(quán)限和查看評(píng)論權(quán)限,當(dāng)用戶(hù)瀏覽一些新聞以后需要對(duì)新聞進(jìn)行評(píng)論時(shí),只要進(jìn)入新聞相應(yīng)的評(píng)論版中添加自己要評(píng)論的內(nèi)容,即可成功添加。同時(shí)返回可以繼續(xù)瀏覽其他人的評(píng)論。前臺(tái)的基本功能如圖2-1所示:</p><p>

48、;  圖2-1 前臺(tái)功能圖</p><p>  對(duì)于后臺(tái)管理,管理員不僅擁有操作前臺(tái)所有功能的權(quán)限,還可以進(jìn)行網(wǎng)站的全面管理。具體來(lái)說(shuō),在新聞管理中,管理員可以設(shè)定和添加沒(méi)有的新聞分類(lèi),以便在前臺(tái)的網(wǎng)頁(yè)中顯示新聞的分類(lèi),同時(shí)也可以對(duì)已有的新聞分類(lèi)進(jìn)行修改。保證網(wǎng)站的動(dòng)態(tài)性。其次,管理員就是對(duì)新聞的文章進(jìn)行綜合管理。后臺(tái)的基本功能如圖2-2所示:</p><p>  圖2-2 后臺(tái)功能圖

49、</p><p><b>  第三章 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是CMS系中數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。 數(shù)據(jù)庫(kù)設(shè)計(jì)直接決定CMS系統(tǒng)的功能流程和運(yùn)行系統(tǒng)的效率。因此,數(shù)據(jù)庫(kù)的設(shè)計(jì)則需要深思熟慮。務(wù)求做到兼顧新聞發(fā)布系統(tǒng)的各項(xiàng)功能。</p><p>  3.1 數(shù)據(jù)庫(kù)需求分析</p><p>  3.1.1

50、 功能流程</p><p>  游客瀏覽主頁(yè)→選擇要瀏覽新聞→游客瀏覽新聞→游客瀏覽返回</p><p>  會(huì)員登錄系統(tǒng)→會(huì)員瀏覽新聞→會(huì)員發(fā)表評(píng)論→會(huì)員查看評(píng)論→會(huì)員退出系統(tǒng)</p><p>  3.1.2 需求總結(jié)</p><p>  經(jīng)上述業(yè)務(wù)流與數(shù)據(jù)庫(kù)需求總結(jié),數(shù)據(jù)庫(kù)設(shè)計(jì)如下的數(shù)據(jù)項(xiàng):</p><p> ?。?/p>

51、1)新聞發(fā)布:新聞ID、題目、內(nèi)容、發(fā)布時(shí)間、作者、來(lái)源、點(diǎn)擊次數(shù)、新聞分類(lèi)。</p><p> ?。?)會(huì)員信息:會(huì)員賬戶(hù)、登錄密碼、真是名字、性別、年齡、電話(huà)。</p><p>  (3)管理員信息:管理員ID、登錄賬戶(hù)、密碼。</p><p>  (4)評(píng)論信息:評(píng)論ID、新聞ID、評(píng)論內(nèi)容、評(píng)論人、評(píng)論時(shí)間。</p><p>  (5

52、)新聞?lì)悇e:類(lèi)別ID、類(lèi)別名稱(chēng)。</p><p>  3.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p>  3.2.1 數(shù)據(jù)庫(kù)實(shí)體</p><p> ?。?)新聞實(shí)體:對(duì)于新聞實(shí)體我們根據(jù)需要對(duì)其設(shè)計(jì)了:新聞ID、題目、內(nèi)容、發(fā)布時(shí)間、作者、來(lái)源、點(diǎn)擊次數(shù)、新聞分類(lèi)這8個(gè)字段。如圖3-1所示:</p><p>  圖3-1 新聞實(shí)體圖</p&g

53、t;<p> ?。?)會(huì)員實(shí)體:對(duì)于會(huì)員實(shí)體我們?cè)O(shè)計(jì)了會(huì)員賬戶(hù)、登錄密碼、真是名字、性別、年齡、電話(huà)這個(gè)6個(gè)字段。如圖3-2所示:</p><p>  圖3-2 會(huì)員實(shí)體圖</p><p> ?。?)管理員實(shí)體:對(duì)于管理員實(shí)體,我們根據(jù)需求設(shè)計(jì)了管理員ID、登錄賬戶(hù)、密碼這個(gè)3個(gè)字段。如圖3-3所示:</p><p>  圖3-3 管理員實(shí)體圖&l

54、t;/p><p> ?。?)評(píng)論實(shí)體:對(duì)于評(píng)論實(shí)體我們根據(jù)用戶(hù)需求設(shè)計(jì)評(píng)論ID、新聞ID、評(píng)論內(nèi)容、評(píng)論人、評(píng)論時(shí)間這個(gè)5個(gè)字段。如圖3-4所示:</p><p>  圖3-4 評(píng)論實(shí)體圖</p><p>  (5)新聞?lì)悇e實(shí)體:對(duì)新聞?lì)悇e的實(shí)體分析后,我們?cè)O(shè)計(jì)了新聞?lì)悇eID和新聞?lì)悇e的名稱(chēng)這2個(gè)字段。如圖3-5所示:</p><p>  圖3

55、-5 新聞?lì)悇e實(shí)體圖</p><p>  3.2.2 數(shù)據(jù)庫(kù)實(shí)體E-R圖</p><p>  如下圖3-6 所示數(shù)據(jù)庫(kù)實(shí)體E-R圖,class,article,comment三個(gè)表存在一定的關(guān)系,他們分別是一對(duì)多的關(guān)系。其中article和comment兩個(gè)表之間存在外鍵約束。</p><p><b>  詳細(xì)如圖所示。</b></p

56、><p>  圖3-6 數(shù)據(jù)庫(kù)實(shí)體E-R圖</p><p>  3.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</p><p>  3.3.1 表article</p><p>  3.3.2 表 user</p><p>  3.3.3 表 admin</p><p>  3.3.4 表comment</p>

57、<p>  3.3.5 表 class</p><p>  第四章 功能模塊設(shè)計(jì)</p><p><b>  4.1功能模塊劃分</b></p><p>  根據(jù)新聞發(fā)布系統(tǒng)應(yīng)具有的基本功能以及參考用戶(hù)對(duì)新聞發(fā)布系統(tǒng)的要求我們將這個(gè)新聞發(fā)布系統(tǒng)進(jìn)行功能模塊上的劃分,以方便逐個(gè)功能的實(shí)現(xiàn)。同時(shí)用戶(hù)在使用中也非常方便,直觀。因此經(jīng)過(guò)我

58、們反復(fù)的分析和設(shè)計(jì),我們將這個(gè)新聞發(fā)布系統(tǒng)分為7大功能模塊。詳細(xì)的功能模塊名稱(chēng)如下:</p><p> ?。?)新聞分類(lèi)瀏覽模塊</p><p><b> ?。?)新聞檢索模塊</b></p><p> ?。?)會(huì)員登陸后發(fā)表新聞評(píng)論模塊</p><p> ?。?)管理員后臺(tái)新聞發(fā)布模塊</p><p

59、>  (5)管理員后臺(tái)新聞管理模塊</p><p> ?。?)管理員后臺(tái)新聞?lì)悇e添加模塊</p><p>  (7)管理員后臺(tái)新聞?lì)悇e管理模塊</p><p>  4.2 系統(tǒng)模塊功能描述</p><p>  4.2.1 新聞分類(lèi)瀏覽模塊</p><p>  瀏覽新聞是所有用戶(hù)都具有的最基本的權(quán)限,為了方便用戶(hù)對(duì)

60、新聞的快捷瀏覽,我們?cè)O(shè)計(jì)了新聞的分類(lèi)瀏覽功能。用戶(hù)只要進(jìn)入新聞發(fā)布系統(tǒng)的主頁(yè),要想瀏覽哪一類(lèi)新聞,只需在首頁(yè)中的新聞分類(lèi)的名稱(chēng)上點(diǎn)擊,即可彈出要瀏覽的這一類(lèi)新聞的所有新聞。并且按照新聞發(fā)布的時(shí)間的先后順序來(lái)排列所有新聞。在打開(kāi)的這一類(lèi)新聞的新聞列表中,用戶(hù)只需在點(diǎn)擊相應(yīng)的要看的新聞標(biāo)題,即可快速的瀏覽此新聞的詳細(xì)內(nèi)容。包括新聞的標(biāo)題,新聞的詳細(xì)內(nèi)容,新聞的來(lái)源,新聞的發(fā)布時(shí)間以及點(diǎn)擊次數(shù)等。因此,為那些喜歡關(guān)注哪一類(lèi)新聞的用戶(hù)提供了方便

61、。與此同時(shí),此新聞發(fā)布系統(tǒng)還增加了兩個(gè)新聞瀏覽的模塊。一個(gè)是根據(jù)新聞的點(diǎn)擊次數(shù)給用戶(hù)列出關(guān)注度最高的新聞。即點(diǎn)擊次數(shù)最高的幾個(gè)新聞。 另一個(gè)是根據(jù)管理員所發(fā)布新聞的時(shí)間給用戶(hù)列出最新的新聞。</p><p>  因此,通過(guò)這個(gè)3塊新聞瀏覽的功能模塊可以滿(mǎn)足不同用戶(hù)的不同需求。</p><p>  4.2.2 新聞檢索模塊</p><p>  為了方便用戶(hù)快速的瀏覽想

62、要瀏覽的新聞,我們?yōu)榇诵侣劙l(fā)布系統(tǒng)設(shè)計(jì)一個(gè)新聞的檢索功能。 新聞檢索就是用戶(hù)只要在此新聞發(fā)布系統(tǒng)的主頁(yè)中找到新聞檢索的輸入框,然后在此查詢(xún)輸入框中輸入要查詢(xún)新聞的關(guān)鍵字,然后提交到數(shù)據(jù)庫(kù)中。 數(shù)據(jù)庫(kù)在進(jìn)行數(shù)據(jù)的匹配,然后返回給用戶(hù)要查詢(xún)的新聞內(nèi)容。這種檢索方式比較方便,只要新聞中包含了用戶(hù)輸入的關(guān)鍵字,那么所匹配的新聞都會(huì)列表顯示出來(lái)。 因此,用戶(hù)就可以直觀地瀏覽要瀏覽的新聞,為用戶(hù)節(jié)約時(shí)間,避免不必要的瀏覽操作。</p>

63、<p>  4.2.3會(huì)員登陸后發(fā)表新聞評(píng)論模塊</p><p>  對(duì)于會(huì)員用戶(hù)可以登錄,登錄以后可以繼續(xù)瀏覽相應(yīng)的新聞,不同的是登錄后的會(huì)員用戶(hù)比普通的游客用戶(hù)權(quán)限更高。 登錄后的會(huì)員用戶(hù)可以在瀏覽新聞內(nèi)容的時(shí)候?qū)π侣勥M(jìn)行發(fā)表自己的新聞評(píng)論。同時(shí)也可以瀏覽其他會(huì)員用戶(hù)對(duì)某個(gè)新聞的評(píng)論。在評(píng)論版中用戶(hù)可以相互交流。形成一個(gè)互動(dòng)的平臺(tái)。</p><p>  4.2.4管理員后臺(tái)

64、新聞發(fā)布模塊</p><p>  新聞發(fā)布模塊對(duì)于新聞發(fā)布系統(tǒng)來(lái)說(shuō)是最主要的一個(gè)模塊。本系統(tǒng)的新聞發(fā)布系統(tǒng)模塊中發(fā)布的信息包括了新聞作者,新聞標(biāo)題,新聞內(nèi)容,新聞來(lái)源,新聞發(fā)布的時(shí)間以及用戶(hù)點(diǎn)擊次數(shù)等。 管理員用戶(hù)可以通過(guò)后臺(tái)的新聞發(fā)布頁(yè)面填寫(xiě)相關(guān)的內(nèi)容,然后點(diǎn)擊發(fā)布新聞,即可將自己的新聞發(fā)布出去。新聞發(fā)布的過(guò)程簡(jiǎn)單易行,新聞?dòng)晒芾韱T在后臺(tái)直接發(fā)布,無(wú)需驗(yàn)證和批準(zhǔn)直接可以在新聞發(fā)布系統(tǒng)的主頁(yè)面上顯示最新的新聞內(nèi)容

65、。</p><p>  4.2.5管理員后臺(tái)新聞管理模塊</p><p>  管理員將新聞發(fā)布以后,難免有出錯(cuò)或者需要修改的時(shí)候。因此在設(shè)計(jì)后臺(tái)的時(shí)候針對(duì)此需要,我們?cè)O(shè)計(jì)了管理員后臺(tái)新聞管理模塊。 此管理模塊是對(duì)已經(jīng)發(fā)布出去的新聞進(jìn)行修改編輯或者刪除。同時(shí)也是新聞發(fā)布系統(tǒng)管理新聞的最基本的功能。 此權(quán)限也只能是管理員才可以對(duì)此進(jìn)行操作,對(duì)于游客身份的用戶(hù)和已經(jīng)登錄的會(huì)員用戶(hù)則均不可以對(duì)此進(jìn)

66、行操作。</p><p>  4.2.6 管理員后臺(tái)新聞?lì)悇e添加模塊</p><p>  為了滿(mǎn)足用戶(hù)對(duì)新聞的分類(lèi)瀏覽,我們?cè)O(shè)計(jì)了新聞的分類(lèi)瀏覽功能。因此,在后臺(tái)的管理中我們首先要建立管理員后臺(tái)新聞?lì)悇e添加的模塊。管理員要發(fā)布的新聞是有一定的分類(lèi)的。首先管理員要添加自己所要發(fā)布新聞的新聞分類(lèi),以便在以后發(fā)布新聞的時(shí)候可以根據(jù)已經(jīng)添加的新聞分類(lèi),自然地將需要發(fā)布的新聞進(jìn)行分類(lèi)。同時(shí)網(wǎng)頁(yè)中的新

67、聞分類(lèi)里也顯示已發(fā)布的新聞。這樣用戶(hù)在針對(duì)哪一類(lèi)的新聞進(jìn)行瀏覽時(shí),可以在第一時(shí)間看到最新的新聞。 如果網(wǎng)站需要寬展發(fā)布一些新類(lèi)型的新聞,就可以動(dòng)態(tài)的控制不同種類(lèi)的新聞,可以做到新聞種類(lèi)無(wú)限擴(kuò)展。因此,此模塊可以大大的增加動(dòng)態(tài)網(wǎng)站的動(dòng)態(tài)性,避免過(guò)的冗余操作。為管理員減少工作量,方便維護(hù)整個(gè)龐大的網(wǎng)站。</p><p>  4.2.7 管理員后臺(tái)新聞?lì)悇e管理模塊</p><p>  為了滿(mǎn)足用

68、戶(hù)對(duì)新聞的分類(lèi)瀏覽,我們?cè)O(shè)計(jì)了無(wú)限新聞?lì)愋吞砑拥墓δ?。與此同時(shí),新聞的分類(lèi)管理也是必不可少的一項(xiàng)模塊。我們針對(duì)已經(jīng)添加過(guò)的新聞進(jìn)行修改或者直接刪除,保證管理員可以對(duì)新聞分類(lèi)進(jìn)行任意操作。動(dòng)態(tài)的控制整個(gè)新聞發(fā)布系統(tǒng)的新聞分類(lèi)功能。同時(shí)也滿(mǎn)足了不同用戶(hù)對(duì)不同類(lèi)型的新聞瀏覽的要求。使得這個(gè)新聞發(fā)布系統(tǒng)更有實(shí)用性,更人性化的管理。</p><p><b>  第五章 系統(tǒng)實(shí)現(xiàn)</b></p&g

69、t;<p><b>  5.1新聞發(fā)布首頁(yè)</b></p><p>  如圖5-1是新聞發(fā)布系統(tǒng)的首頁(yè),該頁(yè)面的功能包括:新聞瀏覽、新聞檢索、會(huì)員登錄以及管理員專(zhuān)用通道,用戶(hù)點(diǎn)擊相應(yīng)的鏈接時(shí)會(huì)進(jìn)入相應(yīng)的功能頁(yè)面。此新聞發(fā)布系統(tǒng)的首頁(yè)分為除了有以上的鏈接功能外,還可以根據(jù)自己的需要去瀏覽具體要瀏覽的那一類(lèi)新聞,在欄目導(dǎo)航中已經(jīng)列出分類(lèi),點(diǎn)擊即可瀏覽。熱門(mén)文章的模塊是針對(duì)新聞的點(diǎn)擊

70、次數(shù)進(jìn)行排列,列出關(guān)注度最高的新聞。最新文章模塊是針對(duì)新聞的發(fā)布時(shí)間進(jìn)行排列,列出最新發(fā)布的新聞。</p><p>  圖5-1 系統(tǒng)首頁(yè)</p><p>  5.1.1 連接數(shù)據(jù)庫(kù)的核心代碼</p><p>  數(shù)據(jù)庫(kù)的連接是實(shí)現(xiàn)個(gè)性功能的前提。在連接數(shù)據(jù)庫(kù)的時(shí)候,為了防止中文出現(xiàn)亂碼的現(xiàn)象,我們?cè)谶B接數(shù)據(jù)庫(kù)的同時(shí)對(duì)編碼進(jìn)行了指定。統(tǒng)一采用gbk的中文編碼,使得

71、中文亂碼現(xiàn)象得到解決。其核心代碼如下:</p><p><b>  <?php</b></p><p>  $lnk = mysql_connect('localhost', 'root', '') </p><p>  /*連接數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名稱(chēng)密碼為空*/</p><

72、p>  or die ('Not connected : ' . mysql_error()); /*無(wú)法連接,顯示錯(cuò)誤*/</p><p>  mysql_select_db('news', $lnk) or die ('Can\'t use news : ' . mysql_error());</p><p>  m

73、ysql_query("SET NAMES gbk");?> /*采用GBK編碼*</p><p><b>  5.2分類(lèi)瀏覽新聞</b></p><p>  根據(jù)主頁(yè)的欄目導(dǎo)航,我們可以點(diǎn)擊國(guó)際新聞,點(diǎn)擊以后彈出以新聞?lì)愋蜑閲?guó)際新聞的所有相關(guān)新聞。如圖5-2-1所示的分類(lèi)瀏覽新聞頁(yè)面。如果用戶(hù)想要查看某條新聞的具體內(nèi)容,用戶(hù)只要點(diǎn)

74、擊網(wǎng)頁(yè)中相應(yīng)的新聞標(biāo)題就可以瀏覽到新聞的詳細(xì)內(nèi)容。如圖5-2-2所示的瀏覽新聞詳細(xì)頁(yè)面。</p><p>  圖5-2-1 分類(lèi)瀏覽新聞頁(yè)面</p><p>  圖5-2-2 瀏覽新聞詳細(xì)頁(yè)面</p><p>  5.2.1 瀏覽分類(lèi)瀏覽核心代碼</p><p><b>  <?php</b></p>

75、;<p>  $id=$_GET["id"]; /* 獲取上個(gè)頁(yè)面的一個(gè)id*/</p><p>  $lnk = mysql_connect('localhost', 'root', '')</p><p>  or die ('Not connecte

76、d : ' . mysql_error()); /* 連接數(shù)據(jù)庫(kù)*/</p><p>  mysql_select_db('news', $lnk) or die ('Can\'t use news : ' . mysql_error()); </p><p>  mysql_query("SET NAMES gbk&quo

77、t;);</p><p>  $sql="update article set clicktime=clicktime+1 where id=$id"; /* 增加點(diǎn)擊數(shù)*/</p><p>  $query=mysql_query($sql); </p><p>  $sql="select * from article wher

78、e id=$id"; /* 對(duì)新聞的文章進(jìn)行篩選*/</p><p>  $query=mysql_query($sql);</p><p>  $row = mysql_fetch_array($query); ?></p><p>  /* 根據(jù)文章的點(diǎn)擊次數(shù)顯示關(guān)注度最高的新聞*/</p><p><b>

79、;  <?php</b></p><p>  $sql="select * from article order by clicktime desc limit 0,5"; /*篩選顯示*/</p><p>  $query=mysql_query($sql); </p><p><b>  /*分頁(yè)顯示*/&l

80、t;/b></p><p><b>  <?php </b></p><p>  $allrows=mysql_num_rows($query); /*獲取數(shù)據(jù)庫(kù)總數(shù)量*/</p><p>  $pagesize=20; /*每頁(yè)顯示多少條*/&

81、lt;/p><p>  $page=$_GET["page"];</p><p>  if($page=="")</p><p>  {$page=1;}</p><p>  $allpages=ceil($allrows/$pagesize); /*所有頁(yè)數(shù)*/&l

82、t;/p><p>  $start=$page*$pagesize-20;</p><p>  $sql="select * from article order by id desc limit $start,$pagesize"; /*篩選顯示*/</p><p><b>  ?> </b></p>

83、<p><b>  5.3 新聞檢索</b></p><p>  新聞檢索可以大大提高新聞的瀏覽速度,用戶(hù)查詢(xún)新聞時(shí)只需要在新聞檢索欄中輸入相應(yīng)的關(guān)鍵字然后點(diǎn)擊查詢(xún)的,既可以得到相應(yīng)的新聞頁(yè)面。如圖5-3-1添加一個(gè)新聞的關(guān)鍵字,然后再點(diǎn)擊查詢(xún)的按鈕。如圖5-3-2 得到的查詢(xún)結(jié)果</p><p>  圖5-3-1 查詢(xún)檢索頁(yè)面</p>&l

84、t;p>  圖5-3-2 查詢(xún)檢索頁(yè)面</p><p>  5.3.1新聞檢索核心代碼</p><p><b>  <?php</b></p><p>  $lnk = mysql_connect('localhost', 'root', '') /*連接數(shù)

85、據(jù)庫(kù)*/</p><p>  or die ('Not connected : ' . mysql_error()); </p><p>  mysql_select_db('news', $lnk) or die ('Can\'t use news : ' . mysql_error());</p><p>

86、  mysql_query("SET NAMES gbk");</p><p>  $kw=$_GET["kw"];</p><p>  $sql="select * from article where title like '%".$kw."%'"; /*模糊查詢(xún)*/</p>

87、;<p>  $query=mysql_query($sql);</p><p>  5.4 會(huì)員用戶(hù)登錄</p><p>  限制用戶(hù)的權(quán)限,會(huì)員用戶(hù)登錄的模塊是必不可少的。在正常會(huì)員賬戶(hù)和密碼都正確的情況下可以正常登錄。如圖5-4-1會(huì)員用戶(hù)正常登錄界面。 為了會(huì)員用戶(hù)的賬號(hào)安全我們?cè)跁?huì)員用戶(hù)登錄的時(shí)候加入的驗(yàn)證碼。只要會(huì)員用戶(hù)在3次輸入錯(cuò)誤的賬號(hào)密碼時(shí),則需要驗(yàn)證碼的輸

88、入。如圖5-4-2加驗(yàn)證碼登錄。以便防止其他黑客用戶(hù)采用暴力破解的手段來(lái)獲取會(huì)員用戶(hù)的賬號(hào)和密碼。</p><p>  圖5-4-1 會(huì)員用戶(hù)正常登錄界面</p><p>  圖5-4-2 加驗(yàn)證碼登錄界面</p><p>  5.4.1會(huì)員用戶(hù)登錄核心代碼</p><p><b>  <?php</b><

89、;/p><p>  session_start(); /*啟動(dòng)一個(gè)session*/</p><p>  if($_POST["action"]=="do")</p><p><b>  {</b></p><p>  $username=$_P

90、OST["username"];</p><p>  $password=$_POST["password"];</p><p>  $_SESSION["trytimes"]=$_SESSION["trytimes"]+1;</p><p>  /*請(qǐng)?jiān)谶@里判斷登陸*/</p&g

91、t;<p>  if($_SESSION["trytimes"]>3)</p><p><b>  {</b></p><p>  /*嘗試大于3次則加驗(yàn)證碼判斷*/</p><p>  if($_POST["code"]==$_SESSION["verifycode&quo

92、t;])</p><p><b>  {</b></p><p>  $lnk = mysql_connect('localhost', 'root', '')</p><p>  or die ('Not connected : ' . mysql_error());</p

93、><p>  mysql_select_db('news', $lnk) or die ('Can\'t use news : ' . mysql_error());</p><p>  mysql_query("SET NAMES gbk");</p><p>  $result=mysql_query(&

94、quot;select count(*) from user where</p><p>  username='$username' and password='$password'");</p><p>  $row = mysql_fetch_array($result);</p><p>  if($row[0]==

95、0)</p><p><b>  {</b></p><p>  echo("<script language='javascript'>alert('用戶(hù)名密碼不匹配</p><p>  ');window.location.href='userlogin.php';<

96、;/script>");</p><p>  exit();}</p><p><b>  else{</b></p><p>  $_SESSION["username"]=$username;</p><p>  echo("<script languag

97、e='javascript'>alert('登陸成功</p><p>  ');window.location.href='loginindex.php';</script>");</p><p>  exit(); }}else{</p><p>  echo("&l

98、t;script language='javascript'>alert('驗(yàn)證碼錯(cuò)誤</p><p>  ');window.location.href='login.php';</script>"); } }</p><p>  $lnk = mysql_connect('localhost'

99、;, 'root', '')</p><p>  or die ('Not connected : ' . mysql_error());</p><p>  mysql_select_db('news', $lnk) or die ('Can\'t use news : ' . mysql_error

100、());</p><p>  mysql_query("SET NAMES gbk");</p><p>  $result=mysql_query("select count(*) from user where username='$username' and password='$password'");

101、 /*驗(yàn)證賬戶(hù)密碼*/</p><p>  $row = mysql_fetch_array($result);</p><p>  if($row[0]==0){</p><p>  echo("<script language='javascript'>alert('用戶(hù)名密碼不

102、匹配</p><p>  ');window.location.href='userlogin.php';</script>");</p><p>  exit();}</p><p><b>  else{</b></p><p>  $_SESSION[&quo

103、t;username"]=$username;</p><p>  echo("<script language='javascript'>alert('登陸成功</p><p>  ');window.location.href='loginindex.php';</script>");

104、</p><p>  exit(); } } ?></p><p>  5.5 會(huì)員登錄后發(fā)表評(píng)論</p><p>  會(huì)員用戶(hù)登錄以后才可以對(duì)新聞進(jìn)行發(fā)表評(píng)論和查看新聞的所有評(píng)論。如下圖5-5-1是新聞發(fā)表評(píng)論的主頁(yè)面。用戶(hù)可以對(duì)新聞進(jìn)行評(píng)論,寫(xiě)好評(píng)論內(nèi)容以后點(diǎn)擊發(fā)表評(píng)論既可以成功發(fā)表評(píng)論。如圖5-5-2編輯評(píng)論頁(yè)面 。當(dāng)評(píng)論信息成功發(fā)布以后,點(diǎn)擊查

105、看即可查看到用戶(hù)的評(píng)論信息,如圖5-5-3所示所有的評(píng)論信息。</p><p>  圖5-5-1 發(fā)表評(píng)論主頁(yè)面</p><p>  圖5-5-2 編輯評(píng)論頁(yè)面</p><p>  圖5-5-3 查看評(píng)論信息頁(yè)面</p><p>  5.51 發(fā)表評(píng)論核心代碼</p><p><b>  <?p

106、hp</b></p><p>  session_start(); /*啟動(dòng)一個(gè)session*/</p><p>  $id=$_GET["id"]; /*獲取一個(gè)id*/</p><p>  $sql="se

107、lect * from article where id=$id"; /*對(duì)數(shù)據(jù)庫(kù)文章進(jìn)行篩選*/</p><p>  if($_POST["action"]=="do")</p><p><b>  {</b></p><p>  $author=$_POST["au

108、thor"];</p><p>  $content=$_POST["content"];</p><p>  $username=$_SESSION['username'];</p><p>  $time=date("Y-m-d");</p><p><b>  

109、$aid=$id;</b></p><p>  $sql="insert into comment(author,content,date,aid) </p><p>  values('$username','$content','$time','$aid')"; /*插入評(píng)論的

110、內(nèi)容*/</p><p>  if(mysql_query($sql))</p><p>  {echo("<script language='javascript'>alert('恭喜您,添加成功!</p><p>  ');window.location.href='loginindex.php

111、9;;</script>");</p><p>  exit();} else{</p><p>  echo("<script language='javascript'>alert('失敗,請(qǐng)聯(lián)系管理員!</p><p>  ');window.location.href='i

112、ndex.php';</script>");//</p><p>  exit();}} ?></p><p>  5.6 新聞發(fā)布頁(yè)面</p><p>  如下圖5-6是本新聞發(fā)布系統(tǒng)的新聞發(fā)布頁(yè)面,新聞的ID數(shù)據(jù)庫(kù)自動(dòng)累加用戶(hù)不需要對(duì)其進(jìn)行編號(hào)。發(fā)布時(shí)間的也不需要用戶(hù)添加,系統(tǒng)會(huì)幫你自動(dòng)添加發(fā)布新聞的時(shí)間。新聞標(biāo)題、作者、新

113、聞來(lái)源、新聞?lì)愋鸵约靶侣剝?nèi)容等則是用戶(hù)必須編輯的內(nèi)容,用戶(hù)填寫(xiě)好要發(fā)布的新聞后點(diǎn)擊發(fā)布,新聞成功發(fā)布后,系統(tǒng)將給與成功發(fā)布的信息提示。</p><p>  圖5-6 新聞發(fā)布頁(yè)面</p><p>  5.6.1新聞發(fā)布核心代碼</p><p><b>  <?php</b></p><p>  $session_

114、save_path = dirname(__FILE__)."/../include/sessions";</p><p>  session_save_path($session_save_path); /*session存儲(chǔ)路徑*/</p><p>  session_start(); /*

115、啟動(dòng)一個(gè)session*/</p><p>  if($_SESSION["username"]=="")</p><p><b>  {</b></p><p>  echo("<script language='javascript'>alert('您還沒(méi)

116、有登陸,請(qǐng)你先登陸后再操作</p><p>  ');window.location.href='login.php';</script>");</p><p>  exit();} ?></p><p><b>  <?php</b></p><p>  i

117、f($_POST["action"]=="do")</p><p><b>  {</b></p><p>  $title=$_POST["title"];</p><p>  $writer=$_POST["writer"];</p><p&

118、gt;  $come=$_POST["come"];</p><p>  $content=$_POST["content"];</p><p>  $classname=$_POST["classname"];</p><p>  /*插入文章的內(nèi)容*/</p><p>  $sq

119、l="insert into article(title,writer,come,content,classname,time)</p><p>  values('".$title."','".$writer."','".$come."','".$content."&

120、#39;,'".$classname."','".time()."')";</p><p><b>  ?></b></p><p>  5.7 新聞管理頁(yè)面</p><p>  管理員用戶(hù)登錄以后點(diǎn)擊新聞管理鏈接時(shí),出現(xiàn)如圖5-7-1所示的頁(yè)面。此頁(yè)面給

121、予的權(quán)限是最高的,可以修改新聞和刪除新聞,瀏覽需要修改的新聞內(nèi)容點(diǎn)擊操作選項(xiàng):修改新聞和刪除新聞。如果選擇修改新聞則跳轉(zhuǎn)到新聞修改頁(yè)面。如圖5-7-2新聞修改頁(yè)面。如果用戶(hù)是選擇刪除的操作,即點(diǎn)擊要?jiǎng)h除新聞所在行的刪除操作,提示刪除成功。如圖5-7-3刪除成功提示。成功刪除以后,用戶(hù)會(huì)重新回到此管理頁(yè)面,所刪除的新聞已經(jīng)刪除,瀏覽不到剛才刪除的新聞內(nèi)容。</p><p>  圖5-7-1 后臺(tái)管理頁(yè)面</

122、p><p>  圖5-7-2 新聞修改頁(yè)面</p><p>  圖5-7-2 新聞刪除成功提示</p><p>  5.71 新聞修改核心代碼</p><p><b>  <?php</b></p><p>  if($_POST["action"]=="do&qu

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論