PHP MySql制作個(gè)人博客系統(tǒng)-完整教程
(Apache PHP phpMyAdmin MySQL 5.0實(shí)現(xiàn))如果有人問“什么是web2.0?”,恐怕沒幾個(gè)人能說得清楚,但是要問什么是博客,哪怕是從不上網(wǎng)的人也是耳熟能詳?shù)牧?。博客正是web
(Apache PHP phpMyAdmin MySQL 5.0實(shí)現(xiàn))
如果有人問“什么是web2.0?”,恐怕沒幾個(gè)人能說得清楚,但是要問什么是博客,哪怕是從不上網(wǎng)的人也是耳熟能詳?shù)牧恕2┛驼莣eb2.0概念中重要的組成部分之一(大家熟知的還包括IM 即時(shí)通和RSS 閱讀器)。
Blog(博客),全名Weblog,后來縮寫為Blog。Blogger就是寫B(tài)log 的人,習(xí)慣于在網(wǎng)上寫出日記、發(fā)布個(gè)人照片、展示個(gè)性自我的用戶群體。對(duì)于Blog/Blogger的中文名稱,有翻譯成“博客”,也有翻譯為“網(wǎng)志”,但大多數(shù)人都已經(jīng)認(rèn)可了“博客”。
通過閱讀本章,讀者可以學(xué)到:
博客管理系統(tǒng)的開發(fā)流程
進(jìn)一步掌握如何做項(xiàng)目需求分析與系統(tǒng)設(shè)計(jì)
實(shí)現(xiàn)一個(gè)簡(jiǎn)單的公告欄管理模塊
掌握不同的圖片上傳技術(shù)
掌握一種采用JavaScript CSS
技術(shù)來實(shí)現(xiàn)的半透明動(dòng)態(tài)下拉菜單
,PHP 項(xiàng)目開發(fā)全程實(shí)錄
8.1開發(fā)背景
博客管理系統(tǒng)給人們提供抒發(fā)個(gè)人情感、人與人之間進(jìn)行良好溝通的平臺(tái),博客擁有真實(shí)的內(nèi)容,可以通過博客記錄下工作、學(xué)習(xí)、生活和娛樂的點(diǎn)滴,以及發(fā)表文章和評(píng)論,從而在網(wǎng)上建立一個(gè)完全屬于自己的個(gè)人天地,成為當(dāng)今網(wǎng)絡(luò)最為個(gè)性化和平民化的個(gè)人展示空間。對(duì)于網(wǎng)民,只要擁有博客,就可以超越現(xiàn)實(shí)生活,擁有不同以往的全新網(wǎng)上生活;對(duì)于博客服務(wù)商,則必須從功能提供轉(zhuǎn)型到全方位社會(huì)服務(wù)的提供,建立虛擬社會(huì),并負(fù)責(zé)維護(hù)運(yùn)行,保證博客日常生活;對(duì)于社會(huì)而言,有利于構(gòu)建和諧的互聯(lián)網(wǎng)空間,維護(hù)和諧的社會(huì)環(huán)境。從這個(gè)角度來說,構(gòu)建新生活方式,將是互聯(lián)網(wǎng)發(fā)展的一個(gè)里程碑。
8.2需求分析
信息時(shí)代的今天,博客已經(jīng)成為一種新的生活方式。在網(wǎng)絡(luò)中構(gòu)建一個(gè)賦有個(gè)性化的個(gè)人博客,提供了一種可信任的和實(shí)時(shí)連通的網(wǎng)絡(luò)環(huán)境,通過網(wǎng)絡(luò)開放性和交互性的特點(diǎn),讓用戶在任何時(shí)間、任何地點(diǎn),通過網(wǎng)絡(luò)方便地“生活”,不僅是信息傳遞與獲取,還可以進(jìn)行群體交流和資源共享,展示自我,為個(gè)人發(fā)展帶來新機(jī)遇。
通過對(duì)多個(gè)博客網(wǎng)的調(diào)查分析,客戶要求本博客管理系統(tǒng)具有以下功能:
?
?
?
?
?
?
?
?
?要求系統(tǒng)采用B/S架構(gòu),實(shí)現(xiàn)人機(jī)交互。要求系統(tǒng)界面?zhèn)€性化,色彩搭配和諧,很強(qiáng)的視覺沖擊力,操作簡(jiǎn)便。要求突出主題,顯示最新文章和公告。要求游客可以瀏覽文章、瀏覽圖片、發(fā)表評(píng)論。要求具有強(qiáng)大的搜索查詢功能,實(shí)現(xiàn)精確查詢和模糊查詢。完善的文章管理功能,包括文章的發(fā)表、刪除,及對(duì)文章的評(píng)論與回復(fù)。支持圖片上傳功能,可以上傳各種類型的圖片。支持好友功能。系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。
8.3
8.3.1系統(tǒng)設(shè)計(jì)系統(tǒng)目標(biāo)
該系統(tǒng)主要實(shí)現(xiàn)如下目標(biāo):
?·374·系統(tǒng)采用
B/S架構(gòu),實(shí)現(xiàn)人機(jī)交互。
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實(shí)現(xiàn))
?????????系統(tǒng)界面設(shè)計(jì)以淺色為主,美觀友好,操作簡(jiǎn)便。突出重點(diǎn)內(nèi)容,顯示最新文章。
非登錄用戶可以瀏覽文章、瀏覽圖片、發(fā)表評(píng)論。全面的搜索查詢功能,包括精確查詢和模糊查詢。
完善的文章管理功能,包括文章的發(fā)表、刪除,及對(duì)文章的評(píng)論與回復(fù)。支持圖片上傳功能。支持好友功能。支持公告欄功能。
系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。
8.3.2系統(tǒng)功能結(jié)構(gòu)
博客管理系統(tǒng)的功能結(jié)構(gòu)如圖8.1所示。
圖8.1博客管理系統(tǒng)功能結(jié)構(gòu)圖
8.3.3系統(tǒng)功能預(yù)覽
為了讓讀者對(duì)本系統(tǒng)有個(gè)初步的了解和認(rèn)識(shí),下面給出本系統(tǒng)的幾個(gè)頁面運(yùn)行效果圖,如果想查看完整的效果圖,請(qǐng)參見光盤源程序。
博客管理系統(tǒng)的首頁如圖8.2所示,該頁面包含了系統(tǒng)大部分的功能鏈接,包括用戶注冊(cè)、用戶登錄、文章瀏覽等。用戶注冊(cè)頁面如圖8.3所示,該頁面顯示了用戶注冊(cè)時(shí)需要填寫的資料、注意事項(xiàng)等。
瀏覽文章頁面如圖8.4所示,該頁面用于顯示文章及相關(guān)的評(píng)論,也可以發(fā)表評(píng)論。發(fā)表文章頁面如圖8.5所示,該頁面用于登錄用戶發(fā)表文章,包括文章標(biāo)題、文字編輯區(qū)和文章內(nèi)容。
·375·
,PHP 項(xiàng)目開發(fā)全程實(shí)錄
圖8.2博客首頁(光盤TMonlineindex.php)圖8.3
用戶注冊(cè)頁面(光盤TMonlineRegister.php
)圖8.4瀏覽文章頁面(光盤TMonlinearticle.php)圖8.5發(fā)表文章頁面(光盤TMonlinefile.php)
圖片上傳頁面用于上傳圖片,如圖8.6所示,通過該頁面用戶可以將圖片或照片添加到博客中。添
加好友頁面如圖8.7
所示,該頁面用于輸入用戶好友的詳細(xì)信息,包括姓名、性別、生日等。
圖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實(shí)現(xiàn))
圖8.8
系統(tǒng)流程圖
8.3.5開發(fā)環(huán)境
在開發(fā)博客管理系統(tǒng)平臺(tái)時(shí),該項(xiàng)目使用的軟件開發(fā)環(huán)境如下:1.服務(wù)器端??????????
操作系統(tǒng):Windows Server 2003服務(wù)器: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é)構(gòu)
博客系統(tǒng)的目錄比較少,結(jié)構(gòu)比較簡(jiǎn)單,主要有數(shù)據(jù)庫鏈接文件目錄、css 樣式目錄、js 腳本目錄及背景圖片目錄。文件夾組織結(jié)構(gòu)如圖8.9所示。
·377·
PHP 項(xiàng)目開發(fā)全程實(shí)錄
圖8.9博客管理系統(tǒng)文件夾組織結(jié)構(gòu)
8.4
8.4.1數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫分析
本系統(tǒng)屬于中小型個(gè)人網(wǎng)站,毫無爭(zhēng)議的,本系統(tǒng)采用的依然是PHP MySQL這對(duì)兒黃金組合,無論是從成本、性能、安全上考慮,還是從易操作性上考慮,MySQL 都是最佳選擇。
8.4.2數(shù)據(jù)庫概念設(shè)計(jì)
通過需求分析和功能上的設(shè)計(jì),本系統(tǒng)規(guī)劃出用戶信息實(shí)體、上傳圖片實(shí)體、朋友圈實(shí)體、文章實(shí)體和留言實(shí)體。下面給出主要的實(shí)體及E-R 圖。
用戶信息實(shí)體包括注冊(cè)用戶的詳細(xì)個(gè)人信息,如果想在本系統(tǒng)中進(jìn)行發(fā)表文章、上傳圖片等操作,則必須要先進(jìn)行注。用戶信息實(shí)體E-R 圖如圖8.10所示。
上傳圖片實(shí)體主要包括上傳圖片的名稱、上傳圖片用戶和上傳圖片時(shí)間等,實(shí)體E-R 圖如圖8.11所示。
·378·
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實(shí)現(xiàn))
圖8.11上傳圖片實(shí)體E-R 圖
8.4.3數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)
根據(jù)實(shí)體E-R 圖和本系統(tǒng)的實(shí)際情況,需要?jiǎng)?chuàng)建6張數(shù)據(jù)表,如圖8.12所示。
圖8.12數(shù)據(jù)表列表
下面來具體看一下這6張數(shù)據(jù)表的結(jié)構(gòu)設(shè)計(jì)。
1.tb_user(用戶列表)
用戶列表主要存儲(chǔ)用戶的個(gè)人信息。tb_user表的結(jié)構(gòu)如圖8.13所示。
圖8.13用戶列表結(jié)構(gòu)
·379·
PHP 項(xiàng)目開發(fā)全程實(shí)錄
2.tb_article(文章列表)
文章列表存儲(chǔ)的是用戶發(fā)表過的文章信息。tb_article
表的結(jié)構(gòu)如圖8.14所示。
圖8.14文章列表結(jié)構(gòu)
3.tb_filecomment(評(píng)論列表)
評(píng)論列表存儲(chǔ)的是用戶對(duì)文章的評(píng)論,包括注冊(cè)用戶和游客都可以發(fā)表評(píng)論。tb_filecomment表的
結(jié)構(gòu)如圖8.15所示。
圖8.15評(píng)論列表結(jié)構(gòu)
4.tb_tpsc(圖片列表)
圖片列表存儲(chǔ)的是上傳圖片的信息,如圖片名稱、上傳用戶、上傳時(shí)間等。tb_tpsc表的結(jié)構(gòu)如
圖8.16所示。圖
8.16圖片列表結(jié)構(gòu)
·380·
,第8章博客管理系統(tǒng)(Apache PHP phpMyAdmin MySQL 5.0實(shí)現(xiàn))
5.
tb_friend(好友列表)
好友列表主要記錄了姓名、性別、生日等好友的個(gè)人信息。tb_friend表的結(jié)構(gòu)如圖8.17所示。
圖8.17好友列表結(jié)構(gòu)
6.
tb_public(公告列表)
公告列表主要記錄了網(wǎng)站情況、博客系統(tǒng)的版本情況或是網(wǎng)站活動(dòng)等等。公告列表的結(jié)構(gòu)如圖8.18所示。
圖8.18公告列表結(jié)構(gòu)
8.5
8.5.1
首頁設(shè)計(jì)首頁概述
本系統(tǒng)首頁頁面設(shè)計(jì)簡(jiǎn)潔,主要包括以下3部分內(nèi)容:
首部導(dǎo)航欄:包括首頁鏈接、注冊(cè)和登錄模塊。
·381·
,PHP 項(xiàng)目開發(fā)全程實(shí)錄
左側(cè)顯示區(qū):包括最新文章、最新圖片和系統(tǒng)時(shí)間模塊。游客主要通過該區(qū)域?yàn)g覽文章、瀏覽圖片及發(fā)表評(píng)論。
?主顯示區(qū):為系統(tǒng)公告欄,顯示系統(tǒng)及網(wǎng)站的最新咨詢。
下面看一下本案例中提供的首頁,該首頁在本書光盤中的路徑為TMtmlogindex.php,
如圖8.19所示。?
圖8.19博客管理系統(tǒng)首頁
8.5.2首頁技術(shù)分析
在首頁主顯示區(qū),是一個(gè)公告欄模塊。公告欄主要用于公布系統(tǒng)版本的更新或升級(jí)情況、網(wǎng)站的最新活動(dòng)安排等,也可以鏈接一些用戶的精彩文章。本系統(tǒng)的公告欄模塊是通過
標(biāo)簽來實(shí)現(xiàn)的。
·382·