PHP MySql制作個人博客系統(tǒng)-完整教程
(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))如果有人問“什么是web2.0?”,恐怕沒幾個人能說得清楚,但是要問什么是博客,哪怕是從不上網(wǎng)的人也是耳熟能詳?shù)牧?。博客正是web
(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))

如果有人問“什么是web2.0?”,恐怕沒幾個人能說得清楚,但是要問什么是博客,哪怕是從不上網(wǎng)的人也是耳熟能詳?shù)牧?。博客正是web2.0概念中重要的組成部分之一(大家熟知的還包括IM 即時通和RSS 閱讀器)。
Blog(博客),全名Weblog,后來縮寫為Blog。Blogger就是寫B(tài)log 的人,習慣于在網(wǎng)上寫出日記、發(fā)布個人照片、展示個性自我的用戶群體。對于Blog/Blogger的中文名稱,有翻譯成“博客”,也有翻譯為“網(wǎng)志”,但大多數(shù)人都已經(jīng)認可了“博客”。
通過閱讀本章,讀者可以學到:
博客管理系統(tǒng)的開發(fā)流程
進一步掌握如何做項目需求分析與系統(tǒng)設計
實現(xiàn)一個簡單的公告欄管理模塊
掌握不同的圖片上傳技術
掌握一種采用JavaScript CSS

技術來實現(xiàn)的半透明動態(tài)下拉菜單
,PHP 項目開發(fā)全程實錄
8.1開發(fā)背景
博客管理系統(tǒng)給人們提供抒發(fā)個人情感、人與人之間進行良好溝通的平臺,博客擁有真實的內(nèi)容,可以通過博客記錄下工作、學習、生活和娛樂的點滴,以及發(fā)表文章和評論,從而在網(wǎng)上建立一個完全屬于自己的個人天地,成為當今網(wǎng)絡最為個性化和平民化的個人展示空間。對于網(wǎng)民,只要擁有博客,就可以超越現(xiàn)實生活,擁有不同以往的全新網(wǎng)上生活;對于博客服務商,則必須從功能提供轉(zhuǎn)型到全方位社會服務的提供,建立虛擬社會,并負責維護運行,保證博客日常生活;對于社會而言,有利于構建和諧的互聯(lián)網(wǎng)空間,維護和諧的社會環(huán)境。從這個角度來說,構建新生活方式,將是互聯(lián)網(wǎng)發(fā)展的一個里程碑。
8.2需求分析
信息時代的今天,博客已經(jīng)成為一種新的生活方式。在網(wǎng)絡中構建一個賦有個性化的個人博客,提供了一種可信任的和實時連通的網(wǎng)絡環(huán)境,通過網(wǎng)絡開放性和交互性的特點,讓用戶在任何時間、任何地點,通過網(wǎng)絡方便地“生活”,不僅是信息傳遞與獲取,還可以進行群體交流和資源共享,展示自我,為個人發(fā)展帶來新機遇。
通過對多個博客網(wǎng)的調(diào)查分析,客戶要求本博客管理系統(tǒng)具有以下功能:
?
?
?
?
?
?
?
?
?要求系統(tǒng)采用B/S架構,實現(xiàn)人機交互。要求系統(tǒng)界面?zhèn)€性化,色彩搭配和諧,很強的視覺沖擊力,操作簡便。要求突出主題,顯示最新文章和公告。要求游客可以瀏覽文章、瀏覽圖片、發(fā)表評論。要求具有強大的搜索查詢功能,實現(xiàn)精確查詢和模糊查詢。完善的文章管理功能,包括文章的發(fā)表、刪除,及對文章的評論與回復。支持圖片上傳功能,可以上傳各種類型的圖片。支持好友功能。系統(tǒng)運行穩(wěn)定,安全可靠。
8.3
8.3.1系統(tǒng)設計系統(tǒng)目標
該系統(tǒng)主要實現(xiàn)如下目標:
?·374·系統(tǒng)采用

B/S架構,實現(xiàn)人機交互。
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))
?????????系統(tǒng)界面設計以淺色為主,美觀友好,操作簡便。突出重點內(nèi)容,顯示最新文章。
非登錄用戶可以瀏覽文章、瀏覽圖片、發(fā)表評論。全面的搜索查詢功能,包括精確查詢和模糊查詢。
完善的文章管理功能,包括文章的發(fā)表、刪除,及對文章的評論與回復。支持圖片上傳功能。支持好友功能。支持公告欄功能。
系統(tǒng)運行穩(wěn)定,安全可靠。
8.3.2系統(tǒng)功能結(jié)構
博客管理系統(tǒng)的功能結(jié)構如圖8.1所示。


圖8.1博客管理系統(tǒng)功能結(jié)構圖
8.3.3系統(tǒng)功能預覽
為了讓讀者對本系統(tǒng)有個初步的了解和認識,下面給出本系統(tǒng)的幾個頁面運行效果圖,如果想查看完整的效果圖,請參見光盤源程序。
博客管理系統(tǒng)的首頁如圖8.2所示,該頁面包含了系統(tǒng)大部分的功能鏈接,包括用戶注冊、用戶登錄、文章瀏覽等。用戶注冊頁面如圖8.3所示,該頁面顯示了用戶注冊時需要填寫的資料、注意事項等。
瀏覽文章頁面如圖8.4所示,該頁面用于顯示文章及相關的評論,也可以發(fā)表評論。發(fā)表文章頁面如圖8.5所示,該頁面用于登錄用戶發(fā)表文章,包括文章標題、文字編輯區(qū)和文章內(nèi)容。
·375·
,PHP 項目開發(fā)全程實錄

圖8.2博客首頁(光盤TMonlineindex.php)圖8.3

用戶注冊頁面(光盤TMonlineRegister.php

)圖8.4瀏覽文章頁面(光盤TMonlinearticle.php)圖8.5發(fā)表文章頁面(光盤TMonlinefile.php)
圖片上傳頁面用于上傳圖片,如圖8.6所示,通過該頁面用戶可以將圖片或照片添加到博客中。添

加好友頁面如圖8.7

所示,該頁面用于輸入用戶好友的詳細信息,包括姓名、性別、生日等。
圖8.6圖片上傳頁面(光盤TMonline?d_pic.php)圖8.7添加好友頁面(光盤TMonlinefriendd.php)
8.3.4系統(tǒng)流程圖博客管理系統(tǒng)的流程圖如圖

8.8所示。
·376

·
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))
圖8.8

系統(tǒng)流程圖
8.3.5開發(fā)環(huán)境
在開發(fā)博客管理系統(tǒng)平臺時,該項目使用的軟件開發(fā)環(huán)境如下:1.服務器端??????????
操作系統(tǒng):Windows Server 2003服務器:Apache 2.0。PHP 軟件:PHP 5.0。數(shù)據(jù)庫:MySQL 5.0。
MySQL 圖形化管理軟件:PhpMyAdmin-2.5.5。開發(fā)工具:Dreamweaver 8。瀏覽器:IE 6.0。
分辨率:最佳效果1024×768像素。瀏覽器:推薦使用IE 6.0及以上版本。分辨率:最佳效果1024×768像素。
2.客戶端
8.3.6文件夾組織結(jié)構
博客系統(tǒng)的目錄比較少,結(jié)構比較簡單,主要有數(shù)據(jù)庫鏈接文件目錄、css 樣式目錄、js 腳本目錄及背景圖片目錄。文件夾組織結(jié)構如圖8.9所示。
·377·

PHP 項目開發(fā)全程實錄

圖8.9博客管理系統(tǒng)文件夾組織結(jié)構
8.4
8.4.1數(shù)據(jù)庫設計數(shù)據(jù)庫分析
本系統(tǒng)屬于中小型個人網(wǎng)站,毫無爭議的,本系統(tǒng)采用的依然是PHP MySQL這對兒黃金組合,無論是從成本、性能、安全上考慮,還是從易操作性上考慮,MySQL 都是最佳選擇。
8.4.2數(shù)據(jù)庫概念設計
通過需求分析和功能上的設計,本系統(tǒng)規(guī)劃出用戶信息實體、上傳圖片實體、朋友圈實體、文章實體和留言實體。下面給出主要的實體及E-R 圖。
用戶信息實體包括注冊用戶的詳細個人信息,如果想在本系統(tǒng)中進行發(fā)表文章、上傳圖片等操作,則必須要先進行注。用戶信息實體E-R 圖如圖8.10所示。


上傳圖片實體主要包括上傳圖片的名稱、上傳圖片用戶和上傳圖片時間等,實體E-R 圖如圖8.11所示。
·378·
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))

圖8.11上傳圖片實體E-R 圖
8.4.3數(shù)據(jù)庫物理結(jié)構設計
根據(jù)實體E-R 圖和本系統(tǒng)的實際情況,需要創(chuàng)建6張數(shù)據(jù)表,如圖8.12所示。
圖8.12數(shù)據(jù)表列表
下面來具體看一下這6張數(shù)據(jù)表的結(jié)構設計。
1.tb_user(用戶列表)
用戶列表主要存儲用戶的個人信息。tb_user表的結(jié)構如圖8.13所示。
圖8.13用戶列表結(jié)構
·379·



PHP 項目開發(fā)全程實錄
2.tb_article(文章列表)
文章列表存儲的是用戶發(fā)表過的文章信息。tb_article

表的結(jié)構如圖8.14所示。
圖8.14文章列表結(jié)構
3.tb_filecomment(評論列表)
評論列表存儲的是用戶對文章的評論,包括注冊用戶和游客都可以發(fā)表評論。tb_filecomment表的

結(jié)構如圖8.15所示。
圖8.15評論列表結(jié)構
4.tb_tpsc(圖片列表)
圖片列表存儲的是上傳圖片的信息,如圖片名稱、上傳用戶、上傳時間等。tb_tpsc表的結(jié)構如

圖8.16所示。圖

8.16圖片列表結(jié)構
·380·
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實現(xiàn))
5.

tb_friend(好友列表)
好友列表主要記錄了姓名、性別、生日等好友的個人信息。tb_friend表的結(jié)構如圖8.17所示。
圖8.17好友列表結(jié)構
6.

tb_public(公告列表)
公告列表主要記錄了網(wǎng)站情況、博客系統(tǒng)的版本情況或是網(wǎng)站活動等等。公告列表的結(jié)構如圖8.18所示。
圖8.18公告列表結(jié)構
8.5
8.5.1

首頁設計首頁概述
本系統(tǒng)首頁頁面設計簡潔,主要包括以下3部分內(nèi)容:
首部導航欄:包括首頁鏈接、注冊和登錄模塊。
·381·
,PHP 項目開發(fā)全程實錄
左側(cè)顯示區(qū):包括最新文章、最新圖片和系統(tǒng)時間模塊。游客主要通過該區(qū)域瀏覽文章、瀏覽圖片及發(fā)表評論。
?主顯示區(qū):為系統(tǒng)公告欄,顯示系統(tǒng)及網(wǎng)站的最新咨詢。
下面看一下本案例中提供的首頁,該首頁在本書光盤中的路徑為TMtmlogindex.php,

如圖8.19所示。?
圖8.19博客管理系統(tǒng)首頁
8.5.2首頁技術分析
在首頁主顯示區(qū),是一個公告欄模塊。公告欄主要用于公布系統(tǒng)版本的更新或升級情況、網(wǎng)站的最新活動安排等,也可以鏈接一些用戶的精彩文章。本系統(tǒng)的公告欄模塊是通過

標簽來實現(xiàn)的。
·382·