個(gè)人博客課程設(shè)計(jì)_第1頁
個(gè)人博客課程設(shè)計(jì)_第2頁
個(gè)人博客課程設(shè)計(jì)_第3頁
個(gè)人博客課程設(shè)計(jì)_第4頁
個(gè)人博客課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PHP課程設(shè)計(jì) 個(gè)人博客網(wǎng)站開發(fā) 學(xué) 院: 專 業(yè): 姓 名: 學(xué) 號(hào): 指導(dǎo)老師:完成日期:1 系統(tǒng)概述1.1項(xiàng)目背景Blog,是Weblog的簡(jiǎn)稱。Weblog,其實(shí)是Web和Log的組合詞。Web,指World Wide Web,當(dāng)然是指互連網(wǎng)了;Log的原義則是“航海日志”,后指任何類型的流水記錄。合在一起來理解,Weblog就是在網(wǎng)絡(luò)上的一種流水記錄形式或者簡(jiǎn)稱“網(wǎng)絡(luò)日志”。目前進(jìn)行網(wǎng)站開發(fā)的語言很多,如ASP、PHP、JSP、ASP.NET等。本項(xiàng)目采用主流的PHP+HTML框架完成對(duì)個(gè)人博客的開發(fā)。1.2 系統(tǒng)開發(fā)的目標(biāo)1.2.1任何擁有博客的人都可以做到(1)登錄博客系統(tǒng)瀏覽

2、文章(2)管理自己博客的基本信息(3)撰寫個(gè)人隨筆(4)處理留言、文章評(píng)論等內(nèi)容1.2.2 訪問博客系統(tǒng)的人,可以做到游覽博客系統(tǒng)中的文章目錄、評(píng)論博客系統(tǒng)中的內(nèi)容,只有博客管理員登錄系統(tǒng)之后,才能進(jìn)行管理。而博客系統(tǒng)的訪問者不需要注冊(cè),也不需要登錄就可以訪問博客系統(tǒng)中的內(nèi)容。1.4系統(tǒng)概述一個(gè)博客其實(shí)就是由一序列網(wǎng)頁組成的,它通常是由簡(jiǎn)短且經(jīng)常更新的帖子所構(gòu)成的,這些張貼的文章都按照年份和日期倒序列排列,能按照日期和主題檢索。博客的內(nèi)容和目的有很大的不同,有到其他網(wǎng)站的超級(jí)鏈接;有對(duì)其他網(wǎng)站的評(píng)論;有個(gè)人的日記,日常所思所想;有個(gè)人照片、詩歌、散文,甚至科幻小說的發(fā)表。正是由于博客能收容這些

3、不拘于個(gè)人思想的表達(dá),使博客這種交流和表達(dá)方式日益紅火起來,博客秉承了個(gè)人網(wǎng)站的自由精神,也開拓了激發(fā)創(chuàng)造的新模式,能張揚(yáng)人的個(gè)性,從這個(gè)意義上說,博客將會(huì)變得越來越普及,越來越為更多的人接受。本系統(tǒng)主要完成以下功能。1客戶界面部分我的文章留言用戶注冊(cè)/登錄首頁:最新評(píng)論,最新文章2管理界面部分文章管理留言管理基本設(shè)置2 系統(tǒng)分析2.2 需求分析在可行性分析階段已經(jīng)簡(jiǎn)要地分析和研究了本系統(tǒng)的基本需求,也論證了開發(fā)平臺(tái)及軟件的可行性,但為了明確系統(tǒng)設(shè)計(jì)的目標(biāo),了解用戶的需求,現(xiàn)對(duì)用戶需求作以調(diào)研,從而進(jìn)一步明確了設(shè)計(jì)所實(shí)現(xiàn)子系統(tǒng)的功能。2.2.1 管理員登錄在調(diào)研中了解到,用戶想要使用系統(tǒng),首先

4、要有一個(gè)友好的用戶注冊(cè)界面,其次,用戶需要經(jīng)歷登錄驗(yàn)證過程,只有合法的擁有管理員身份的用戶才可以使用系統(tǒng)中的管理功能,這樣做可以防止非法用戶登錄并使用本系統(tǒng),妨害數(shù)據(jù)安全。用戶登錄。通過系統(tǒng)登錄驗(yàn)證,用戶成功進(jìn)入系統(tǒng)并開始使用其中功能。2.2.2 文章管理文章管理是用戶所有文章的信息,用戶可以進(jìn)入此處進(jìn)行相關(guān)文章的管理。這部分主要包括以下方面:(1) 文章信息顯示。顯示出所有文章的大概信息。(2) 發(fā)表新文章。可以發(fā)表新的文章。(3) 刪除文章。允許用戶對(duì)文章信息進(jìn)行刪除操作。2.2.3 系統(tǒng)信息管理系統(tǒng)開始運(yùn)行之后,隨著時(shí)間的變化會(huì)有想要更改系統(tǒng)的相關(guān)信息的要求,比如:修改博客的個(gè)人頭像,愛

5、好,最難忘的事等等,因此需要提供信息修改的功能。2.3 系統(tǒng)的主要技術(shù)分析 系統(tǒng)開發(fā)平臺(tái)WAMP集成環(huán)境開發(fā)平臺(tái)。2.4 數(shù)據(jù)分析博客系統(tǒng)中,主要是管理用戶的文章、留言、系統(tǒng)信息等數(shù)據(jù)。數(shù)據(jù)的類型決定了程序?qū)?shù)據(jù)的處理方式也就是算法,因此,數(shù)據(jù)是系統(tǒng)實(shí)現(xiàn)分析的起點(diǎn)?,F(xiàn)通過數(shù)據(jù)流圖的方式分析系統(tǒng)中數(shù)據(jù)的流動(dòng)和處理。對(duì)系統(tǒng)的管理員,在登錄系統(tǒng)后,本系統(tǒng)接受管理員的修改、添加、刪除請(qǐng)求,通過分析將這種請(qǐng)求轉(zhuǎn)化成相應(yīng)的SQL語句執(zhí)行對(duì)數(shù)據(jù)庫的相關(guān)的操作,并將執(zhí)行的相應(yīng)結(jié)果送回系統(tǒng)中。系統(tǒng)接收到數(shù)據(jù)庫返回的結(jié)果集,經(jīng)過一定的分析處理,將其轉(zhuǎn)化成ASP頁面,返回到客戶端顯示給用戶。2.5 數(shù)據(jù)流圖博客整體

6、圖管理員用戶登錄信息修改操作增加操作相應(yīng)結(jié)果返回Blog系統(tǒng)服務(wù)器瀏覽者提供數(shù)據(jù)瀏覽請(qǐng)求 文章管理細(xì)節(jié)圖3 數(shù)據(jù)庫設(shè)計(jì)3.1 數(shù)據(jù)庫技術(shù)概述數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲(chǔ)區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。近年來推出的計(jì)算機(jī)關(guān)系數(shù)據(jù)庫管理系統(tǒng),還具有操作直觀,使用靈活,編程方便,功能強(qiáng)大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強(qiáng)等諸多優(yōu)點(diǎn)。3.2 數(shù)據(jù)庫選擇本系統(tǒng)所采用的數(shù)據(jù)庫是 mysql數(shù)據(jù)庫3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)和約束設(shè)置數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)完畢后,

7、現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫邏輯結(jié)構(gòu)。博客系統(tǒng)中各個(gè)表的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表: 字段名含義字段類型約束id賬號(hào)varchar(20)主鍵passwd密碼varchar(20)非空uname用戶名varchar(50)非空sex性別varchar(10)只能取男或女a(chǎn)ge年齡integer -用戶表-wyb_users 博文表-wyb_articles字段名含義字段類型約束bid博文編號(hào)number自動(dòng)增長(zhǎng)列,主鍵title 博文題目varchar(255)非空type_name博文類型varchar(25

8、5)與wyb_types表中的type_name外鍵關(guān)聯(lián)content博文內(nèi)容varchar(2000)-time寫入時(shí)間date- 類別表-wyb_types字段名含義字段類型約束type_name類名名稱varchar(50)主鍵describe分類描述varchar(500)非空分類表-wyb_classify字段名含義字段類型約束type_namebid類名名稱博文編號(hào)varchar(50)number(type_name,bid)聯(lián)合主鍵,與wyb_articles表中的bid及與wyb_types表中的type_name外鍵關(guān)聯(lián),且級(jí)聯(lián)刪除。 評(píng)論表-wyb_comments字段名

9、含義字段類型約束bidunametime博文編號(hào)用戶名寫入時(shí)間numbervarchar(50)date(bid,user,time);聯(lián)合主鍵,與wyb_articles表的bid外鍵關(guān)聯(lián),且級(jí)聯(lián)刪除。comment評(píng)論內(nèi)容varchar(500)非空4 系統(tǒng)設(shè)計(jì)對(duì)博客系統(tǒng)進(jìn)行系統(tǒng)分析、數(shù)據(jù)庫設(shè)計(jì)之后,本章將主要介紹系統(tǒng)各功能模塊的設(shè)計(jì)及其實(shí)現(xiàn)。軟件所實(shí)現(xiàn)的功能強(qiáng)弱是衡量一個(gè)軟件的最根本的標(biāo)準(zhǔn)。通過對(duì)系統(tǒng)的全面分析并結(jié)合調(diào)研的情況,確定了本系統(tǒng)的功能模塊圖。本章先從系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)介紹,接著分別對(duì)公用模塊、客戶界面、管理對(duì)功能模塊加以描述。4.1系統(tǒng)總體設(shè)計(jì)本系統(tǒng)數(shù)據(jù)庫采用Mysql ,We

10、b服務(wù)器采用Apache4.2公用模塊的編寫4.2.1數(shù)據(jù)庫連接文件為了操作數(shù)據(jù)庫方便,把連接數(shù)據(jù)庫、查詢、更新、插入、關(guān)閉連接等數(shù)據(jù)庫操作都寫在一個(gè)公用文件中,這樣其他頁面引入這個(gè)頁面,就可以調(diào)用數(shù)據(jù)庫操作方法,操作數(shù)據(jù)庫了,這樣便于提高程序的重用性。4.2.2用戶登錄和注銷把判定用戶登錄和注銷的程序?qū)懺谑醉揇efault.asp中。當(dāng)用戶在首爺輸入用戶名和密碼請(qǐng)求登錄時(shí),先從數(shù)據(jù)庫查詢?cè)撚脩舻挠脩裘兔艽a是否正確,如果正確則把該用戶的用戶名和密碼,寫入用戶Cookie,這樣其他頁面如果需要用戶登錄才能訪問,只需要從Cookie取用戶的用戶名,如果能取得,則說明用戶已經(jīng)登錄,否則用戶未登錄。

11、當(dāng)然用Cookie記錄用戶登錄是有風(fēng)險(xiǎn)的,最好用Session記錄。注銷只需要設(shè)置記錄用戶的Cookie過期就可以了。4.3客戶界面的設(shè)計(jì)與實(shí)現(xiàn)界面模塊化,可以提高代碼的重用性,能為編程提供很大便利,節(jié)省開發(fā)時(shí)間,提高開發(fā)效率4.3.1 界面頭設(shè)計(jì) (1)設(shè)計(jì)思想為了體現(xiàn)簡(jiǎn)潔明快的風(fēng)格,界面頭不打算用很復(fù)雜的動(dòng)畫圖片,頂部直接安排一個(gè)導(dǎo)航欄,讓用戶可以在首頁、個(gè)人資料、博文、評(píng)論、博文管理、評(píng)論管理等模塊之間方便的切換。4.3.2首頁設(shè)計(jì)與實(shí)現(xiàn)首頁是一個(gè)網(wǎng)站的窗口,長(zhǎng)久留住一個(gè)用戶靠網(wǎng)站強(qiáng)大的功能和豐富的內(nèi)容,要想吸引用戶,首頁的設(shè)計(jì)精美和人性化也是重要的因素。首先是給瀏覽者留下的第一印象。所

12、以設(shè)計(jì)要精美;首頁是網(wǎng)站的導(dǎo)航圖,所以設(shè)計(jì)要人性化,重點(diǎn)層次突出。設(shè)計(jì)思想首頁直接引入前面設(shè)計(jì)的公用模塊的界面頭和尾。首頁左邊給出瀏覽者一個(gè)清晰的導(dǎo)航。在右邊用戶能登錄/注冊(cè)、最新更新的博文列表、評(píng)論,在左邊顯示最新更新的博文信息。 博客最核心的是文章,所以正文右邊給出一塊很大空間用以展示最新書寫的幾篇文章的標(biāo)題和內(nèi)容概要,用戶單擊博文標(biāo)簽?zāi)苓M(jìn)入查看該文章的詳細(xì)內(nèi)容。4.3.4用戶注冊(cè)模塊設(shè)計(jì)頁面Register.aspx主要完成引導(dǎo)用戶進(jìn)行注冊(cè),首先會(huì)提供注冊(cè)表讓用戶輸入用戶名和密碼等,讓用戶輸入注冊(cè)信息,輸入完成后,當(dāng)用戶單擊注冊(cè)按鈕的時(shí)候,要對(duì)用戶輸入的注冊(cè)信息簡(jiǎn)單認(rèn)證,看用戶信息是否驗(yàn)

13、證,如果驗(yàn)證進(jìn)行數(shù)據(jù)庫驗(yàn)證,查看用戶之前是否已經(jīng)注冊(cè)過,如果沒有注冊(cè)則插入一條新記錄到數(shù)據(jù)庫,完成注冊(cè)。4.3.5“文章評(píng)論”功能模塊設(shè)計(jì)在展現(xiàn)文章頁面的末尾,提供接口供瀏覽者針對(duì)該文章發(fā)表評(píng)論,技術(shù)實(shí)現(xiàn)非常簡(jiǎn)單,就是提供發(fā)表評(píng)論標(biāo)題和評(píng)論內(nèi)容的文本框,讓讀者輸入評(píng)論標(biāo)題和內(nèi)容,當(dāng)讀者單擊提交按鈕的時(shí)候,把評(píng)論標(biāo)題和內(nèi)容保存到數(shù)據(jù)庫。4.4管理界面設(shè)計(jì)4.4.1“添加文章”功能模塊通過“添加文章”功能模塊用戶能設(shè)置文章標(biāo)題,選擇文章所屬分類,填寫文章概要和文章內(nèi)容?!拔恼鹿芾怼惫δ苣K“文章管理”功能模塊主要顯示當(dāng)前用戶所寫的所有文章,并能修改或者刪除現(xiàn)有文章“評(píng)論管理”功能模塊主要php操作

14、代碼:<?php require"conn.db.php" $action=$_GET'action' switch($action) case "logout" function clearCookies() setcookie('username',''); /刪除Cookie中的標(biāo)識(shí)符為username的變量clearCookies(); echo "<meta http-equiv='refresh'content=1;URL=/t

15、pl/default/blog_index.htm >" ; break; case "add": $name=$_POST'name' $categoryId=$_POST'categoryId' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="insert into article (motif,classify,content,time) values('$name','$categor

16、yId','$content','$time')" $result= mysql_query($sql); $sql="select id from article where motif='$name' and time='$time'" $result=mysql_query($sql); $row=mysql_fetch_array($result); $id=$row'id' $sql="insert into classify (title,art_id,t

17、ime) values('$categoryId','$id','$time')" $result2= mysql_query($sql); if($result && $result2) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" ech

18、o "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "del": $id=$_GET'id' $sql="delete from article where id='$id'" $result= mysql_query($sql); if($result) echo "sucess" echo "<

19、;meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "cla_del": $id=$_GET'id' $tit

20、le=$_GET'title' $sql="delete from classify where art_id='$id' and title='$title'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; el

21、se echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; break; case "com_del": $id=$_GET'id' $time=$_GET'time' $sql="delete from comment where art_id='$id' and time='$tim

22、e'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listClassify.htm >" ; else echo"fault" echo "<meta http-equiv='refresh'content=1;URL=/

23、tpl/admin/listClassify.htm >" ; break; case "edit": $id=$_GET'id' $name=$_POST'name' $categoryId=$_POST'categoryId' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="update article set motif='$name',classify='$catego

24、ryId',content='$content',time='$time' where id='$id'" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; else echo"fault" echo &qu

25、ot;<meta http-equiv='refresh'content=1;URL=/tpl/admin/listBlog.htm >" ; break; case "comment": $id=$_GET'id' $name=$_COOKIE'username' $content=$_POST'content' $time=date("Y-m-dH:i:s"); $sql="insert into comment (id,time,comment,user) values('$id','$time','$content','$name')" $result= mysql_query($sql); if($result) echo "sucess" echo "<meta http-equiv='refresh'content=1;URL=/tpl/default/displayBlog.htm?id=".$id.&quo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論