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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于PHP的新聞發(fā)布系統</p><p><b>  目錄</b></p><p><b>  目錄3</b></p><p>  基于PHP的新聞發(fā)布系統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實驗環(huán)境搭配10</p><

3、p>  1.1.1動態(tài)網頁編程語言的比較10</p><p>  1.1.2 PHP簡介11</p><p>  1.1.3 MYSQL數據庫技術簡介11</p><p>  1.1.4 PHP+MySQL+Apache組合12</p><p>  1.2 B/S系統結構及工作原理12</p><p

4、>  第二章 需求分析14</p><p>  2.1 設計構思14</p><p>  2.2功能設計14</p><p>  第三章 數據庫設計16</p><p>  3.1 數據庫需求分析16</p><p>  3.1.1 功能流程16</p><p>  3.1.2

5、 需求總結16</p><p>  3.2 數據庫概念設計16</p><p>  3.2.1 數據庫實體16</p><p>  3.2.2 數據庫實體E-R圖19</p><p>  3.3 數據庫邏輯設計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>  第四章 功能模塊設計22</p><p>  4.1功能模塊劃分22</p>

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

8、員后臺新聞管理模塊24</p><p>  4.2.6 管理員后臺新聞類別添加模塊24</p><p>  4.2.7 管理員后臺新聞類別管理模塊24</p><p>  第五章 系統實現25</p><p>  5.1新聞發(fā)布首頁25</p><p>  5.1.1 連接數據庫的核心代碼26</p&

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

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

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

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

13、6.3.2后臺管理測試45</p><p>  6.4 系統權限核心代碼46</p><p>  6.4.1用戶標識及權限設置代碼46</p><p><b>  第七章 結論47</b></p><p><b>  體會與總結48</b></p><p><

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

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

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

17、齊全,例如用戶可以對自己的新聞進行發(fā)布,瀏覽其他新聞,對新聞的檢索,以及對新聞進行評論。幾乎可以滿足大部分用戶的各項需求。此系統不僅前臺功能強大,而且后臺管理系統更強大。管理員可以對新聞,新聞分類等模塊進行分塊管理。因此,管理員可以直觀快捷的管理網站的各項事務,以便此系統可以正常穩(wěn)定的運行。</p><p>  關鍵詞:新聞發(fā)布系統,PHP編程,MYSQL數據</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>  隨著互聯網的發(fā)展,互聯網已經是人們社會生活必不可少的東西。 互聯網上的各項功能主要是通過網站來實現的。而新聞發(fā)布系統在網站中是不可缺少的功能。傳統的網站新聞發(fā)布

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

26、一個動態(tài)新聞發(fā)布系統。</p><p><b>  研究意義</b></p><p>  新聞的網絡化發(fā)展在很大的程度上代替了原有的傳播模式,給人們對于新聞有了全新的體驗。系統使新聞有序化,簡潔化,讓用戶在短時間內得到自己所要的新聞信息。而且網絡新聞將不再是原有的新聞發(fā)布模式,用戶也不會受到原有的新聞發(fā)布模式單方面發(fā)布者制約,被動接受發(fā)布者的新聞。同時用戶可以通過此系

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

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

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

30、的HTML 文件中嵌入VBScript或是JavaScript腳本語言。當客戶請求一個ASP文件的時候服務器 就會運行ASP中的腳本代碼,并轉換成標準的HTML的文件發(fā)送給客戶端。ASP提供了幾個非常有用的內部對象和內部組件,利用他們可以輕松地實現表單上傳,存取數據庫等功能。因此,ASP幾乎可以實現任何功能。</p><p>  JSP(Java Server Pages),它是Java編程語言編寫類XML的ta

31、gs和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有

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

33、Zend 加速引擎,性能穩(wěn)定快速。因此,PHP被很多網格開發(fā)者選擇學習和使用。</p><p>  1.1.2 PHP簡介</p><p>  PHP已經成為全球最普及的互聯網開發(fā)語言之一,PHP在2004年獲得了最佳編程語言的稱號,到2010年,PHP發(fā)展一直呈現穩(wěn)步上升趨勢。至今已被2000多萬個網站采用。在TIOBE世界編程語言排行調查報告中,PHP技術在全球互聯網領域的應用將會位

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

35、><p> ?。?)支持廣泛的數據庫;</p><p><b>  (3)跨平臺特性;</b></p><p><b>  (4)易學性;</b></p><p><b>  (5)執(zhí)行速度快;</b></p><p><b>  (6)模塊化;&

36、lt;/b></p><p> ?。?)支持面相對象過程。 </p><p>  1.1.3 MYSQL數據庫技術簡介</p><p>  MySQL 是瑞典的MySQL AB公司開發(fā)的一個小型關系型數據庫系統。它適用于網絡開發(fā),其數據庫可在因特網上隨時共享。MySQL功能強大、運行速度快、可靠性高、安全等優(yōu)點。經過分析總結我們總結了MySQL數據庫特性如下

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

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

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

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

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

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

43、;p>  綜上所述,無論從硬件、軟件及維護工作等方面權衡,B/S結構都能降低整個網絡結構體系的總體成本。因此,我們采用B/S結構進行開發(fā)新聞發(fā)布系統。</p><p><b>  第二章 需求分析</b></p><p><b>  2.1 設計構思</b></p><p>  新聞發(fā)布系統(News Release

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

45、提供一個發(fā)布的功能和新聞分類管理。 其次,實現用戶交互,用戶可以參加一些問卷調查和對新聞的評論。 最后,要實現對這個新聞發(fā)布的綜合管理,方便管理員的管理。</p><p>  要實現這個龐大的功能, 我們先對用戶權限進行劃分,不同的用戶有著不同的權限。游客瀏覽者(沒有注冊為會員)進入到新聞發(fā)布系統的主頁面,可以瀏覽所有的相關新聞。但是沒有任何特殊的特權。 對于已經注冊的瀏覽者(會員)不僅擁有游客瀏覽者的全部功能,

46、還可以對某個新聞進行發(fā)表評論,查看他人的評論等。最后是管理員,他擁有權限最高,他可以管理所有的新聞,以及新聞分類??梢栽黾雍托薷男碌男侣劮诸悾部梢栽黾雍托薷男碌男侣剝热?。</p><p><b>  2.2功能設計</b></p><p>  新聞發(fā)布系統分為前臺和后臺兩個部分。對于前臺操作者來說,CMS系統的前臺頁面是他們可以看見的部分,所以要求前臺的操作盡可能直

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

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

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

50、 功能流程</p><p>  游客瀏覽主頁→選擇要瀏覽新聞→游客瀏覽新聞→游客瀏覽返回</p><p>  會員登錄系統→會員瀏覽新聞→會員發(fā)表評論→會員查看評論→會員退出系統</p><p>  3.1.2 需求總結</p><p>  經上述業(yè)務流與數據庫需求總結,數據庫設計如下的數據項:</p><p>  (

51、1)新聞發(fā)布:新聞ID、題目、內容、發(fā)布時間、作者、來源、點擊次數、新聞分類。</p><p>  (2)會員信息:會員賬戶、登錄密碼、真是名字、性別、年齡、電話。</p><p> ?。?)管理員信息:管理員ID、登錄賬戶、密碼。</p><p>  (4)評論信息:評論ID、新聞ID、評論內容、評論人、評論時間。</p><p>  (5

52、)新聞類別:類別ID、類別名稱。</p><p>  3.2 數據庫概念設計</p><p>  3.2.1 數據庫實體</p><p>  (1)新聞實體:對于新聞實體我們根據需要對其設計了:新聞ID、題目、內容、發(fā)布時間、作者、來源、點擊次數、新聞分類這8個字段。如圖3-1所示:</p><p>  圖3-1 新聞實體圖</p&g

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

54、t;/p><p> ?。?)評論實體:對于評論實體我們根據用戶需求設計評論ID、新聞ID、評論內容、評論人、評論時間這個5個字段。如圖3-4所示:</p><p>  圖3-4 評論實體圖</p><p> ?。?)新聞類別實體:對新聞類別的實體分析后,我們設計了新聞類別ID和新聞類別的名稱這2個字段。如圖3-5所示:</p><p>  圖3

55、-5 新聞類別實體圖</p><p>  3.2.2 數據庫實體E-R圖</p><p>  如下圖3-6 所示數據庫實體E-R圖,class,article,comment三個表存在一定的關系,他們分別是一對多的關系。其中article和comment兩個表之間存在外鍵約束。</p><p><b>  詳細如圖所示。</b></p

56、><p>  圖3-6 數據庫實體E-R圖</p><p>  3.3 數據庫邏輯設計</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>  第四章 功能模塊設計</p><p><b>  4.1功能模塊劃分</b></p><p>  根據新聞發(fā)布系統應具有的基本功能以及參考用戶對新聞發(fā)布系統的要求我們將這個新聞發(fā)布系統進行功能模塊上的劃分,以方便逐個功能的實現。同時用戶在使用中也非常方便,直觀。因此經過我

58、們反復的分析和設計,我們將這個新聞發(fā)布系統分為7大功能模塊。詳細的功能模塊名稱如下:</p><p>  (1)新聞分類瀏覽模塊</p><p><b> ?。?)新聞檢索模塊</b></p><p>  (3)會員登陸后發(fā)表新聞評論模塊</p><p> ?。?)管理員后臺新聞發(fā)布模塊</p><p

59、> ?。?)管理員后臺新聞管理模塊</p><p>  (6)管理員后臺新聞類別添加模塊</p><p> ?。?)管理員后臺新聞類別管理模塊</p><p>  4.2 系統模塊功能描述</p><p>  4.2.1 新聞分類瀏覽模塊</p><p>  瀏覽新聞是所有用戶都具有的最基本的權限,為了方便用戶對

60、新聞的快捷瀏覽,我們設計了新聞的分類瀏覽功能。用戶只要進入新聞發(fā)布系統的主頁,要想瀏覽哪一類新聞,只需在首頁中的新聞分類的名稱上點擊,即可彈出要瀏覽的這一類新聞的所有新聞。并且按照新聞發(fā)布的時間的先后順序來排列所有新聞。在打開的這一類新聞的新聞列表中,用戶只需在點擊相應的要看的新聞標題,即可快速的瀏覽此新聞的詳細內容。包括新聞的標題,新聞的詳細內容,新聞的來源,新聞的發(fā)布時間以及點擊次數等。因此,為那些喜歡關注哪一類新聞的用戶提供了方便

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

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

63、<p>  4.2.3會員登陸后發(fā)表新聞評論模塊</p><p>  對于會員用戶可以登錄,登錄以后可以繼續(xù)瀏覽相應的新聞,不同的是登錄后的會員用戶比普通的游客用戶權限更高。 登錄后的會員用戶可以在瀏覽新聞內容的時候對新聞進行發(fā)表自己的新聞評論。同時也可以瀏覽其他會員用戶對某個新聞的評論。在評論版中用戶可以相互交流。形成一個互動的平臺。</p><p>  4.2.4管理員后臺

64、新聞發(fā)布模塊</p><p>  新聞發(fā)布模塊對于新聞發(fā)布系統來說是最主要的一個模塊。本系統的新聞發(fā)布系統模塊中發(fā)布的信息包括了新聞作者,新聞標題,新聞內容,新聞來源,新聞發(fā)布的時間以及用戶點擊次數等。 管理員用戶可以通過后臺的新聞發(fā)布頁面填寫相關的內容,然后點擊發(fā)布新聞,即可將自己的新聞發(fā)布出去。新聞發(fā)布的過程簡單易行,新聞由管理員在后臺直接發(fā)布,無需驗證和批準直接可以在新聞發(fā)布系統的主頁面上顯示最新的新聞內容

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

66、行操作。</p><p>  4.2.6 管理員后臺新聞類別添加模塊</p><p>  為了滿足用戶對新聞的分類瀏覽,我們設計了新聞的分類瀏覽功能。因此,在后臺的管理中我們首先要建立管理員后臺新聞類別添加的模塊。管理員要發(fā)布的新聞是有一定的分類的。首先管理員要添加自己所要發(fā)布新聞的新聞分類,以便在以后發(fā)布新聞的時候可以根據已經添加的新聞分類,自然地將需要發(fā)布的新聞進行分類。同時網頁中的新

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

68、戶對新聞的分類瀏覽,我們設計了無限新聞類型添加的功能。與此同時,新聞的分類管理也是必不可少的一項模塊。我們針對已經添加過的新聞進行修改或者直接刪除,保證管理員可以對新聞分類進行任意操作。動態(tài)的控制整個新聞發(fā)布系統的新聞分類功能。同時也滿足了不同用戶對不同類型的新聞瀏覽的要求。使得這個新聞發(fā)布系統更有實用性,更人性化的管理。</p><p><b>  第五章 系統實現</b></p&g

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

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

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

72、p>  or die ('Not connected : ' . mysql_error()); /*無法連接,顯示錯誤*/</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分類瀏覽新聞</b></p><p>  根據主頁的欄目導航,我們可以點擊國際新聞,點擊以后彈出以新聞類型為國際新聞的所有相關新聞。如圖5-2-1所示的分類瀏覽新聞頁面。如果用戶想要查看某條新聞的具體內容,用戶只要點

74、擊網頁中相應的新聞標題就可以瀏覽到新聞的詳細內容。如圖5-2-2所示的瀏覽新聞詳細頁面。</p><p>  圖5-2-1 分類瀏覽新聞頁面</p><p>  圖5-2-2 瀏覽新聞詳細頁面</p><p>  5.2.1 瀏覽分類瀏覽核心代碼</p><p><b>  <?php</b></p>

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

76、d : ' . mysql_error()); /* 連接數據庫*/</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"; /* 增加點擊數*/</p><p>  $query=mysql_query($sql); </p><p>  $sql="select * from article wher

78、e id=$id"; /* 對新聞的文章進行篩選*/</p><p>  $query=mysql_query($sql);</p><p>  $row = mysql_fetch_array($query); ?></p><p>  /* 根據文章的點擊次數顯示關注度最高的新聞*/</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>  /*分頁顯示*/&l

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

81、lt;/p><p>  $page=$_GET["page"];</p><p>  if($page=="")</p><p>  {$page=1;}</p><p>  $allpages=ceil($allrows/$pagesize); /*所有頁數*/&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>  新聞檢索可以大大提高新聞的瀏覽速度,用戶查詢新聞時只需要在新聞檢索欄中輸入相應的關鍵字然后點擊查詢的,既可以得到相應的新聞頁面。如圖5-3-1添加一個新聞的關鍵字,然后再點擊查詢的按鈕。如圖5-3-2 得到的查詢結果</p><p>  圖5-3-1 查詢檢索頁面</p>&l

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

85、據庫*/</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."%'"; /*模糊查詢*/</p>

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

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

89、;/p><p>  session_start(); /*啟動一個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>  /*請在這里判斷登陸*/</p&g

91、t;<p>  if($_SESSION["trytimes"]>3)</p><p><b>  {</b></p><p>  /*嘗試大于3次則加驗證碼判斷*/</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('用戶名密碼不匹配</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('驗證碼錯誤</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、 /*驗證賬戶密碼*/</p><p>  $row = mysql_fetch_array($result);</p><p>  if($row[0]==0){</p><p>  echo("<script language='javascript'>alert('用戶名密碼不

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 會員登錄后發(fā)表評論</p><p>  會員用戶登錄以后才可以對新聞進行發(fā)表評論和查看新聞的所有評論。如下圖5-5-1是新聞發(fā)表評論的主頁面。用戶可以對新聞進行評論,寫好評論內容以后點擊發(fā)表評論既可以成功發(fā)表評論。如圖5-5-2編輯評論頁面 。當評論信息成功發(fā)布以后,點擊查

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

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

107、lect * from article where id=$id"; /*對數據庫文章進行篩選*/</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')"; /*插入評論的

110、內容*/</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('失敗,請聯系管理員!</p><p>  ');window.location.href='i

112、ndex.php';</script>");//</p><p>  exit();}} ?></p><p>  5.6 新聞發(fā)布頁面</p><p>  如下圖5-6是本新聞發(fā)布系統的新聞發(fā)布頁面,新聞的ID數據庫自動累加用戶不需要對其進行編號。發(fā)布時間的也不需要用戶添加,系統會幫你自動添加發(fā)布新聞的時間。新聞標題、作者、新

113、聞來源、新聞類型以及新聞內容等則是用戶必須編輯的內容,用戶填寫好要發(fā)布的新聞后點擊發(fā)布,新聞成功發(fā)布后,系統將給與成功發(fā)布的信息提示。</p><p>  圖5-6 新聞發(fā)布頁面</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存儲路徑*/</p><p>  session_start(); /*

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

116、有登陸,請你先登陸后再操作</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>  /*插入文章的內容*/</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 新聞管理頁面</p><p>  管理員用戶登錄以后點擊新聞管理鏈接時,出現如圖5-7-1所示的頁面。此頁面給

121、予的權限是最高的,可以修改新聞和刪除新聞,瀏覽需要修改的新聞內容點擊操作選項:修改新聞和刪除新聞。如果選擇修改新聞則跳轉到新聞修改頁面。如圖5-7-2新聞修改頁面。如果用戶是選擇刪除的操作,即點擊要刪除新聞所在行的刪除操作,提示刪除成功。如圖5-7-3刪除成功提示。成功刪除以后,用戶會重新回到此管理頁面,所刪除的新聞已經刪除,瀏覽不到剛才刪除的新聞內容。</p><p>  圖5-7-1 后臺管理頁面</

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

溫馨提示

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

評論

0/150

提交評論