PHP-畢業(yè)設計-個人博客系統(tǒng)(共34頁)_第1頁
PHP-畢業(yè)設計-個人博客系統(tǒng)(共34頁)_第2頁
PHP-畢業(yè)設計-個人博客系統(tǒng)(共34頁)_第3頁
PHP-畢業(yè)設計-個人博客系統(tǒng)(共34頁)_第4頁
PHP-畢業(yè)設計-個人博客系統(tǒng)(共34頁)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上本科畢業(yè)設計(論文)說明書 基于B / S模式的個人博客系統(tǒng)的設計與實現(xiàn) 學 院 華南理工大學廣州學院 專業(yè)班級 計算機科學與技術2班 學生姓名 學生學號 指導教師 提交日期 2014年 5月 13日 專心-專注-專業(yè)華南理工大學廣州學院學位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的學位論文,是本人在導師的指導下,獨立進行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律結果由本人承擔。學位論文作者簽名: 日期: 年 月 日學位論

2、文版權使用授權書本人完全了解華南理工大學廣州學院關于收集、保存、使用學位論文的規(guī)定,即:按照有關要求提交學位論文的印刷本和電子版本;華南理工大學廣州學院圖書館有權保存學位論文的印刷本和電子版,并提供目錄檢索與閱覽服務;可以采用復印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的的前提下,可以公布論文的部分或全部內(nèi)容。學位論文作者簽名: 日期: 年 月 日指導教師簽名: 日期: 年 月 日作者聯(lián)系電話: 電子郵箱:摘 要國內(nèi)各大網(wǎng)站上均有各自的博客系統(tǒng),但是各有局限、功能欠缺,為了實現(xiàn)無需成本,無需技術,便可搭建自己的博客系統(tǒng),本文設計開發(fā)了一種功能簡潔、頁面美觀、便于流行的博客系統(tǒng)。系統(tǒng)采用了

3、動態(tài)Web應用PHP技術開發(fā)博客系統(tǒng)的設計與實現(xiàn),后臺采用MYSQL數(shù)據(jù)庫系統(tǒng),結合JavaScript和HTML ,實現(xiàn)了功能較為全面的個人博客系統(tǒng),其中還獨創(chuàng)了小聊天室功能,用戶可以在其中進行在線的交流。無論是普通用戶的前臺操作,還是管理員的后臺管理,都會簡單易行,頁面簡潔美觀,訪問方便,用戶也可以通過自己的博客系統(tǒng)隨時發(fā)表自己的文章、查看評論,也能輕易地檢索到自己需要的資料,并發(fā)表意見,及時的與別人進行信息的共享與交流。本文對博客系統(tǒng)進行整體分析,明確了系統(tǒng)的可行性和用戶需求,根據(jù)模塊化原理,規(guī)劃設計了系統(tǒng)功能模塊;在數(shù)據(jù)庫設計部分,詳細說明了系統(tǒng)數(shù)據(jù)庫的結構和數(shù)據(jù)庫的完整性、安全性措施

4、;程序設計則采用面向對象的程序設計思想,提出系統(tǒng)的程序設計思路,對前臺與后臺功能的程序實現(xiàn)進行了詳細論述;系統(tǒng)測試部分,具體分析測試過程中出現(xiàn)的主要問題,并提出了解決方案,實現(xiàn)系統(tǒng)功能。最后,對系統(tǒng)作以客觀、全面的評價,并對進一步改進提出了建議。關鍵詞:博客;PHP;MYSQLAbstractMany major sites have their own blog system, but lacking in functionalitywhich each has limitations, in order to achieve a system of our own blog, for ze

5、ro cost, zero technology, This page appearance, more convenient for popular blog system. 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 JavaScript and HTML, to achieve

6、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 background management administrator, will be simple, the page simple and beautiful, easy to access, users c

7、an, through their own blog system at any time to express their articles, view comments, it can easily be retrieved information they need, and to express their views in a timely manner to share with others and exchange information.In this paper, which overall analysis of the blog system , defined the

8、 feasibility of the system and 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 databases measures . program design is the use of objec

9、t-oriented program design, program design ideas proposed system , the function of the front and back of program implementation are discussed in detail ,system testing section , specific analysis of the main problems arise during testing and presents solutions for system functions. Finally, we will c

10、omprehensive assessment system as an objective and suggestions for further improvement .Key words: blog; PHP; MYSQL目 錄第一章 緒 論1.1. 博客的產(chǎn)生“博客”起源于中國,歷史學家普遍認為,最早來自中國秦朝。 秦始皇被刺殺,找到一位俠客,并選擇博浪沙作為刺殺地點,刺殺結果失敗。但秦帝國仍然受到這一事件感到震驚,紛紛在第一時間對其進行報道,無數(shù)竹簡在驛道上來回奔跑,上述消息僅刻著朱紅色的一行篆字:“博浪沙之俠客”因此,在原來的意思是“博客”是指突發(fā)的大事件。開發(fā)博客,需

11、求和前景2001年9月重要11日,世界貿(mào)易中心恐怖襲擊,博客已經(jīng)成為災難的重要信息和經(jīng)驗來源。從此,博客正式進人們的身邊。或許是這一系列恐怖襲擊,讓人們了解到生命的珍貴,人際溝通是非常被人們所需要的,這種直接最有效的傳遞信息的方式,讓人們有了全新的認識。從發(fā)展的早期階段,一方面是一個雙功能的博客,它是一個偉大的工具,在網(wǎng)上寫日志功能,可以記錄個人生活,展示自我的文本形式,也可以讓別人在網(wǎng)絡上了解他們的自己的,博客是一個舞臺來展示自己;其他博客也是一個偉大的溝通工具,利用博客可以發(fā)送一些重要的新聞的最直接和最有效的方式與人溝通。正好砸在世貿(mào)中心的恐怖襲擊,網(wǎng)絡的第一個事件作為一個信息源,我們可以

12、看到博客的重要性。制定一個個人博客系統(tǒng),是基于這樣的一個想法,通過各種方式來表達自己和與他人溝通。1.2課題意義博客系統(tǒng)是這樣一種影響力頗大的媒介將有利于好的思想和好的事物的傳播,有利于社會的進步。但也無法忽略個人博客目前所面臨的主要問題:由于文化市場監(jiān)督不利,網(wǎng)絡技術發(fā)展不完善等原因,勢必會造成一些暴力、淫穢以及影響社會安定的內(nèi)容廣泛傳播于網(wǎng)絡,這就需要文化部門的有力監(jiān)督。1所以要把博客好的方面的影響力發(fā)揮到最大,怎樣使博客朝著正確的方向發(fā)展必然就要求開發(fā)博客新技術來獲得更多人的認可。一旦博客研究取得關鍵性技術的新突破,將會在網(wǎng)絡世界掀起一股前所未有的博客浪潮,介時將會有更多的人擁有自己的博

13、客,博客影響力也將倍增。這時通過博客一些新的科學技術將更容易推廣,好的政策和好的思想也會更加容易傳播,同樣抑制或者讓不良思想無法在博客系統(tǒng)中進行傳播。如果這樣相信社會的進步將會是顯而易見的。本文開發(fā)的博客系統(tǒng)就是為管理員提供可管理的一個網(wǎng)絡空間,同時為瀏覽者提供瀏覽文章、查看圖片、發(fā)表評論的功能,博客管理員對整個系統(tǒng)的博客內(nèi)容進行管理,享有最高管理權。本文采用PHP+Tomcat+Mysql進行系統(tǒng)開發(fā),功能性設計方面依據(jù)現(xiàn)有的博客系統(tǒng)的已有功能進行進行整合擴展,實現(xiàn)更符合個人需求的博客系統(tǒng),博客系統(tǒng)的興起與不斷壯大對我國社會文化,我國網(wǎng)絡時代具有特殊的意義。 1.3國內(nèi)外研究現(xiàn)狀與

14、發(fā)展趨勢 博客的發(fā)展與互聯(lián)網(wǎng)的發(fā)展是緊密相關的, 目前互聯(lián)網(wǎng)上的博客提供服務主要有一下的三種類型:一、專業(yè)型的博客提供服務:即網(wǎng)站的主要業(yè)務是提供博客服務, 如中國博客網(wǎng)、網(wǎng)易博客等。二、附屬型博客提供服務:博客服務是整個網(wǎng)站中的一個子系統(tǒng),是為網(wǎng)站的一個擴展功能,對其他的功能氣相互相成的作用,如新浪、CSDN等三、個人的博客提供服務:這種應用類型所需要的條件較高, 使用者需要自己提供服務器空間、域名和博客程序, 但這種類型所給予用戶的自由度也最大。而從博客自身的縱向發(fā)展來看, 其功能經(jīng)歷了一個從簡單到復雜的過程。早期的博客系統(tǒng)只不過實現(xiàn)了在用戶的一個專門頁面發(fā)布信息的功能, 而伴隨

15、著XML與RSS技術, 博客能夠以一種新的數(shù)據(jù)形式發(fā)布和訂閱文章;伴隨著TrackBack和PingBack功能, 博客引入了一種主動通告的機制, 使得用戶們更容易形成一個緊密結合的社區(qū);通過對XML-RPC以及WebService七的支持, 博客用戶能夠以離線的方式添加或修改日志, 帶來了更加靈活的操作方式通過CSS、html等頁面開發(fā)技術, 博客用戶能夠更加隨意、自由地更改顯示外觀, 表現(xiàn)自己的個性。2博客系統(tǒng)已經(jīng)成為一個強大的個人展示平臺, 一些中小企業(yè)甚至可以將博客作為一個宣傳自身、介紹產(chǎn)品的門戶。作為一個典型的Web應用程序, 博客系統(tǒng)的實現(xiàn)方式可以是多種多樣的,其開發(fā)可以采用目前流

16、行的任何一種Web開發(fā)技術。技術本身并無優(yōu)劣之分,但考慮到快速便捷的整體規(guī)劃, 本博客系統(tǒng)采用PHP作為實現(xiàn)平臺,大量地吸收了PHP平臺的優(yōu)點實現(xiàn)了一個輕型、便捷,較可靠的博客系統(tǒng)。1.4 本章小結本章主要介紹了博客的歷史、博客是怎么產(chǎn)品的及它的發(fā)展過程,還有選題的意義。第二章 可行性與需求分析2.1可行性分析在確定開發(fā)工具和相關技術知識的理解后,開始正式進入系統(tǒng)開發(fā)階段。首先,我們要研究系統(tǒng)的可行性。系統(tǒng)的可行性研究是為了確定以最低的代價在最少的時間內(nèi)把問題解決。然而可行性研究的目的不是為了解決問題,而是確定問題是否值得解決。因此,可行性研究實質(zhì)上是一個系統(tǒng)的分析和設計過程中,為了

17、更抽象的方式達到一個更高的水平。1.1.1 經(jīng)濟可行性一、在傳播方面,博客非常適合傳播的針對性,對于不同類型的博客,分割的高度,定向相對準確的,相關的廣告客戶根據(jù)博客廣告的類型,因此對廣告單元觀眾的值相對較高。二、在傳播過程中,博客的傳遞時對于個人的,而以前的廣告或者賣東西通常是對于大眾的,在大眾和個人之間是分開來的,而人與人的溝通是建立在個人之間,所以博客被稱為是更有潛力的溝通,在眾多類型的傳播,人際傳播的效果比其他形式的溝通更好,尤其是在說服和溝通的情感方面。郭慶光的傳播學教程一書中指出,一方面是和強大的雙向人際溝通,及時反饋,互動頻率高,而另一方面,人際溝通是非制度化的溝通的一種形式,教

18、授,即建立與自發(fā),自主和非強制性的傳播之間的關系,人際交往主要是基于自愿的活動和協(xié)商一致的基礎上。三、在傳播的手段,博客的廣告與傳統(tǒng)的廣告方式對比,更加針對特定人群,價格也相比傳統(tǒng)廣告更低。博客作為Web2.0模式代表了過渡從商家為客戶提供積極的主動越好,然后雙方互相舉措。方興東認為, Web2.0的個性化主張使個人,而不是一個被動的對象,但由于涉及互聯(lián)網(wǎng)主題,網(wǎng)民作為個體,而且在同一時間,互聯(lián)網(wǎng)已成為活躍的傳播者和生產(chǎn)的人。3另一種身體成分博客與網(wǎng)友交流通常是光明公眾的一部分,這些人有欲望和表現(xiàn)相對較強的表達,因此參與的廣告意識也比較強。四、在傳播技術上,個人博客廣告通過準確的定位技術鎖定的

19、人群,直接在目標人群面前發(fā)表。例如,使用語義分析技術可以直接把文章圍繞與業(yè)務有關的區(qū),您可以鎖定特定目標人群的廣告客戶,廣告計費可以根據(jù)廣告客戶的需求,根據(jù)時段,節(jié)目的數(shù)量,點擊支付的數(shù)量,也可以通過支付是否有效付費。1.1.2 技術可行性PHP可以做到所有你想到的任務。 因為PHP主要用于服務器端腳本程序,所以你能用 PHP所有其它的 CGI 程序能夠完成的工作,例如收集表單數(shù)據(jù),生成動態(tài)頁面內(nèi)容。使用PHP,能任意的選擇操作系統(tǒng)和 web 服務器。4還可以在選擇對象的過程中聯(lián)合起來一起使用。盡管PHP 4不能支持所有的標準,許多代碼和大型的應用軟件僅使用OOP代碼來開發(fā)。PHP 5 彌補了

20、 PHP 4 的這一缺陷,添加了完整的對象模型。使用PHP 不僅僅能夠輸出HTML。4還能用來輸出動態(tài)圖像、PDF 文件甚至動畫。PHP能夠自己生成這些文件,對于不是靜態(tài)的內(nèi)容可以在服務器中暫時保存,也可以打印出來。PHP是最顯著的特點最強大之一是它適用范圍廣的數(shù)據(jù)庫的支持。用戶會發(fā)現(xiàn),使用PHP編寫數(shù)據(jù)庫支持的網(wǎng)頁簡單得難以置信。綜上所述, PHP + Apaceh + MySQL的應用開發(fā)博客系統(tǒng)是可行的。51.1.3 操作可行性目前的計算信息機技術已經(jīng)成為一項成熟的技術,信息技術的應用為城市將發(fā)揮重要作用。這主要體現(xiàn)在以下幾個方面:(1)計算機技術是目前處理速度和計算機的運行性能具有相當

21、水平,處理博客管理中的事務完全能夠勝任;(2)數(shù)據(jù)存儲設備的數(shù)據(jù)存儲技術可以提供相關信息的安全性,統(tǒng)一存儲和管理,消除存儲在紙介質(zhì)上或分散管理信息的不利因素,安全性、數(shù)據(jù)共享、在很長一段時間你都可以得到保護;(3)數(shù)據(jù)庫技術的發(fā)展,數(shù)據(jù)庫技術已實施了多種海量數(shù)據(jù)管理,訪問和使用非常提供商檢索效率;在安全性,穩(wěn)定性和更完美;(4)網(wǎng)絡技術現(xiàn)在更快的網(wǎng)絡速度,帶寬越來越大,而價格卻在下降。對于任何一個單位,建立一個信息系統(tǒng),目的是聯(lián)想到其所有部門的下面一起工作,從而提高工作效率;從以上的觀點有關技術角度目前的發(fā)展水平,建立技術條件的系統(tǒng)已經(jīng)滿足,該系統(tǒng)已經(jīng)建立了條件。因此,該系統(tǒng)具有操作可行性。1

22、.1.4 硬件可行性系統(tǒng)所采用的技術和運行的平臺都是比較成熟的經(jīng)過了大量的實踐,目前的硬件配置大多數(shù)都足以滿足系統(tǒng)的運行所需要的要求。5 系統(tǒng)的基本硬件要求:網(wǎng)絡中的服務器(服務器要求能提供空間和支持動態(tài)網(wǎng)絡技術以及MySQL數(shù)據(jù)庫)、客戶端電腦(具有基本多媒體功能和設備)、支持PHP架構的工作和系統(tǒng)平臺(Windows7)、支持PHP架構的能處理動態(tài)網(wǎng)頁技術的瀏覽器(IE6.0以上等具備解釋PHP技術的瀏覽器)。2.2需求分析需求分析的主要是為了確定系統(tǒng)一定要完成什么,是對系統(tǒng)提出準確的要求,是為了清楚軟件的需求、安排工程的進展、規(guī)劃軟件開發(fā)與測試。2.2.1性能需求性能需求指定系

23、統(tǒng)必須滿足的時間的需要,通常有反應的速度,信息的處理速度,內(nèi)存占了多少,還有安全性等方面的問題。這個網(wǎng)站需要滿足快速響應用戶的操作,響應時間應該很短的時間內(nèi)被控制,數(shù)據(jù)將被實時更新,該網(wǎng)站只是一個小站,不占用太多的資源,并當然,如果有更大的內(nèi)存和處理服務器和硬件支持的能力,肯定提高速度。6當然博客的性能需求還有以下幾個方面多樣性:博客網(wǎng)站是以用戶作為設計的重要部分,隨著網(wǎng)絡的快速發(fā)展,不僅改變了人們的生活方式,還大大降低了信息的咨詢成本,在現(xiàn)在用戶可以有各種各樣的選擇,博客網(wǎng)站除了要把成本降下來以為,還要在多樣性上下功夫,如加多點貼心的功能,或者多彩的界面等,這樣才能得到用戶的認可,還能留住用

24、戶。易維護:博客系統(tǒng)要簡單且易維護,管理起來方便才能讓人更好的使用,隨著博客信息量的增大,功能的增多,易維護是開發(fā)者要考慮的一個部分,要保證在后期加了很多功能以后,還是和以前一樣易維護。安全性:博客是給人分享的平臺,系統(tǒng)的安全性是我們要考慮的問題,信心的安全,設備運行的安全,管理的安全,要保護好用戶的個人信息安全,給用戶一個踏實的環(huán)境,要建立起完善的安全體系。7可擴展:網(wǎng)站發(fā)現(xiàn)飛速,博客對不同的用戶,不同的行業(yè),都有著不同的需求,系統(tǒng)在設計的時候要充分考慮到不同用戶的需求,降低將來功能擴展時的難度。2.2.2系統(tǒng)綜合需求前臺要實現(xiàn)的功能:(1)  簡約的界面,色調(diào)柔和,以藍色為主。(

25、2)  瀏覽博客的人可以自由發(fā)表評論。 (3)  搜索功能,能夠對站內(nèi)所有的文章進行關鍵字搜索(4)  頁面功能,頁面是獨立于文章的特定板塊,有獨立的評論空間,相對于其他文章而言是獨立的。后臺管理功能:能對網(wǎng)站的大部分內(nèi)容進行管理,方面用戶直接管理自己的系統(tǒng)。運行要求:windows平臺下Apache http服務器+PHP解析引擎+MySQL數(shù)據(jù)庫。可靠性:系統(tǒng)運行數(shù)據(jù)要一致,如果遇到系統(tǒng)不能正常運行要提供快捷恢復方式。可用性:系統(tǒng)要方面好用,能給用戶提供所需要的東西,且可以為網(wǎng)頁以后可以做不同的延伸,如博客的朋友圈或者好友分享功能等。出錯處理:如果用戶輸入的數(shù)

26、據(jù)不是正確的,要盡可能在程序中彈出輸入錯誤的提示,要對于系統(tǒng)的錯誤信息注意對其進行隱藏,并轉給對應的處理頁面進行處理。圖2-1 博客信息管理系統(tǒng)2.2.3 系統(tǒng)需求管理規(guī)劃表 根據(jù)以上對系統(tǒng)的需求分析,我們可以得到一個更加簡單的的系統(tǒng)需求管理規(guī)劃表,本表寫出了系統(tǒng)的各項主要功能,并且對其分類,配有間斷描述,最重要的方面給出了各個功能需求的優(yōu)先級,優(yōu)先級的高低表示了功能實現(xiàn)的迫切程度和重要的程度。表2-2 優(yōu)先級需求分析表需求名稱描述優(yōu)先級用戶注冊用戶可以注冊自己的各項信息高登錄、退出用戶可以登錄或者退出博客系統(tǒng)高文章添加若用戶已經(jīng)注冊,用戶可以發(fā)表文章高文章刪除管理員可以刪除全部文章

27、,如果是普通用戶只能刪除自己寫的文章高瀏覽文章博客的讀者可以瀏覽博主的文章高評論文章博客的讀者可以對博主的文章進行評論中留言讀者可以在留言板中給博主留言中查詢用戶可以通過查詢功能快速查詢到感興趣的文章中2.3數(shù)據(jù)庫需求分析2.3.1 MySQL數(shù)據(jù)庫簡介 MySQL數(shù)據(jù)庫由瑞典MySql公司開發(fā)和維護的一個精巧的SQL(Structured Query Language,結構化查詢語言)關系型數(shù)據(jù)庫管理系統(tǒng)(DBMS)。MySQL數(shù)據(jù)早在90年代中期就開始出現(xiàn),經(jīng)過近10年的發(fā)展,MYSQL已經(jīng)發(fā)展成為一個成熟的數(shù)據(jù)庫,它不僅非常小巧靈活并且性能非常強大,提供多個

28、接口,方面用戶使用,得到了許多開發(fā)人員的認可。MySQL數(shù)據(jù)庫提供完善的SQL-92標準的結構化查詢語言,如select、delete、insert、update語句。通過MySQL在操作系統(tǒng)上建立的ODBC可以輕松將這些SQL語句翻譯成為相應的MySQL數(shù)據(jù)庫管理系統(tǒng)指令并對數(shù)據(jù)庫進行管理。作為關系型數(shù)據(jù),8MySQL完全支持對于各種數(shù)據(jù)庫對象的管理和便捷操作,這里包括表(Table)、視圖(View)、存儲過程(Stored Procedure)和觸發(fā)器(Trigger)等。MySQL數(shù)據(jù)庫提供完全可視化的窗口,可以更直接的對數(shù)據(jù)進行管理。 當然,MySQL數(shù)據(jù)庫也完全

29、支持ADO(ActiveX Data Objects)數(shù)據(jù)庫應用程序的數(shù)據(jù)庫訪問技術。ADO它被設計用來同新的數(shù)據(jù)庫訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data MySQL)。OLE DB是一個底層的數(shù)據(jù)庫訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關系數(shù)據(jù)庫。8ADO封裝了OLE DB程序中使用的大量COM接口,所以是一種高層訪問技術。所以MySQL非常適合PHP技術開發(fā)動態(tài)網(wǎng)站。2.3.2 數(shù)據(jù)庫表的設計根據(jù)該需求分析和第三部分的概要設計,可以設計要使用的一

30、個數(shù)據(jù)庫表對應的系統(tǒng),首先判斷數(shù)據(jù)庫表的基本設計是一個表,用于存儲關于一個實體或對象的信息,那么該數(shù)據(jù)庫的分析和設計相對簡單。9對于不同的對象或實體,取決于需要和該系統(tǒng)的未來擴展,可以適當?shù)丶毞?。的信息和動態(tài)信息的另一個擴展分別放置在不同的表。 當然,上表中的主鍵的任何信息將是重要的,以設置一個唯一的標識符,主密鑰是不實際使用的術語,僅用于唯一地標識一個數(shù)據(jù)項,通常用數(shù)字自動編號。10通過需求分析和概要設計,在MySql數(shù)據(jù)庫中建立名為db_blog的數(shù)據(jù)庫,把所有的信息存在數(shù)據(jù)庫里里面,在里面建立如下的表,分別為:用戶表(tb_user)、文章內(nèi)容表(tb_article)、文章評論表(tb

31、_filecomment)、留言板(tb_book)、公告表(tb_public)五個表。 用戶表系統(tǒng)主要是為滿足網(wǎng)絡用戶的需求使用博客,因為網(wǎng)絡本身的特點,以及一個網(wǎng)絡工具很多,它被設置比較高的用戶信息,這里主要是用戶的ID號,這是用來唯一識別用戶的標識是用戶表的主鍵。表2-3 用戶表序號字段名類型長度索引備注1idIntKey自動編號2nameVarchar50用戶帳號3truenameVarchar50真實姓名4pwdVarchar50用戶密碼5birthdayDate用戶生日6emailVarchar50E-mail7cityVarchar50所在城市8sexVarchar5

32、0用戶性別9qqVarchar50用戶QQ10introduceVarchar50自我介紹11figInt10管理員文章內(nèi)容表 本表主要用來存放文章的各種信息,這也是博客系統(tǒng)中非常重要的一個表。其中文章ID編號為主鍵,唯一標識一篇文章。其它信息詳見表2-4所示。 表2-4 文章信息表序號字段名類型長度索引備注1idInt20Key自動編號2TitleVarchar200文章標題3contentMediumtext50文章內(nèi)容4authorVarchar50文章作者5datetimeDatetime上傳時間文章評論表 文章評論表主要存儲對一篇文章的評論的各種信息,文

33、章的評論信息相對于文章的信息而言要簡單一些,評論列表存儲用戶對文章的評論,包括注冊用戶和游客都可以發(fā)表評論。主要包括唯一標識評論的id編號,是主鍵。表的結構如表2-5所示。表2-5 文章評論表序號字段名類型長度索引備注1idInt20Key自動編號2FileidVarchar200文章id3usernameMediumtext50評論用戶4contentVarchar50評論內(nèi)容5datetimeDatetime評論時間公告表表2-6 公告表序號字段名類型長度索引備注1idInt20Key自動編號2TitleVarchar200公告主題3contentVarchar50公告內(nèi)容4pubtime

34、date50公告時間留言表用來保存留言板上的信息表2-7 留言表序號字段名類型長度索引備注1idInt20Key自動編號2subjectVarchar200留言主題3contentVarchar50留言內(nèi)容4datedate50留言時間 數(shù)據(jù)庫ER關系圖 數(shù)據(jù)庫中的表有用戶表、文章信息表、文章評論表、。本系統(tǒng)數(shù)據(jù)庫的表的ER圖如圖11所示。圖2-2 用戶實體圖 圖2-3 文章實體圖圖2-4 評論實體圖主要頁面如表所示表2-8主要頁面表文件名說明Login.php登錄頁面Index.php主頁Article.php瀏覽日志頁面Warticle.php寫日志頁面Cha

35、t.php聊天室頁面Book.php留言板頁面Hontai.php后臺管理頁面2.4本章小結本章在技術可行性、經(jīng)濟可行性、操作可行性方面及數(shù)據(jù)庫的設計,系統(tǒng)的總體結構需求進行了簡要的分析。第三章 系統(tǒng)開發(fā)工具及選擇理由3.1 PHP介紹PHP(超文本預處理器 - 超文本預處理器)是一種HTML -嵌入式腳本語言(如ASP ) 。與大多數(shù)C,JAVA ,Perl中, PHP的兼容,并增加了獨特的語法結構的PHP語法,動態(tài)頁面可以執(zhí)行比CGI或者Perl更快速,只需要很少的編程知識就可以創(chuàng)建交互式Web站點。它可以用于管理動態(tài)內(nèi)容,數(shù)據(jù)庫,處理會話跟蹤,甚至構建整個電子商務站點。它支持許多流行的數(shù)

36、據(jù)庫,包括MySQL和PostgreSQL ,甲骨文,賽貝斯公司,Informix和Microsoft SQL Server 。PHP是完全免費的,不需要任何代價,你就可以使用PHP這個優(yōu)秀的編程序言,而且你還可以從不同的網(wǎng)站上獲得你所需要的源代碼,這都是非常自由和分享的,你可以從源代碼中學到很多有用的東西,且添加到你的代碼中,使用PHP和MYSQL,你可以開發(fā)出一個很棒的動態(tài)網(wǎng)頁,PHP在國外也非常流行。PHP具有以下優(yōu)點:1 、學習起來比較容易:PHP只要你看過基礎的1,2本書知道其自身的語法,就可以開始PHP的路程啦,它語言使用較為簡單,數(shù)據(jù)庫連接便利,PHP和MYSQL可以進行配合幫助

37、你開發(fā),你可以使用它開發(fā)出許多有趣的東西。2 、可擴展性:PHP已經(jīng)進入了一個非??焖俚陌l(fā)展階段,它不僅具有非常多的擴展功能還可以面向對象編程,它給了你許多類和對象,給了你WEB所需要的東西。 3.2 B/S結構 現(xiàn)在B/S的結構是非常流行的,用戶發(fā)送信息給瀏覽器,然后瀏覽器發(fā)送給服務器進行處理,處理的結果顯示在瀏覽器中, B / S架構簡化了客戶端,您需要配置客戶端上的一個小的客戶端軟件。該服務器將承擔更多的工作,執(zhí)行數(shù)據(jù)庫訪問和應用程序將在服務器上完成。這種結構不僅沉重負擔,使他們騰出手不斷提高的性能要求的客戶端,而且也從繁重的維護中解脫出來,提升工作的技術維修人員。因為事務處理

38、邏輯服務器的功能,因此客戶端部分的客戶突然“苗條”了很多,不再負責處理關鍵問題,如復雜的計算和數(shù)據(jù)訪問,顯示只負責該計劃的一部分不再那么維護人員的維護工作來回各客戶端之間,并專注于更新服務器程序的功能。此相互獨立的層之間的三層結構,該變化不會影響任何層的其它層的功能。3.3JavaScript語言 JavaScript是面向對象的語言,它主要是用于讓HTML與JAVAAPPLET合在一塊使用,用來在網(wǎng)頁中有多個對象時可以進行WEB的客戶端的交互,來完成開發(fā)客戶端應用程序。在JavaScript的應用下,能夠用PHP開發(fā)出性能非常強大且易用的動態(tài)網(wǎng)站。3.4本章小結本章對PHP的介紹及

39、B/S架構,還有JavaScrip語言進行了簡要的分析。第四章 系統(tǒng)詳細設計4.1概述本博客系統(tǒng)利用PHP+MySQL+Apache開發(fā),所有測試工作和編碼都在windows環(huán)境下進行,下面將介紹詳細設計的各個部分。4.11 用戶登錄為了實現(xiàn)特定的功能和方法,以更好地說明該網(wǎng)站,從注冊功能登陸網(wǎng)站,站內(nèi)推出開始后,并通過循序漸進的方式解釋一步來實現(xiàn)其功能的代碼。用戶注冊登錄 注冊的鏈接在login.php上,點擊鏈接后進入的頁面為register.php。注冊時必填的信息為用戶名,密碼,真名,點擊確定后,轉到checkuser.php中進行處理,若不符合要求,則終止注冊,顯示錯誤信息

40、。 根據(jù)不同輸入情況分別使用四條SQL語句將新用戶的信息加入數(shù)據(jù)庫。用戶注冊是在登錄頁面下的,主要由register.php完成。用戶點擊“博客注冊”進入用戶注冊界面,然后閱讀用戶注冊協(xié)議,確認后可以到達正式注冊頁面,否則返回。在正式注冊頁面中用戶填寫各種信息,包括姓名、密碼等。用戶的“密碼”和“確認密碼”必須一致才能注冊,否則提示用戶兩次輸入密碼不一致。一切信息正確后系統(tǒng)會在數(shù)據(jù)庫中為該用戶自動生成一個用戶ID編號,這個編號是自動遞增的生成,用來唯一標識一個用戶。用戶登錄和退出 用戶的退出是在主頁在進行的,經(jīng)過注冊的用戶可以選擇登錄帳戶,已經(jīng)登錄的用戶也可以選擇退出帳戶。

41、登錄時首先客戶端發(fā)送登錄請求給服務器端,服務器端通過數(shù)據(jù)庫檢查該用戶名是否存在,如果存在,檢查密碼是否正確,在密碼也正確情況下系統(tǒng)服務器端給予登錄響應。登錄后的用戶將獲得響應權限的功能。 而用戶退出是在用戶登錄的前提下操作的,這時已經(jīng)登錄的用戶選擇退出,即可退出服務器并且釋放Cookie和Session中的相關信息和資源用戶注冊的關鍵代碼如下$regname=$_POST'txt_regname'/用戶名$regrealname=$_POST'txt_regrealname'/真名$regpwd=$_POST'txt_regpwd'/密

42、碼$regbirthday=$_POST'txt_birthday'/生日$regemail=$_POST'txt_regemail'/郵件$regcity=$_POST'txt_city'/城市$regsex=$_POST'txt_regsex'/性別$regqq=$_POST'txt_regqq'/qq$reghomepage=$_POST'txt_reghomepage'/個人主頁$regintroduce=$_POST'txt_regintroduce'/介紹4.12主頁主頁

43、中包括博客最新日志區(qū)、最新的留言,搜索功能,公告的顯示,把這幾個界面區(qū)合理的組合是布局和美工的重要之處。圖4-1 主頁首頁比較簡潔,主要包括以下幾個部分上部:包含導航欄左部:顯示系統(tǒng)的公告右部:顯示最新的日志和最新的留言在主頁的設計方面首先要準備好素材,一個好的頁面設計好素材和布局是不可缺一的,系統(tǒng)所需要的素材我花了挺多時間去找的,最終還是比較滿意,主要是自己去使用CSS布局的時候比較麻煩,很多東西移多了一點或少了一點,結果出來都會很不同,要自己去慢慢調(diào)試,不斷的反復使用才能調(diào)出比較好看的頁面4.13 瀏覽日記 點擊日記頁面進入發(fā)表博客的界面warticle.php,在這里輸入標題和

44、正文后信息被發(fā)送到check_diary.php頁面,在這里首先檢查標題或內(nèi)容是否為空,如有問題則報錯進行提示;檢查無誤之后使用SQL ADD語句將文章信息插入到tb_article表中。 因為文章的數(shù)量可能較多,如果在一個頁面全部列出可能會影響外觀,因此每個頁面的鏈接數(shù)要做一定限制,如10到15個,之后使用循環(huán)語句將content中的文章信息動態(tài)的顯示在頁面上。 圖4-2  博客文章列表 關鍵代碼:  $page=$_GET'page' /取得當前的頁面編號 $eachpage=15; /每個頁面顯示15個

45、鏈接 if(!$page) /判斷是否為第一頁  $page=1;  if(!$page|$page=1) /確定當前為第一頁  $start=0; /從數(shù)據(jù)庫表中第一篇文章開始  else  $start=($page-1)*$eachpage); /計算當前頁面第一片文章在數(shù)據(jù)庫表中的編號  $sql="select * from admintextform order&#

46、160;by id desc limit $start,$eachpage" /在SQL語句中加入范圍限制從$start到$eachpage結束 $result=mysql_query($sql); /執(zhí)行查詢  . while($rows=mysql_fetch_assoc($result)/while循環(huán)輸出  echo $rowstitle;. /顯示鏈接  . 之后還要加上頁碼欄以便用戶轉跳頁面 判

47、斷頁碼的關鍵代碼: if($page>1)/判斷當前是否第一頁  $prepage=$page-1; /獲取前一頁的頁碼  $currentend=$start+$eachpage; /當前頁碼中最大的文章編號 $sql="select count(*) from admintextform" /查詢表中的最大文章編號 $result0=mysql_query($sql); $rows0=mysql_fetch_row($resu

48、lt0); $total=$rows00; /獲得最大的文章編號 if(int)($total/$eachpage)<($total/$eachpage) /計算當前最大的頁碼  $totalpage=(int)($total/$eachpage)+1; /頁碼數(shù)的計算方法為總文章數(shù)除以每頁的文章數(shù),結果為浮點數(shù)則取整加一  else  $totalpage=(int)($total/$eachpage);   if($total>$curre

49、ntend) /當前頁碼中最大的文章編號和表中的最大文章編號相比,確定當前的頁面是不是最后一頁  if(!$page) /是否為第一頁 $nextpage=2;  else /取得下一頁的頁碼 $nextpage=$page+1;   . 輸出頁碼。 用戶點擊article.php頁面上的標題鏈接后進入文章正文瀏覽的界面show.php,普通用戶可以查看文章的正文并發(fā)表評論,而管理員還可以修改文章的內(nèi)容,用戶權限的識別通過變量SESSION來判斷。用戶發(fā)表

50、留言通過show.php頁面下的留言面板進行留言,其代碼與之前的博客文章發(fā)表較為相似,在這里不詳細說明。 4.14 添加文章當用戶登錄后,通過瀏覽日記頁面中的寫日記按鈕,可以進行添加文章,想要使用文章管理模塊,前提是用戶必須登錄,匿名用戶是無法訪問這些功能的;想要刪除文章和評論,前提是當前用戶要么是管理員權限,要么是文章?lián)碛姓?,否則不會顯示刪除功能的。這兩方面的控制都需要session 的配合,本節(jié)就來講一下session 的應用及常見的問題處理。session 的中文譯名為“會話”,是指用戶從進入網(wǎng)站開始,直到關閉網(wǎng)站這段時間內(nèi),所有網(wǎng)頁共同使用的公共變量的存貯機制。session 比coo

51、kie 更有優(yōu)勢:session 是存儲在服務器端的,不易被偽造;session 的存儲沒有長度限制;session 的控制更容易等。在session的使用過程中,盡可能把session放在第一行中,因為在session開始之前,如果有HTML代碼輸出的話可能會有問題,就算是一個小空格放在第一行也在不被允許的,所以盡可能把session放在第一行,且在使用session之前要先調(diào)用session_start()函數(shù)。圖4-3 添加文章頁面當用戶填寫完博客主題和文章內(nèi)容后,單擊“提交”按鈕,系統(tǒng)將跳轉到處理頁check_diary進行處理。在處理頁中,將傳過來的文章標題、文章作者和文章內(nèi)容等參數(shù)

52、組成insert 語句,并最終保存到數(shù)據(jù)表中。如果添加信息成功,系統(tǒng)返回到本頁,可繼續(xù)執(zhí)行添加操作;如果添加失敗,則返回到上一步。程序的關鍵代碼如下:<?phpheader("Content-Type:text/html;charset=utf-8");session_start();/開啟session支持include "Conn/conn.php"/包含數(shù)據(jù)庫連接文件$author = $_SESSION'username'if($_POST'btn_tj'!="")/判斷傳值頁面$titl

53、e=$_POST'txt_title'/取得文章題目$content=$_POST'file'/取得文章內(nèi)容$now=date("Y-m-d H:i:s");/文章發(fā)表時間$sql="Insert Into tb_article (title,content,datetime,author) Values ('$title','$content','$now','$author')"/執(zhí)行SQL語句$result=mysql_query($sql);if($r

54、esult)echo "<script>alert('恭喜您,你的日志發(fā)表成功!');window.location='article.php'</script>"elseecho "<script>alert('對不起,添加操作失敗!');window.history.back(-1);</script>"?>4.15 刪除文章對文章的刪除處理,是后臺管理的重要功能,當要對文章進行刪除時,將跳轉到處理頁(del_file.php 和del_commen

55、t.php),完成刪除操作。在刪除文章的處理頁中,刪除文章的同時,也刪除了該篇文章的相關的評論。處理頁首先在文章列表(tb_article)中刪除id 等于$file_id 的記錄,如果沒有可刪除記錄,則提示失敗,并返回上一步;如果刪除成功,則轉到評論列表(tb_filecomment)中,刪除所有該篇文章的評論。刪除文章頁刪除處理的關鍵代碼如下:<?phpsession_start(); /開啟session支持include "check_login.php" /包含權限檢查文件include "Conn/conn.php" /包含數(shù)據(jù)庫鏈接文

56、件$sql="delete from tb_article where id=".$file_id; /刪除文章的delete語句$result=mysql_query($sql,$link); /執(zhí)行刪除操作if($result)$sql1 = "delete from tb_filecomment where fileid = ".$file_id; /刪除相對應的文章評論$rst1 = mysql_query($sql1,$link); /執(zhí)行刪除評論的操作if($rst1)echo "<script>alert('博

57、客文章已被刪除!');location='myfiles.php'</script>"elseecho "<script>alert('刪除失敗!');history.go(-1);</script>"elseecho "<script>alert('博客文章刪除操作失敗!');history.go(-1);</script>"?>4.16 聊天室聊天室主要是為了給用戶提供一個在線聊天的平臺,用戶可以在聊天室中進多人的聊天。

58、在聊天室主顯示區(qū)中輪動效果是通過<marquee>標簽來現(xiàn)的。<marquee>標簽是HTML 自帶的、也是初學者最常用的公告欄實現(xiàn)方式。使用<marquee>標簽,可以實現(xiàn)文字或圖片的滾動效果,增加了實用性的同時,也增加了觀賞性。圖4-4 聊天室頁面主要的實現(xiàn)代碼如下if ($action="say")/當用戶點擊聊天按鈕echo "<head><title> ".CHAT_NAME." </title></head><center><bod

59、y bgcolor=#FFF style='font-size:12px;'>/<form action=".SCRIPT."?action=save method=post name=chat onSubmit='return check()'>".$_SESSION'username'."說:<input type=text size=80 maxlength=500 name=chatmsg style=' background-color:#FFF; width:550px; height:22px; border:1px solid:#'>/顯示聊天信息<select name=usercolor><OPTION selected style='COLOR: #' value=''>默認顏色</OPT

溫馨提示

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

評論

0/150

提交評論