PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:本文闡述了一個PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),并對系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)和功能模塊作了詳細(xì)的說明。該平臺在實(shí)現(xiàn)方法上采用Apache服務(wù)器技術(shù),以MySQL5作為系統(tǒng)數(shù)據(jù)庫,主要功能定位于通過互聯(lián)網(wǎng)在瀏覽器與服務(wù)器之間進(jìn)行信息的傳輸。整個系統(tǒng)的結(jié)構(gòu)力求清晰明了,方便用戶使用。關(guān)鍵詞:PHP技術(shù),B/S結(jié)構(gòu),數(shù)據(jù)庫,博客PHP博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)一、緒論互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,對整個世界政治、經(jīng)濟(jì)、文化等各方面產(chǎn)生了十分廣泛和深遠(yuǎn)的影響。它奇跡般地崛起、爆炸般地?cái)U(kuò)容,令全世界矚目。互聯(lián)網(wǎng)技術(shù)之所以能在如此短的時(shí)間內(nèi)獲得社會各方面的認(rèn)可,并在全球范圍內(nèi)推廣應(yīng)用是因?yàn)榛ヂ?lián)網(wǎng)擁有龐大的信息資源、給人類提供全新的交往方式、存在著巨大的商機(jī)、虛擬現(xiàn)實(shí)技術(shù)的廣泛應(yīng)用等等,是促進(jìn)互聯(lián)網(wǎng)發(fā)展的重要因素。博客,又譯為網(wǎng)絡(luò)日志、部落格或部落閣等,是一種通常由個人管理、不定期張貼新的文章的網(wǎng)站。博客上的文章通常根據(jù)張貼時(shí)間,以倒序方式由新到舊排列。許多博客專注在特定的課題上提供評論或新聞,其他則被作為比較個人的日記。一個典型的博客結(jié)合了文字、圖像、其他博客或網(wǎng)站的鏈接、及其它與主題相關(guān)的媒體。能夠讓讀者以互動的方式留下意見,是許多博客的重要要素。大部分的博客內(nèi)容以文字為主,仍有一些博客專注在藝術(shù)、攝影、視頻、音樂、播客等各種主題。博客是社會媒體網(wǎng)絡(luò)的一部分。Blog是以網(wǎng)絡(luò)作為載體,簡易迅速便捷地發(fā)布自己的心得,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個性化展示于一體的綜合性平臺。而且為了方便使用,該系統(tǒng)設(shè)計(jì)風(fēng)格采用簡潔易用的理念,以易于上手為出發(fā)點(diǎn),以滿足開發(fā)學(xué)習(xí)需求為基本目標(biāo)的開放式平臺。(一)課題來源本課題根據(jù)我大學(xué)在校期間所自學(xué)的PHP開發(fā)教程結(jié)合現(xiàn)在網(wǎng)上博客系統(tǒng)的日益發(fā)展的需要所定,這個博客系統(tǒng)的編寫是對我大學(xué)期間所學(xué)知識的一個總結(jié)。系統(tǒng)的整個編寫過程是在老師和書本的指導(dǎo)下,我獨(dú)立完成。(二)課題的目的和意義通過本課題的研究和實(shí)踐,來總結(jié)大學(xué)四年所學(xué)到的網(wǎng)路編程技術(shù)以及對此技術(shù)的應(yīng)用,一個是對自身學(xué)習(xí)的檢驗(yàn),另一個是通過本次設(shè)計(jì)對日后的工作有一定的幫助。之所以選擇博客系統(tǒng)作為我的畢業(yè)設(shè)計(jì),是因?yàn)楝F(xiàn)在是一個網(wǎng)絡(luò)時(shí)代,網(wǎng)絡(luò)給人們的生活帶來了很大的方便,同時(shí),博客系統(tǒng)的意義在于博客是一種給予用戶極大參與空間的在線媒體,其最大的特點(diǎn)是賦予了每個人創(chuàng)造并傳播信息的能力,具有參與、公開、交流、對話、社區(qū)化、連通性等特征。博客系統(tǒng)可以實(shí)現(xiàn)文章管理的數(shù)字化、信息化、智能化,是打破傳統(tǒng)報(bào)刊雜志發(fā)表文章方式的一種新嘗試。本系統(tǒng)主要為用戶提供發(fā)表文章、瀏覽文章等功能,用戶通過Internet可以發(fā)表一些自己撰寫的文章以和其他網(wǎng)友進(jìn)行交流。力求設(shè)計(jì)出界面友好,操作簡單的博客程序,使其具有一定的應(yīng)用價(jià)值。(三)本系統(tǒng)的特點(diǎn)由于技術(shù)的限制,本系統(tǒng)不能和網(wǎng)絡(luò)上成熟的博客系統(tǒng)相提并論,只是一個博客系統(tǒng)的模型,但是它實(shí)現(xiàn)了博客系統(tǒng)的基本信息傳輸功能。和網(wǎng)上的博客系統(tǒng)相比較,主要的特點(diǎn)就是使用方便,界面簡潔易上手,沒有多余的附加畫面。選擇使用PHP語言作為博客系統(tǒng)的主要編程語言,是因?yàn)镻HP獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。它可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。(四)PHP語言的發(fā)展概況1.PHP語言的誕生PHP最初是1994年RasmusLerdorf創(chuàng)建的,剛剛開始只是一個簡單的用Perl語言編寫的程序,用來統(tǒng)計(jì)他自己網(wǎng)站的訪問者。后來又用C語言重新編寫,包括可以訪問數(shù)據(jù)庫。在1995年以PersonalHomePageTools(PHPTools)開始對外發(fā)表第一個版本,Lerdorf寫了一些介紹此程序的文檔,并且發(fā)布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計(jì)數(shù)器等簡單的功能。以后越來越多的網(wǎng)站使用了PHP,并且強(qiáng)烈要求增加一些特性,比如循環(huán)語句和數(shù)組變量等等,在新的成員加入開發(fā)行列之后,在1995年中,PHP2.0發(fā)布了。第二版定名為PHP/FI(FormInterpreter)。PHP/FI加入了對mySQL的支持,從此建立了PHP在動態(tài)網(wǎng)頁開發(fā)上的地位。到了1996年底,有15000個網(wǎng)站使用PHP/FI;時(shí)間到了1997年中,使用PHP/FI的網(wǎng)站數(shù)字超過五萬個。而在1997年中,開始了第三版的開發(fā)計(jì)劃,開發(fā)小組加入了ZeevSuraski及AndiGutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。2.PHP語言的發(fā)展PHP原本的簡稱為PersonalHomePage,是RasmusLerdorf為了要維護(hù)個人網(wǎng)頁,而用C語言開發(fā)的一些CGI工具程序集,來取代原先使用的Perl程序。最初這些工具程序用來顯示RasmusLerdorf的個人履歷,以及統(tǒng)計(jì)網(wǎng)頁流量。他將這些程序和一些表單直譯器整合起來,稱為PHP/FI。PHP/FI可以和數(shù)據(jù)庫連接,產(chǎn)生簡單的動態(tài)網(wǎng)頁程序。RasmusLerdorf在1995年6月8日將PHP/FI公開釋出,希望可以透過社群來加速程序開發(fā)與尋找錯誤。這個釋出的版本命名為PHP2,已經(jīng)有今日PHP的一些雛型,像是類似Perl的變量命名方式、表單處理功能、以及嵌入到HTML中執(zhí)行的能力。程序語法上也類似Perl,有較多的限制,不過更簡單、更有彈性。3.PHP語言的成熟在2000年5月22日,以ZendEngine1.0為基礎(chǔ)的PHP4正式釋出,2004年7月13日則釋出了PHP5,PHP5則使用了第二代的ZendEngine[5]。PHP包含了許多新特色,像是強(qiáng)化的面向?qū)ο蠊δ?、引入PDO(PHPDataObjects,一個存取數(shù)據(jù)庫的延伸函數(shù)庫)、以及許多效能上的增強(qiáng)。目前PHP4已經(jīng)不會繼續(xù)更新,以鼓勵用戶轉(zhuǎn)移到PHP5。2008年P(guān)HP5成為了PHP唯一的有在開發(fā)的PHP版本。將來的PHP5.3將會加入Latestaticbinding和一些其他的功能強(qiáng)化。PHP6的開發(fā)也正在進(jìn)行中,主要的改進(jìn)有移除register_globals、magicquotes和Safemode的功能。至此,PHP語言已經(jīng)發(fā)展的相當(dāng)成熟,在網(wǎng)絡(luò)上迅速流行起來。(五)PHP語言的特點(diǎn)PHP語言的特點(diǎn)總結(jié)主要有以下10點(diǎn):1、開放的源代碼:所有的PHP源代碼事實(shí)上都可以得到。2、PHP是免費(fèi)的。3、PHP的便捷性:PHP十分便捷,學(xué)習(xí)簡單。4、基于服務(wù)器端:由于PHP是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在UNIX、LINUX、WINDOWS下。5、嵌入HTML:因?yàn)镻HP可以嵌入HTML語言,所以學(xué)習(xí)起來并不困難。6、簡單的語言:PHP堅(jiān)持腳本語言為主,與Java和C++不同。7、效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。8、圖像處理:用PHP動態(tài)創(chuàng)建圖像9、面向?qū)ο瘢涸赑HP4,PHP5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M(jìn),現(xiàn)在PHP完全可以用來開發(fā)大型商業(yè)程序。10、PHP相對于其他語言,編輯簡單,實(shí)用性強(qiáng),更適合初學(xué)者。二、問題分析(一)功能設(shè)計(jì)我們的博客系統(tǒng)是PHP網(wǎng)絡(luò)編程和數(shù)據(jù)庫的結(jié)合應(yīng)用,主要功能定位于通過互聯(lián)網(wǎng)在瀏覽器與服務(wù)器之間進(jìn)行信息的傳輸。整個系統(tǒng)的結(jié)構(gòu)力求清晰明了,方便用戶使用是我們的宗旨。博客系統(tǒng)的整體布局上簡潔實(shí)用,美觀大方。各種界面元素的使用使得用戶在通過瀏覽器進(jìn)行會話時(shí)有良好的客戶體驗(yàn)。容易上手,使用方便,即使很少使用計(jì)算機(jī)上網(wǎng)的用戶也可以獨(dú)立適用。用戶可以通過登陸在自己的博客上發(fā)布日志,回復(fù)留言等。博客系統(tǒng)提供給用戶一個方便表達(dá)自我和互動的平臺。由于我剛接觸到基于PHP語言的網(wǎng)絡(luò)編程,所以做出的系統(tǒng)有些粗糙,功能和網(wǎng)上商業(yè)的相比較單一,還有待完善。(二)設(shè)計(jì)問題本課題研究的目標(biāo)是:建立一個基于互聯(lián)網(wǎng)的符合當(dāng)代社會理念、具有現(xiàn)代交流特色、綜合效益很高的B/S模式。要解決的主要問題有以下幾點(diǎn):1.理論問題:如今網(wǎng)絡(luò)上博客系統(tǒng)隨處可見,界面美觀,功能強(qiáng)大。如何設(shè)計(jì)出具有自己的風(fēng)格,又要體現(xiàn)出實(shí)用性,不流于形式的博客系統(tǒng),是需要慎重考慮的。2.技術(shù)問題:運(yùn)用到的PHP網(wǎng)絡(luò)編程、數(shù)據(jù)庫技術(shù)、服務(wù)器技術(shù)、安全性、使用到的工具等等,都是我們要慎重考慮的問題,也是建立一個好的通用性強(qiáng)的網(wǎng)絡(luò)系統(tǒng)的必備要求。3.實(shí)踐問題:網(wǎng)絡(luò)是一個新環(huán)境,如何在這個平臺上,創(chuàng)造出符合自己實(shí)際的系統(tǒng)模式,需要從實(shí)踐中不斷總結(jié),不切實(shí)際地模仿別人,拷貝別人,是不可取的。(三)設(shè)計(jì)原則本課題的主要開發(fā)原則遵循以下幾點(diǎn):1、界面風(fēng)格簡潔自然,切忌浮躁夸張的風(fēng)格,為客戶帶來一個輕松的體驗(yàn)使用環(huán)境;2、博客系統(tǒng)的部分主要功能要基本完整,包括用戶登錄,登錄驗(yàn)證,用戶注冊,服務(wù)器管理功能,用戶發(fā)表日志、回復(fù)留言、等等;3、采用是世界使用排名第一的Web服務(wù)器軟件Apache。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一,這樣有效的保證了系統(tǒng)運(yùn)行的穩(wěn)定;4、使用MySQL數(shù)據(jù)庫存放數(shù)據(jù)時(shí),盡量做到設(shè)計(jì)明確,表結(jié)構(gòu)清晰,便于以后的擴(kuò)展和維護(hù)。(四)開發(fā)工具的選擇ZendStudio是屢獲大獎的專業(yè)PHP集成開發(fā)環(huán)境,具備功能強(qiáng)大的專業(yè)編輯工具和調(diào)試工具,支持PHP語法加亮顯示,支持語法自動填充功能,支持書簽功能,支持語法自動縮排和代碼復(fù)制功能,內(nèi)置一個強(qiáng)大的PHP代碼調(diào)試工具,支持本地和遠(yuǎn)程兩種調(diào)試模式,支持多種高級調(diào)試功能。在這里我們使用網(wǎng)絡(luò)上流行的AMP黃金組合:1.PHP解釋環(huán)境我們需要一個安裝有PHP解釋器的操作系統(tǒng)環(huán)境下進(jìn)行開發(fā)測試,本論文中的系統(tǒng)采用了windows環(huán)境下的開發(fā)。2.MySQL數(shù)據(jù)庫環(huán)境 為了實(shí)現(xiàn)客戶/服務(wù)器的良好交互,系統(tǒng)必須依賴數(shù)據(jù)庫技術(shù),保存客戶的相關(guān)信息3.Apche服務(wù)器環(huán)境作為一個web上使用的博客系統(tǒng),必須要有服務(wù)器端的支持,才能在互聯(lián)網(wǎng)上使用,是博客系統(tǒng)具有交互性。(五)數(shù)據(jù)庫設(shè)計(jì)由于本網(wǎng)站需處理大量的數(shù)據(jù),因而選擇好的數(shù)據(jù)庫管理系統(tǒng)并設(shè)計(jì)好數(shù)據(jù)庫便顯得異常重要了。有了好的數(shù)據(jù)庫,可便于進(jìn)行查詢,插入刪除等數(shù)據(jù)操作,提高系統(tǒng)的效率,也便于管理。我們選擇了MySql作為數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫設(shè)計(jì)如下:1.E-R圖2.數(shù)據(jù)字典(1)用戶信息表字段類型Null默認(rèn)user_idint(10)是NULLusernamevarchar(64)是passwordvarchar(64)是mailadresvarchar(100)是user_picvarchar(255)是NULLuser_provincevarchar(16)是NULLsignupdatevarchar(20)是user_gendervarchar(8)是NULLuser_webvarchar(255)是NULLuser_infovarchar(255)是isadminint(1)是0iscloseint(1)是0last_loginint(10)是0domainvarchar(20)是NULLblog_numint(5)是0friend_numint(5)是0pic_numint(5)是0fav_numint(5)是0share_blogint(1)是1total_clickint(10)是0clickdayint(10)是0ipvarchar(20)是0state_readvarchar(200)是state_listenvarchar(200)是state_enjoyvarchar(200)是backimgvarchar(255)是NULLnotetext是NULLfanfouvarchar(64)是NULLauth_emailvarchar(50)是0tonsenzvarchar(64)是NULL(2)評論表字段類型Null默認(rèn)reply_idint(10)是NULLshare_idint(10)是share_uidint(10)是reply_bodyText是reply_timeint(10)是reply_uidint(10)是reply_unamevarchar(64)是reply_upicvarchar(255)是typevarchar(8)是網(wǎng)頁(3)文章表字段類型Null默認(rèn)share_idint(10)是NULLuser_idint(10)是user_namevarchar(64)是user_picvarchar(255)是content_bodyText是share_timevarchar(20)是typevarchar(10)是reply_timesint(10)是0is_shareint(1)是1(4)類別表 字段類型Null默認(rèn)class_idint(10)是Class_namechar(10)是NULL三、設(shè)計(jì)與實(shí)現(xiàn)(一)總體結(jié)構(gòu)設(shè)計(jì)網(wǎng)站的總體結(jié)構(gòu)如下圖:首頁個人頁面(blog)日志留言管理(二)具體設(shè)計(jì)首頁個人頁面(blog)日志留言管理1.博客系統(tǒng)的實(shí)現(xiàn)方案(1)搭建開發(fā)環(huán)境,建立服務(wù)器和數(shù)據(jù)庫(2)用戶登錄系統(tǒng)注冊信息(3)用戶進(jìn)行發(fā)表日志等相關(guān)操作(4)服務(wù)器保存用戶數(shù)據(jù)(5)用戶安全退出2.博客系統(tǒng)的設(shè)計(jì)與主要編碼(1)網(wǎng)站安裝的流程首先在服務(wù)器端安裝我們開發(fā)好的博客系統(tǒng),將文件放入指定位置后(一般是服務(wù)器的www文件夾中)運(yùn)行其中的install.php,如圖:主要代碼如下(省去部門頁面的編碼):$username=$_POST[admin]; //獲得參數(shù) $password=md5($_POST[pass]); $nickname=$_POST[nickname]; $email=$_POST[email]; require"19-1.php"; $link=mysql_connect("$host","$user","$pass")ordie(mysql_error()); mysql_select_db($db_name,$link); //選擇數(shù)據(jù)庫 $sql="createtable$table_log( idint(5)notnullauto_incrementprimarykey, p_idint(5)notnulldefault0, titlevarchar(40)notnulldefault'', contenttextnotnull, sortvarchar(20)notnulldefault'', viewsint(5)notnulldefault0, tbcountint(5)notnulldefault0, authorvarchar(40)notnulldefault'', datevarchar(20)notnulldefault'', topenum('n','y')notnulldefault'n', hideenum('n','y')notnulldefault'n', allow_tbenum('n','y')notnulldefault'n' )"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送創(chuàng)建B_LOG表的SQL請求 $sql="createtable$table_user( idint(5)notnullauto_incrementprimarykey, usernamevarchar(40)notnulldefault'', passwordvarchar(40)notnulldefault'', adminenum('1','0')notnulldefault'0', nicknamevarchar(20)notnulldefault'', sexenum('boy','girl')notnulldefault'boy', photovarchar(80)notnulldefault'', emailvarchar(60)notnulldefault'', descriptionvarchar(200)notnulldefault'' )"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送創(chuàng)建B_USER表的SQL請求 $sql="createtable$table_gbook( idint(5)notnullauto_incrementprimarykey, titlevarchar(40)notnulldefault'', contenttextnotnull, authorvarchar(40)notnulldefault'', datevarchar(30)notnulldefault'' )"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送創(chuàng)建B_GBOOK表的SQL請求 $sql="createtable$table_sort( idint(5)notnullauto_incrementprimarykey, sortnamevarchar(20)notnulldefault'', sortimgvarchar(60)notnulldefault'', sortnumint(5)notnulldefault0, descriptionvarchar(200)notnulldefault'' )"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送創(chuàng)建B_SORT表的SQL請求 $sql="insertinto$table_sort(sortname,sortimg,description)values('默認(rèn)類別','images\sort.img','默認(rèn)的分類,請更改!')"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送添加默認(rèn)分類的SQL請求 $sql="insertinto$table_user(username,password,admin,nickname,email,description)values('$username','$password','1','$nickname','$email','我就是本小站的管理員!')"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送添加管理員信息的SQL請求?>然后就可以在首頁中的管理項(xiàng),進(jìn)行登錄操作,如圖:(2)網(wǎng)站使用的流程普通客戶通過瀏覽器進(jìn)入博客管理系統(tǒng)界面,首先進(jìn)行注冊操作,如圖:主要代碼如下:$username=$_POST[admin]; //獲得參數(shù) $password=md5($_POST[pass]); $nickname=$_POST[nickname]; $email=$_POST[email]; $description=$_POST[description]; require"19-1.php"; $link=mysql_connect("$host","$user","$pass")ordie(mysql_error()); mysql_select_db($db_name,$link); //選擇數(shù)據(jù)庫 $sql="selectusernamefrom$table_userwhereusername='$username'"; $result=mysql_query($sql,$link); $nums=mysql_num_rows($result); //獲取重名用戶 if($nums!=0)echo"用戶名已經(jīng)存在!點(diǎn)<ahref='#'onclick=history.go(-1)>這里</a>返回"; else //如果不存在重名用戶 { $sql="insertinto$table_user(username,password,nickname,email,description)values('$username','$password','$nickname','$email','$description')"; mysql_query($sql,$link)ordie(mysql_error()); //發(fā)送添加用戶信息的SQL請求之后就可以登錄了,并進(jìn)行相關(guān)操作:登錄后在左側(cè)標(biāo)題欄變可以進(jìn)行操作了,如圖:點(diǎn)擊日志便可以發(fā)表自己的日志了主要代碼如下:$title=$_POST[title]; //獲取表單變量 $content=$_POST[content]; $hide=$_POST[hide]; $sort=$_POST[sort]; $date=date("Y年n月d日"); //獲取當(dāng)前日期 require"19-1.php"; $link=mysql_connect($host,$user,$pass); mysql_select_db($db_name,$link); $sql="insertinto$table_log(title,content,sort,author,hide,date)values('$title','$content','$sort','$_COOKIE[username]','$hide','$date')"; mysql_query($sql,$link); //發(fā)送插入新日志記錄的SQL請求 $sql2="update$table_sortsetsortnum=sortnum+1wheresortname='$sort'"; mysql_query($sql2,$link); //發(fā)送更改類別數(shù)量的SQL請求點(diǎn)擊留言可以給相關(guān)日志進(jìn)行留言,如圖:主要代碼如下:<?PHPif($_COOKIE[username]) //如果用戶已經(jīng)登錄{ require"19-1.php"; //調(diào)用配置文件 $link=mysql_connect($host,$user,$pass); mysql_select_db($db_name,$link); $sql="select*from$table_userwhereusername='$_COOKIE[username]'"; $result=mysql_query($sql,$link); $row=mysql_fetch_array($result); //用戶信息置入數(shù)組 if($row[admin]=="1") //用戶為管理員 { if(!$_POST[action]) //未發(fā)送表單變量時(shí)顯示HTML { echo"<center>\n"; echo"<h3>留言管理</h3>"; echo"<tablecellpadding=\"1\"cellspacing=\"1\"align=\"center\"bgcolor=\"#000000\"width=\"100%\">\n"; echo"<formmethod=\"post\"action=\"$PATH_INFO\">\n"; $sql="select*from$table_gbook"; $result=mysql_query($sql,$link); echo"<tr>\n"; echo"<tdbgcolor=\"#ccffcc\">作者</td><tdbgcolor=\"#ccffcc\">標(biāo)題</td><tdbgcolor=\"#ccffcc\">內(nèi)容</td><tdbgcolor=\"#ccffcc\">操作類型</td>\n"; echo"</tr>\n"; while($rows=mysql_fetch_array($result)) { echo"<tr>"; echo"<inputtype=hiddenname=id[$i]value=".$rows[id].">"; echo"<tdbgcolor=\"#eeeeff\">".$rows[author]."</td><tdbgcolor=\"#eeeeff\"><inputtype=textvalue=".$rows[title]."name=title[$i]size=6></td><tdbgcolor=\"#eeeeff\"><textareaname=content[$i]rows=3cols=20>".$rows[content]."</textarea></td>"; echo"<tdbgcolor=\"#eeeeff\"><inputtype=radioname=action[$i]value=delchecked>刪除<br><inputtype=radioname=action[$i]value=edit>修改<br></td>"; echo"</tr>"; $i++; } //循環(huán)顯示留言內(nèi)容 echo"<tr>"; echo"<tdcolspan=\"4\"bgcolor=\"#eeffee\"><center>"; echo"<inputtype=submitvalue=\"確認(rèn)提交\">"; echo"</center></td>"; echo"</form>\n"; echo"</table>\n"; echo"</center>\n"; echo"</body>\n"; echo"<html>\n"; } else //如果已經(jīng)發(fā)送表單變量 { require"19-1.php"; $link=mysql_connect($host,$user,$pass); mysql_select_db($db_name,$link); for($i=0;$i<count($_POST[id]);$i++) { $temp1=$_POST[id][$i]; //循環(huán)獲取表單變量 $temp2=$_POST[title][$i]; $temp3=$_POST[content][$i]; if($_POST[action][$i]=="del") //如果操作類型為刪除 { $sql="deletefrom$table_gbookwhereid='$temp1'"; } else //如果操作類型為修改 { $sql="update$table_gbooksettitle='$temp2',content='$temp3'whereid='$temp1'"; } mysql_query($sql); //執(zhí)行操作SQL語句 } echo"<html>\n"; echo"<head>\n"; echo"<title>博客程序</title>\n"; echo"<metahttp-equiv=\"refresh\"content=\"2;url=19-14.php\">"; echo"</head>\n"; echo"<body>\n"; echo"處理成功,正在返回"; echo"</body>"; echo"</html>"; } } else //如果用戶不是管理員 { echo"普通用戶沒有該權(quán)限!"; }}else //如果用戶沒有登錄{ echo"你還沒有登錄,點(diǎn)<ahref=19-8.php>這里</a>進(jìn)行登錄!";}?>(三)測試測試步驟:1、啟動服務(wù)器端2、通過瀏覽器登錄網(wǎng)站注冊并進(jìn)行相關(guān)操作四、結(jié)束語畢業(yè)設(shè)計(jì)(論文)是大學(xué)生活的重要組成部分,是對一個學(xué)生大學(xué)四年學(xué)習(xí)成果的重要檢驗(yàn)。這次的PHP博客系統(tǒng)是我第一次完整地按照軟件工程的要求,從需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)到編碼和軟件測試所開發(fā)的系統(tǒng)。在黃杰老師的指導(dǎo)下和同學(xué)們的幫助下,我通過自己的努力,成功地開發(fā)了該系統(tǒng)。這次實(shí)踐也是大學(xué)期間一個難得的實(shí)踐鍛煉機(jī)會,相信這次鍛煉將會為我以后的工作和學(xué)習(xí)起到指導(dǎo)性的作用。通過這個課題的開發(fā),我深刻體會到了四年來所學(xué)課程的重要性,在實(shí)踐中運(yùn)用了所學(xué)的知識;我感受到了軟件開發(fā)的具體過程,特別是軟件工程的指導(dǎo)作用;模塊化程序設(shè)計(jì)可以提高軟件開發(fā)的效率和減少維護(hù)的負(fù)擔(dān)。

參考文獻(xiàn):[1]HYPERLINK"/book/search_pub.p

溫馨提示

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

評論

0/150

提交評論