版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> PHP課程設計</b></p><p><b> 個人博客網(wǎng)站開發(fā)</b></p><p><b> 學 院:</b></p><p><b> 專 業(yè):</b></p><p><b> 姓 名:</
2、b></p><p><b> 學 號:</b></p><p><b> 指導老師:</b></p><p><b> 完成日期:</b></p><p><b> 系統(tǒng)概述</b></p><p><b>
3、; 1.1項目背景</b></p><p> Blog,是Weblog的簡稱。Weblog,其實是Web和Log的組合詞。Web,指World Wide Web,當然是指互連網(wǎng)了;Log的原義則是“航海日志”,后指任何類型的流水記錄。合在一起來理解,Weblog就是在網(wǎng)絡上的一種流水記錄形式或者簡稱“網(wǎng)絡日志”。目前進行網(wǎng)站開發(fā)的語言很多,如ASP、PHP、JSP、ASP.NET等。本項目采用主流
4、的PHP+HTML框架完成對個人博客的開發(fā)。</p><p> 1.2 系統(tǒng)開發(fā)的目標</p><p> 1.2.1任何擁有博客的人都可以做到</p><p> ?。?)登錄博客系統(tǒng)瀏覽文章</p><p> (2)管理自己博客的基本信息</p><p><b> ?。?)撰寫個人隨筆</b>
5、;</p><p> (4)處理留言、文章評論等內(nèi)容</p><p> 1.2.2 訪問博客系統(tǒng)的人,可以做到</p><p> 游覽博客系統(tǒng)中的文章目錄、評論博客系統(tǒng)中的內(nèi)容,只有博客管理員登錄系統(tǒng)之后,才能進行管理。而博客系統(tǒng)的訪問者不需要注冊,也不需要登錄就可以訪問博客系統(tǒng)中的內(nèi)容。</p><p><b> 1.4系
6、統(tǒng)概述</b></p><p> 一個博客其實就是由一序列網(wǎng)頁組成的,它通常是由簡短且經(jīng)常更新的帖子所構成的,這些張貼的文章都按照年份和日期倒序列排列,能按照日期和主題檢索。博客的內(nèi)容和目的有很大的不同,有到其他網(wǎng)站的超級鏈接;有對其他網(wǎng)站的評論;有個人的日記,日常所思所想;有個人照片、詩歌、散文,甚至科幻小說的發(fā)表。正是由于博客能收容這些不拘于個人思想的表達,使博客這種交流和表達方式日益紅火起來,
7、博客秉承了個人網(wǎng)站的自由精神,也開拓了激發(fā)創(chuàng)造的新模式,能張揚人的個性,從這個意義上說,博客將會變得越來越普及,越來越為更多的人接受。</p><p> 本系統(tǒng)主要完成以下功能。</p><p><b> 1.客戶界面部分</b></p><p><b> 我的文章</b></p><p>&
8、lt;b> 留言</b></p><p><b> 用戶注冊/登錄</b></p><p> 首頁:最新評論,最新文章</p><p><b> 2.管理界面部分</b></p><p><b> 文章管理</b></p><p&
9、gt;<b> 留言管理</b></p><p><b> 基本設置</b></p><p><b> 系統(tǒng)分析</b></p><p><b> 2.2 需求分析</b></p><p> 在可行性分析階段已經(jīng)簡要地分析和研究了本系統(tǒng)的基本需求
10、,也論證了開發(fā)平臺及軟件的可行性,但為了明確系統(tǒng)設計的目標,了解用戶的需求,現(xiàn)對用戶需求作以調(diào)研,從而進一步明確了設計所實現(xiàn)子系統(tǒng)的功能。</p><p> 2.2.1 管理員登錄</p><p> 在調(diào)研中了解到,用戶想要使用系統(tǒng),首先要有一個友好的用戶注冊界面,其次,用戶需要經(jīng)歷登錄驗證過程,只有合法的擁有管理員身份的用戶才可以使用系統(tǒng)中的管理功能,這樣做可以防止非法用戶登錄并使用
11、本系統(tǒng),妨害數(shù)據(jù)安全。</p><p> 用戶登錄。通過系統(tǒng)登錄驗證,用戶成功進入系統(tǒng)并開始使用其中功能。</p><p> 2.2.2 文章管理</p><p> 文章管理是用戶所有文章的信息,用戶可以進入此處進行相關文章的管理。這部分主要包括以下方面:</p><p> (1) 文章信息顯示。顯示出所有文章的大概信息。</p
12、><p> (2) 發(fā)表新文章??梢园l(fā)表新的文章。</p><p> (3) 刪除文章。允許用戶對文章信息進行刪除操作。</p><p> 2.2.3 系統(tǒng)信息管理</p><p> 系統(tǒng)開始運行之后,隨著時間的變化會有想要更改系統(tǒng)的相關信息的要求,比如:修改博客的個人頭像,愛好,最難忘的事等等,因此需要提供信息修改的功能。</p&
13、gt;<p> 2.3 系統(tǒng)的主要技術分析</p><p><b> 系統(tǒng)開發(fā)平臺</b></p><p> WAMP集成環(huán)境開發(fā)平臺。</p><p><b> 2.4 數(shù)據(jù)分析</b></p><p> 博客系統(tǒng)中,主要是管理用戶的文章、留言、系統(tǒng)信息等數(shù)據(jù)。數(shù)據(jù)的類型決
14、定了程序?qū)?shù)據(jù)的處理方式也就是算法,因此,數(shù)據(jù)是系統(tǒng)實現(xiàn)分析的起點?,F(xiàn)通過數(shù)據(jù)流圖的方式分析系統(tǒng)中數(shù)據(jù)的流動和處理。</p><p> 對系統(tǒng)的管理員,在登錄系統(tǒng)后,本系統(tǒng)接受管理員的修改、添加、刪除請求,通過分析將這種請求轉(zhuǎn)化成相應的SQL語句執(zhí)行對數(shù)據(jù)庫的相關的操作,并將執(zhí)行的相應結果送回系統(tǒng)中。系統(tǒng)接收到數(shù)據(jù)庫返回的結果集,經(jīng)過一定的分析處理,將其轉(zhuǎn)化成ASP頁面,返回到客戶端顯示給用戶。</p&g
15、t;<p><b> 2.5 數(shù)據(jù)流圖</b></p><p><b> 博客整體圖</b></p><p><b> 文章管理細節(jié)圖</b></p><p><b> 數(shù)據(jù)庫設計</b></p><p> 3.1 數(shù)據(jù)庫技術概述&
16、lt;/p><p> 數(shù)據(jù)庫(Database),是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源的充分共享等等。近年來推出的計算機關系數(shù)據(jù)庫管理系統(tǒng),還具有操作直觀,使用靈活,編程方便,功能強大,環(huán)境適應廣泛,數(shù)據(jù)處理能力極強等諸多優(yōu)點。</p><p><b&g
17、t; 3.2 數(shù)據(jù)庫選擇</b></p><p> 本系統(tǒng)所采用的數(shù)據(jù)庫是 mysql數(shù)據(jù)庫</p><p> 3.3數(shù)據(jù)庫邏輯結構設計和約束設置</p><p> 數(shù)據(jù)庫的概念結構設計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結構轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫邏輯結構。</p><p> 博客系統(tǒng)中各個
18、表的設計結果如下面表格所示。每個表格表示在數(shù)據(jù)庫中的一個表: </p><p> 用戶表-wyb_users</p><p> 博文表-wyb_articles</p><p> 類別表-wyb_types</p><p> 分類表-wyb_classify</p><p> 評論表-wyb_comments
19、</p><p><b> 系統(tǒng)設計</b></p><p> 對博客系統(tǒng)進行系統(tǒng)分析、數(shù)據(jù)庫設計之后,本章將主要介紹系統(tǒng)各功能模塊的設計及其實現(xiàn)。</p><p> 軟件所實現(xiàn)的功能強弱是衡量一個軟件的最根本的標準。通過對系統(tǒng)的全面分析并結合調(diào)研的情況,確定了本系統(tǒng)的功能模塊圖。本章先從系統(tǒng)總體結構設計介紹,接著分別對公用模塊、客戶界面
20、、管理對功能模塊加以描述。</p><p><b> 4.1系統(tǒng)總體設計</b></p><p> 本系統(tǒng)數(shù)據(jù)庫采用Mysql ,Web服務器采用Apache</p><p> 4.2公用模塊的編寫</p><p> 4.2.1數(shù)據(jù)庫連接文件</p><p> 為了操作數(shù)據(jù)庫方便,把連接
21、數(shù)據(jù)庫、查詢、更新、插入、關閉連接等數(shù)據(jù)庫操作都寫在一個公用文件conn.db.php中,這樣其他頁面引入這個頁面,就可以調(diào)用數(shù)據(jù)庫操作方法,操作數(shù)據(jù)庫了,這樣便于提高程序的重用性。</p><p> 4.2.2用戶登錄和注銷</p><p> 把判定用戶登錄和注銷的程序?qū)懺谑醉揇efault.asp中。當用戶在首爺輸入用戶名和密碼請求登錄時,先從數(shù)據(jù)庫查詢該用戶的用戶名和密碼是否正確
22、,如果正確則把該用戶的用戶名和密碼,寫入用戶Cookie,這樣其他頁面如果需要用戶登錄才能訪問,只需要從Cookie取用戶的用戶名,如果能取得,則說明用戶已經(jīng)登錄,否則用戶未登錄。當然用Cookie記錄用戶登錄是有風險的,最好用Session記錄。注銷只需要設置記錄用戶的Cookie過期就可以了。</p><p> 4.3客戶界面的設計與實現(xiàn)</p><p> 界面模塊化,可以提高代碼
23、的重用性,能為編程提供很大便利,節(jié)省開發(fā)時間,提高開發(fā)效率</p><p> 4.3.1 界面頭設計 </p><p><b> ?。?)設計思想</b></p><p> 為了體現(xiàn)簡潔明快的風格,界面頭不打算用很復雜的動畫圖片,頂部直接安排一個導航欄,讓用戶可以在首頁、個人資料、博文、評論、博文管理、評論管理等模塊之間方便的切換。<
24、/p><p> 4.3.2首頁設計與實現(xiàn)</p><p> 首頁是一個網(wǎng)站的窗口,長久留住一個用戶靠網(wǎng)站強大的功能和豐富的內(nèi)容,要想吸引用戶,首頁的設計精美和人性化也是重要的因素。首先是給瀏覽者留下的第一印象。所以設計要精美;首頁是網(wǎng)站的導航圖,所以設計要人性化,重點層次突出。</p><p><b> 設計思想</b></p>
25、<p> 首頁直接引入前面設計的公用模塊的界面頭和尾。首頁左邊給出瀏覽者一個清晰的導航。在右邊用戶能登錄/注冊、最新更新的博文列表、評論,在左邊顯示最新更新的博文信息。 </p><p> 博客最核心的是文章,所以正文右邊給出一塊很大空間用以展示最新書寫的幾篇文章的標題和內(nèi)容概要,用戶單擊博文標簽能進入查看該文章的詳細內(nèi)容。</p><p> 4.3.4用戶注冊模塊設計&
26、lt;/p><p> 頁面Register.aspx主要完成引導用戶進行注冊,首先會提供注冊表讓用戶輸入用戶名和密碼等,讓用戶輸入注冊信息,輸入完成后,當用戶單擊[注冊]按鈕的時候,要對用戶輸入的注冊信息簡單認證,看用戶信息是否驗證,如果驗證進行數(shù)據(jù)庫驗證,查看用戶之前是否已經(jīng)注冊過,如果沒有注冊則插入一條新記錄到數(shù)據(jù)庫,完成注冊。</p><p> 4.3.5“文章評論”功能模塊設計&l
27、t;/p><p> 在展現(xiàn)文章頁面的末尾,提供接口供瀏覽者針對該文章發(fā)表評論,技術實現(xiàn)非常簡單,就是提供發(fā)表評論標題和評論內(nèi)容的文本框,讓讀者輸入評論標題和內(nèi)容,當讀者單擊[提交]按鈕的時候,把評論標題和內(nèi)容保存到數(shù)據(jù)庫。</p><p><b> 4.4管理界面設計</b></p><p> 4.4.1“添加文章”功能模塊</p>
28、;<p> 通過“添加文章”功能模塊用戶能設置文章標題,選擇文章所屬分類,填寫文章概要和文章內(nèi)容。</p><p> 4.4.2“文章管理”功能模塊</p><p> “文章管理”功能模塊主要顯示當前用戶所寫的所有文章,并能修改或者刪除現(xiàn)有文章</p><p> 4.4.3“評論管理”功能模塊</p><p> 主要p
29、hp操作代碼:</p><p><b> <?php</b></p><p> require"conn.db.php";</p><p> $action=$_GET['action'];</p><p> switch($action){</p><
30、;p> case "logout"; </p><p> function clearCookies() { </p><p> setcookie('username',''); </p><p> //刪除Cookie中的標識符為username的變量<
31、/p><p><b> }</b></p><p> clearCookies(); </p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/default/blog_index.htm >&
32、quot; ; </p><p><b> break;</b></p><p> case "add":</p><p> $name=$_POST['name'];</p><p> $categoryId=$_POST['categoryId']
33、;</p><p> $content=$_POST['content'];</p><p> $time=date("Y-m-dH:i:s");</p><p> $sql="insert into article (motif,classify,content,time)</p><p>
34、; values('$name','$categoryId','$content','$time')";</p><p> $result= mysql_query($sql);</p><p> $sql="select id from article where motif='$name&
35、#39; and time='$time'";</p><p> $result=mysql_query($sql);</p><p> $row=mysql_fetch_array($result);</p><p> $id=$row['id'];</p><p> $sql="
36、insert into classify (title,art_id,time)</p><p> values('$categoryId','$id','$time')";</p><p> $result2= mysql_query($sql);</p><p> if($result &&
37、amp; $result2){</p><p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listBlog.htm >" ; </p><
38、p><b> }</b></p><p><b> else{</b></p><p> echo"fault"; </p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127
39、.0.0.1/tpl/admin/listBlog.htm >" ; </p><p><b> }</b></p><p><b> break;</b></p><p> case "del":</p><p> $id=$_GET['id&
40、#39;];</p><p> $sql="delete from article where id='$id'";</p><p> $result= mysql_query($sql); </p><p> if($result){</p><p> echo "sucess&qu
41、ot;;</p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listBlog.htm >" ; </p><p><b> }</b></p><p><b>
42、 else{</b></p><p> echo"fault"; </p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listBlog.htm >" ; </p>&l
43、t;p><b> } </b></p><p><b> break;</b></p><p> case "cla_del":</p><p> $id=$_GET['id'];</p><p> $title=$_GET['title&
44、#39;];</p><p> $sql="delete from classify where art_id='$id' and title='$title'";</p><p> $result= mysql_query($sql); </p><p> if($result){</p>
45、<p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listClassify.htm >" ; </p><p><b> }</
46、b></p><p><b> else{</b></p><p> echo"fault"; </p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listC
47、lassify.htm >" ; </p><p><b> } </b></p><p><b> break;</b></p><p> case "com_del":</p><p> $id=$_GET['id'];</p&
48、gt;<p> $time=$_GET['time'];</p><p> $sql="delete from comment where art_id='$id' and time='$time'";</p><p> $result= mysql_query($sql); </p>
49、<p> if($result){</p><p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listClassify.htm >" ; <
50、;/p><p><b> }</b></p><p><b> else{</b></p><p> echo"fault"; </p><p> echo "<meta http-equiv='refresh'content=1;U
51、RL=http://127.0.0.1/tpl/admin/listClassify.htm >" ; </p><p><b> } </b></p><p><b> break;</b></p><p> case "edit":</p><p>
52、 $id=$_GET['id'];</p><p> $name=$_POST['name'];</p><p> $categoryId=$_POST['categoryId'];</p><p> $content=$_POST['content'];</p><p>
53、 $time=date("Y-m-dH:i:s");</p><p> $sql="update article set motif='$name',classify='$categoryId',content='$content',time='$time' where id='$id'"
54、;;</p><p> $result= mysql_query($sql); </p><p> if($result){</p><p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;U
55、RL=http://127.0.0.1/tpl/admin/listBlog.htm >" ; </p><p><b> }</b></p><p><b> else{</b></p><p> echo"fault"; </p><p>
56、echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/listBlog.htm >" ; </p><p><b> }</b></p><p><b> break;</b></p>
57、<p> case "comment":</p><p> $id=$_GET['id'];</p><p> $name=$_COOKIE['username'];</p><p> $content=$_POST['content'];</p><p>
58、; $time=date("Y-m-dH:i:s");</p><p> $sql="insert into comment (id,time,comment,user)</p><p> values('$id','$time','$content','$name')";<
59、/p><p> $result= mysql_query($sql); </p><p> if($result){</p><p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;URL=htt
60、p://127.0.0.1/tpl/default/displayBlog.htm?id=".$id." >" ; </p><p><b> }</b></p><p><b> else{</b></p><p> echo"fault"; <
61、;/p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/default/displayBlog.htm?id=".$id." >" ; </p><p><b> }</b></p>&
62、lt;p><b> break;</b></p><p> case "classify":</p><p> $title=$_POST['title'];</p><p> $describe=$_POST['describe'];</p><p>
63、 $sql="insert into title (title,describe)</p><p> values('$title','$describe')";</p><p> $result= mysql_query($sql); </p><p> if($result){</p>
64、<p> echo "sucess";</p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/classify.htm >" ; </p><p><b> }</b>
65、</p><p><b> else{</b></p><p> echo"fault"; </p><p> echo "<meta http-equiv='refresh'content=1;URL=http://127.0.0.1/tpl/admin/classify.h
66、tm >" ; </p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> ?></b></p><p>&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人博客課程設計報告
- 個人博客網(wǎng)站課程設計
- 個人博客系統(tǒng)課程設計
- 個人博客管理系統(tǒng)課程設計
- web課程設計--個人博客的設計與實現(xiàn)
- php課程設計---個人博客管理系統(tǒng)前后臺
- javaweb課程設計-基于java的個人博客系統(tǒng)
- javaweb課程設計報告--個人博客網(wǎng)站的實現(xiàn)(java)
- 課程設計報告(博客網(wǎng)系統(tǒng))
- j2ee課程設計報告--基于ssh的個人博客系統(tǒng)
- 基于b-s模式管理系統(tǒng)課程設計---個人博客后臺管理系統(tǒng)設計
- 個人理財課程設計
- 數(shù)據(jù)庫應用課程設計報告-博客管理系統(tǒng)
- 個人理財系統(tǒng)課程設計
- 個人網(wǎng)站系統(tǒng)課程設計
- 《個人網(wǎng)頁設計》課程設計報告
- 個人博客網(wǎng)站設計畢業(yè)
- 個人記賬系統(tǒng)課程設計報告
- 《國際結算課程設計》個人報告
- javaee 課程設計--個人財務系統(tǒng)
評論
0/150
提交評論