版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> X X X X大學</b></p><p><b> 畢 業(yè) 論 文</b></p><p><b> 二〇一二年六月</b></p><p> 基于PHP的微博系統(tǒng)的設(shè)計與實現(xiàn)</p><p> 專業(yè)班級:計算機科學與技術(shù)58班 <
2、/p><p> 姓 名: 高磊 </p><p> 指導教師: </p><p><b> 信息學院</b></p><p><b> 摘 要</b></p><p> 微博,是微型博客
3、的簡稱,是一個基于用戶關(guān)系的信息分享、傳播以及獲取平臺,用戶以文字的形式更新信息,并實現(xiàn)即時共享。微博的公開性和即時性使其成為目前發(fā)展最為迅猛的互聯(lián)網(wǎng)業(yè)務(wù)。</p><p> PHP是一種運行于服務(wù)器端的HTML嵌入式腳本描述語言,相較于傳統(tǒng)的動態(tài)解析語言,PHP擁有更好的穩(wěn)定性和可操作性,運行效率更高;MySQL是一個最受歡迎的開源數(shù)據(jù)庫管理系統(tǒng),任何人都可以從Hitemet上下載和使用MySQL而不需要支付
4、任何費用。本文中將介紹常見的建立PHP+MySQL運行環(huán)境的方法以及如何在PHP中調(diào)用MySQL存儲過程和函數(shù)完成微博系統(tǒng)的開發(fā)。</p><p> 本文所論述系統(tǒng)開發(fā)的核心內(nèi)容就是以PHP語言和MySQL數(shù)據(jù)庫為基礎(chǔ),結(jié)HTML、CSS、JavaScript等語言實現(xiàn)將微博用戶的最新信息即時傳遞給微博的關(guān)注者,讓微博用戶可以即時的看到關(guān)注對象的最新信息(包括用戶的個人信息,發(fā)布新鮮事,轉(zhuǎn)發(fā)好友的新鮮事,評論,
5、回復(fù)等信息)的功能。注冊用戶能通過好友管理找朋友(支持按條件篩選),對你喜歡的用戶添加關(guān)注,發(fā)布帶話題和圖片的微博消息,評論你看到的用戶發(fā)布的消息,回消息和查看私信等。復(fù)對你的評論,可以給你關(guān)注的微博用戶發(fā)站內(nèi)私信,查看個人首頁,查看回復(fù)。</p><p> 關(guān)鍵字:微博; 互聯(lián)網(wǎng) ;PHP ;MySQL</p><p><b> Abstract</b><
6、/p><p> Micro-Bo is the abbreviation of Microblogging . It's a platform based on customer relationship for information sharing,dissemination and access.Users can update the information in the form of text,
7、 and instant sharing. The openness and immediacy of the microblogging make it become the most rapid development of Internet business.</p><p> PHP is a HTML embedded script description language running on th
8、e server .Compared with dynamic analysis language,PHP has a better stability and maneuverability. Its running is more efficient.MySQL is a most popular open source database management system. Anyone can download it from
9、hitemet and there is no need to pay any money to use this popular open source database management system . This paper will introduce the common method of establishing PHP+MySQL operating environment and how to call M<
10、/p><p> The core of the system development content discussed in this paper is based on PHP language and MySQL database.HTML、CSS and JavaScript realize the function of instantly transmitting micro-blog users
11、' latest information to micro-blog followers .This function can let the micro-blog users see the concerned micro-blog users' latest information (Including personal information of the users,releasing fresh things
12、,forwarding friends' fresh things, comments, reply and other information ).Registered u</p><p> Key words: Microblog; Internet; PHP ; MySQL</p><p><b> 目錄</b></p><p&g
13、t;<b> 第1章 緒論7</b></p><p> 1.1 微博概述7</p><p> 1.2 選題背景7</p><p> 1.3 課題研究意義8</p><p> 第2章相關(guān)技術(shù)介紹8</p><p> 2.1開發(fā)環(huán)境與平臺8</p><p
14、> 2.2系統(tǒng)開發(fā)工具9</p><p> 2.2.1 PHP介紹9</p><p> 2.2.2 Apache服務(wù)器10</p><p> 2.2.3 MySQL數(shù)據(jù)庫11</p><p> 2.2.4 B/S(Browser/Server)結(jié)構(gòu)11</p><p> 2.2.5
15、 CSS布局方法12</p><p> 第3章 系統(tǒng)分析13</p><p> 3.1 需求分析13</p><p> 3.2 系統(tǒng)目標14</p><p> 第4章 系統(tǒng)設(shè)計15</p><p> 4.1 總體功能設(shè)計15</p><p> 4.2 系統(tǒng)模塊功能詳細設(shè)計
16、16</p><p> 4.2.1登錄注冊模塊16</p><p> 4.2.2登錄后首頁模塊17</p><p> 4.2.3個人微博信息模塊18</p><p> 4.2.4微博模塊18</p><p> 4.2.5好友管理模塊18</p><p> 4.2.6博文管
17、理模塊19</p><p> 4.3 數(shù)據(jù)庫設(shè)計19</p><p> 4.3.1數(shù)據(jù)字典20</p><p> 4.3.2 數(shù)據(jù)庫實體關(guān)系23</p><p> 4.3.3 數(shù)據(jù)庫模型24</p><p> 4.4 數(shù)據(jù)流程設(shè)計25</p><p> 4.5 人機界
18、面設(shè)計26</p><p> 第5章 編碼實現(xiàn)27</p><p> 5.1系統(tǒng)運行環(huán)境27</p><p> 5.2 數(shù)據(jù)庫建設(shè)28</p><p> 5.2.1 數(shù)據(jù)庫的建立28</p><p> 5.2.2 數(shù)據(jù)庫表的建立28</p><p> 5.2.3 視圖的
19、建立29</p><p> 5.3 數(shù)據(jù)操作29</p><p> 5.4 人機界面34</p><p> 5.4.1 注冊登錄頁34</p><p> 5.4.2 微博主頁面35</p><p> 5.4.3 修改個人信息頁面35</p><p> 5.4.4 好友
20、管理頁面36</p><p> 5.4.5 發(fā)布微博頁面37</p><p> 5.4.6私信管理頁面37</p><p> 5.4.7相冊管理頁面37</p><p> 第6章 系統(tǒng)測試38</p><p> 6.1 測試目的及方法38</p><p> 6.2 測
21、試要點與用例38</p><p> 6.3 測試結(jié)果39</p><p><b> 結(jié)束語40</b></p><p> ?。?)設(shè)計成果與學習收獲40</p><p> (2)存在問題與改進思路41</p><p> 1從微博用戶體驗方面41</p><
22、p> 2從微博數(shù)據(jù)結(jié)構(gòu)優(yōu)化方面41</p><p><b> 致謝42</b></p><p><b> 參考文獻43</b></p><p><b> 第1章 緒論</b></p><p><b> 1.1 微博概述</b><
23、;/p><p> 微博,是微型博客的簡稱,是一個基于用戶關(guān)系的信息分享、傳播以及獲取平臺,用戶可以通過WEB、WAP以及各種客戶端組件個人社區(qū),以少量文字更新信息,并實現(xiàn)即時分享?,F(xiàn)在微博已經(jīng)成為了人們生活中不可或缺的一部分,亦是人們交流互相了解對方新聞的快速途徑。</p><p> 微博剛剛走進人們的視野就得到了人們的青睞。微博廣泛的分布在桌面、瀏覽器、移動終端等多個平臺上,用戶基數(shù)大,
24、用戶可以以迅速的方式隨時隨地了解不同地方的新聞,或者朋友的最新動態(tài),也可以快速的發(fā)布自己的所見所聞跟所有人分享。微博符合了大多數(shù)人如今的需求,快速、便捷,而且其原創(chuàng)性高,隨時記錄隨時分享。</p><p> 2009年隨著3G(3rd-generation)技術(shù)的成熟和牌照的發(fā)放,正式拉開了中國移動互聯(lián)網(wǎng)時代的序幕。作為新生事物的“微博”以其簡單易用性、廣泛的影響力、快速傳播力等,迎合了互聯(lián)網(wǎng)時代的發(fā)展,迅速
25、成為了互聯(lián)網(wǎng)新興起的一種集成化、開放化的互聯(lián)網(wǎng)社交服務(wù),被譽為一場“正在爆發(fā)的互聯(lián)網(wǎng)革命”。 </p><p> 2010年國內(nèi)微博迎來發(fā)展的春天。微博像雨后春筍般崛起,新浪、搜狐、網(wǎng)易、騰訊、鳳凰、和訊、搜房等綜合門戶均開始推出微博產(chǎn)品。雖然只有幾年時間,但中國微博用戶量發(fā)展迅猛,據(jù)上海交通大學輿情研究實驗室近日出爐的《2010中國微博年度報告》顯示,目前中國微博活躍用戶數(shù)量僅2010年上半年就已從一千萬增至
26、一千二百萬[1]。</p><p> 中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)發(fā)布的《第28次中國互聯(lián)網(wǎng)絡(luò)發(fā)展狀況統(tǒng)計報告》示,2011年上半年,中國微博用戶從6331萬增至1.95億,增長約2倍。該《報告》指出,中國互聯(lián)網(wǎng)的普及率增至36.2%,較2010年增加1.9%。2011年上半年,我國微博用戶數(shù)量從6331萬增至1.95億,半年增幅高達208.9%。微博在網(wǎng)民中的普及率從13.8%增至40.2%[2]。&l
27、t;/p><p><b> 1.2 選題背景</b></p><p> 在美國硅谷創(chuàng)辦的Twitter是微博界的首創(chuàng)者,同時也是現(xiàn)在世界上用戶規(guī)模最大的微博網(wǎng)站,在全球120多個國家擁有至少超過18種語言的用戶。而微博發(fā)展到如今,Twitter已經(jīng)有了許多不同的競爭對手,如Tumblelog等國外的微博網(wǎng)站。等等國外的微博網(wǎng)站。國內(nèi)從2007年第一家?guī)в形⒉┥实娘?/p>
28、否網(wǎng)開始,到2010年微博迎來春天,國內(nèi)的微博網(wǎng)站也已經(jīng)普及。其中的佼佼者也有不少,如隨心微博,被譽為國內(nèi)最好、最主流、最受歡迎的清新、簡約時尚微博網(wǎng)站,"隨心"的寥言片語與朋友們一起分享生活中的心情點滴.可通過Web、客戶端、手機等更新收發(fā)微博。僅僅在中國,截止2011年2月,已經(jīng)突破2億的微博用戶。</p><p> 國內(nèi)外的微博網(wǎng)站,主流都是基于PHP開發(fā)的,有部分則是用ASP來開發(fā)。
29、而相較于ASP,PHP有著不少優(yōu)勢。如高級內(nèi)存管理,在IIS4下,一個ASP腳本header.asp,如果被20個頁面所包含,那么運行的時候,在內(nèi)存當中會保留這20個header.asp的編譯副本,IIS5解決了這個問題,但只有windows2000才支持IIS5,由于這種IIS5的不能向下兼容的原因,許多服務(wù)器仍然要使用IIS4下的低級的內(nèi)存管理。而在PHP中,不會存在這種問題,只有當require時,才會調(diào)用某個include文件。
30、又如PHP的運行速度比ASP快,PHP是開放源代碼的編程語言。ASP和PHP都是中型網(wǎng)站的較理想的解決方案,但PHP與MySQL的緊密結(jié)合使PHP更加優(yōu)越[3]。PHP有許多管理和維護MySQL的工具,對MySQL的支持是最全面的。許多有用的函數(shù)如mysql_insert_id和mysql_affected_rows等,其他的數(shù)據(jù)庫則沒有。因此,在未來很長的一段時間內(nèi),使用PHP來開發(fā)微博必定還是主流。</p><p
31、> 其中,對于微博研究的重點還在于海量數(shù)據(jù)的存儲以及數(shù)據(jù)關(guān)系的操作效率。</p><p> 1.3 課題研究意義</p><p> 中國微博市場尚處于用戶培養(yǎng)期,用戶粘性和用戶行為延續(xù)性都還需要進一步提高。國內(nèi)微博市場的巨大潛力還有待開發(fā)。另一方面雖然目前已有初步成熟的微博平臺,但這些微博平臺多是娛樂型性質(zhì),針對某一特定領(lǐng)域的內(nèi)容型、應(yīng)用型和商務(wù)型微博還未有足夠發(fā)展。 <
32、/p><p> 微博系統(tǒng)在此背景下應(yīng)運而生,它實現(xiàn)了目前多數(shù)微博系統(tǒng)所具有的基本功能,提供了一個便捷、開放、可獨立部署和運營的微博平臺建站系統(tǒng)和解決方案,并有助于在此基礎(chǔ)上針對某一特定領(lǐng)域進行二次開發(fā)。</p><p><b> 第2章相關(guān)技術(shù)介紹</b></p><p> 2.1開發(fā)環(huán)境與平臺</p><p> 本
33、系統(tǒng)是基于windowsXP操作系統(tǒng)、PHP的開發(fā)語言、Apache服務(wù)器、MySQL數(shù)據(jù)庫開發(fā)的,PHP可以在多種系統(tǒng)平臺上運行,APache服務(wù)器是世界上使用最多的web服務(wù)器,PHP能夠作為仰acheweb服務(wù)器的模塊執(zhí)行,使得它的執(zhí)行效率要高于普通的CGI程序,使用PHP進行開發(fā)前需建立其工作環(huán)境,而PHP的工作環(huán)境的建立比較的繁瑣[4]。目前只需安裝XAMPP即可,XAMPP是一個功能強大的建站集成軟件包。它可以在Window
34、s、Linux、solaris三種操作系統(tǒng)下安裝使用,支持多語言:英文、簡體中文、繁體中文、韓文、俄文、日文等。它集成了Apache服務(wù)器、MySQL數(shù)據(jù)庫、pHp開發(fā)語言、pERL語言。Apaehe作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個軟件都是自由或開放源碼軟件,因此大大降低了使用成本,可以方便快捷地建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。</p><p><b>
35、 2.2系統(tǒng)開發(fā)工具</b></p><p> 2.2.1 PHP介紹</p><p> PHP是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用[5]。其特點為:</p><p> (1)PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。</p><
36、;p> (2)用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多。</p><p> (3)PHP執(zhí)行引擎還會將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶再一次訪問這個程序時就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。</p><p> (4)PHP
37、具有非常強大的功能,而且支持幾乎所有流行的數(shù)據(jù)庫以及操作基于PHP招生管理信息系統(tǒng)的設(shè)計與實現(xiàn)系統(tǒng)。</p><p> (5)開放的源代碼,及所有的PHP源代碼事實上都可以得到。</p><p> (6)PHP是免費的,并且使用非常廣泛。</p><p> (7)PHP是基于服務(wù)器端的,因此即使再多的用戶,再復(fù)雜的程序也不會影響運行的速度。綜上所述PHP與其他
38、語言相比首先它可以用在任何操作系統(tǒng)上,穩(wěn)定性較高,執(zhí)行效率快,開發(fā)時間短,學習門檻低,函數(shù)支持多等優(yōu)點。</p><p><b> PHP的工作原理:</b></p><p> 第一步:客戶向Web服務(wù)器發(fā)出請求。瀏覽器將此PHP請求傳送給支持PHP的web服務(wù)器。</p><p> 第二步:Apache服務(wù)器分析客戶的請求,若為PHP文
39、件,則將其交給PHP處理程序進行處理。</p><p> 第三步:所有同數(shù)據(jù)庫相關(guān)的操作,都由PHP來完成。PHP可以很好地完成同數(shù)據(jù)庫的交互。</p><p> 第四步:PHP從數(shù)據(jù)庫中取得數(shù)據(jù)后,將文件內(nèi)容轉(zhuǎn)化為HTML格式。</p><p> 第五步:將HTML格式的文件交給Apache服務(wù)器。</p><p> 第六步:Apa
40、che服務(wù)器再將其送給客戶。</p><p> 圖2.1 PHP工作原理圖</p><p> PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。PHP安裝它可以比CGICommon Gate Interface或者 Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTM
41、L標記的CGI要高許多,PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn)而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。 </p><p> 至PHP5.0版本時,PHP已經(jīng)非常全面地支持面向?qū)ο蟮脑O(shè)計思想。PHP由于代碼開源免費、開發(fā)快捷高效、跨平臺性強等特點,已經(jīng)成為WEB開放主流腳本語言之一,近年來已經(jīng)出現(xiàn)以PHP技術(shù)為核心的
42、大型商業(yè)應(yīng)用案例。故本系統(tǒng)根據(jù)系統(tǒng)特點決定采用PHP作為開發(fā)語言[6]。</p><p> 2.2.2 Apache服務(wù)器</p><p> Apache是目前互聯(lián)網(wǎng)上使用最廣泛的web服務(wù)器,它支持多種操作系統(tǒng),如:Unix、Linux、Windows等,功能強大。它以快速、可靠、易擴展的特點在所有的服務(wù)器軟件中占有優(yōu)勢,并且它的源代碼開放,因此有大量的開發(fā)人員投入了大量的時間精力
43、來逐步的將其完善,Apache不僅可作為web服務(wù)器,它還包含了代理服務(wù)器的功能。當客戶機使用URL請求訪問遠程資源時,Apache接受該請求并取得該資源以滿足客戶機的請求。同時如果要創(chuàng)建一個每天有數(shù)百萬人訪問的Web服務(wù)器,Apache將是最佳選擇。本系統(tǒng)就是以Apache作為開發(fā)平臺的,因為PHP能夠作為Apache web服務(wù)器的模塊執(zhí)行,使得它的執(zhí)行效率要高于其他的CGI程序,而且能比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。Ap
44、ache、PHP在實際應(yīng)用中為最佳組合。</p><p> 2.2.3 MySQL數(shù)據(jù)庫</p><p> MySQL是一個最受歡迎的開源數(shù)據(jù)庫管理系統(tǒng),任何人都可以從hitemet上下載和使用MySQL而不需要支付任何費用。同時也可以研究其源代碼,并根據(jù)需要進行修改。與其他的大型數(shù)據(jù)庫相比,MySQL自有它的不足之處,如規(guī)模小、功能有限但對于中、小型應(yīng)用系統(tǒng)是非常理想的,開源性降低
45、了總體成本。它具有功能強、使用簡便、管理方便、運行速度快、安全可靠性強等優(yōu)點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p><b> MySQL特點:</b></p><p> 1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。 </p><p> 2.支持AIX、Fr
46、eeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) ?! ?lt;/p><p> 3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 </p><p> 4.支持多線程,充分利用CPU資源?!?
47、lt;/p><p> 5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。 </p><p> 6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名?! ?lt;/p><p> 7.提供TCP/IP、ODBC和J
48、DBC等多種數(shù)據(jù)庫連接途徑。 </p><p> 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具?! ?lt;/p><p> 9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。 </p><p> 10.支持多種存儲引擎。</p><p> 11.MySQL是開放源碼軟件,建站成本低。</p><p> 2.2.
49、4 B/S(Browser/Server)結(jié)構(gòu)</p><p> B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。這種結(jié)構(gòu),建立在廣域網(wǎng)之上的,有著更強的適應(yīng)范圍,客戶一般只要有操作系統(tǒng)和瀏覽器就行,可以在任何地方操作,不需要安裝專門的軟件,特別是現(xiàn)在軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)的更方便的特性
50、[7]。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護升級的工作量,所有的操作只需要針對服務(wù)器進行,而作為客戶端,只需安裝瀏覽器,瀏覽器通過W服務(wù)器同數(shù)據(jù)庫進行數(shù)據(jù)交換,B/S結(jié)構(gòu)與C/S結(jié)構(gòu)相比大大降低了維護成本,特別是從Windows98開始,將瀏覽器植入到系統(tǒng)中,B/S這種結(jié)構(gòu)就更加成為當前應(yīng)用軟件的首選體系結(jié)構(gòu)。</p><p> BIS系統(tǒng)常常采用的三層體系結(jié)構(gòu),這三層體系結(jié)構(gòu)在層與層之間相互
51、獨立,任何一層的改變不會影響其他層的功能[14]。相應(yīng)的,一個web工程的開發(fā)中也存在同樣的三層邏輯結(jié)構(gòu)。</p><p> (l)數(shù)據(jù)訪問層:實現(xiàn)對數(shù)據(jù)的訪問功能,如增刪改查數(shù)據(jù)。</p><p> (2)業(yè)務(wù)邏輯層:實現(xiàn)業(yè)務(wù)的具體邏輯功能,如考生成績管理等。</p><p> (3)頁面顯示層:將業(yè)務(wù)功能在瀏覽器上漂亮的顯示出來,如分頁顯示考生信息。利用P
52、HP技術(shù)實現(xiàn)的WEB瀏覽頁本身就具備多頁面、可視化編程的要求友好的界面有利于開發(fā)的人性化[8]。</p><p> 圖2.2三層體系架構(gòu)示意圖</p><p> 2.2.5 CSS布局方法</p><p> CSS是cascading style sheets(層疊樣式表)的簡稱,語言是一種標記語言,它不需要編譯,可以直接由瀏覽器解釋執(zhí)行,簡單來說CSS可以
53、使一個普通的網(wǎng)頁通過添加CSS規(guī)則從而得到美觀的網(wǎng)頁[9],同時還可以通過添加不同的CSS規(guī)則,不需要改變HTML就可以改變整個網(wǎng)頁的整體布局,減少工作量。</p><p> 使用DW+CSS布局的優(yōu)勢的體現(xiàn):</p><p> (l)頁面樣式調(diào)整更方便:這樣更加方便維護,只需改變幾個CSS文件即可將網(wǎng)站的樣式進行調(diào)整。使得修改頁面的時候更加省時、方便,如果對部分布局進行修改,也不會破
54、壞頁面其他部分的布局樣式。</p><p> (2)頁面容量小,代碼簡潔:這樣可以提高瀏覽頁面的速度,同時也提高了搜索引擎對網(wǎng)頁內(nèi)容的搜索。</p><p> (3)符合W3C標準:這樣就保證了網(wǎng)絡(luò)應(yīng)用升級但網(wǎng)站不會被淘汰。</p><p> (4)支持瀏覽器向后兼容。</p><p><b> 第3章 系統(tǒng)分析</b
55、></p><p><b> 3.1 需求分析</b></p><p><b> 1. 可用性 </b></p><p> 微博系統(tǒng)應(yīng)對所有使用用戶提供及時的服務(wù)。系統(tǒng)應(yīng)保證對24小時運作的客服系統(tǒng)的服務(wù),系統(tǒng)維護時間應(yīng)計劃在服務(wù)的最低峰時間;讓用戶盡快地得到需要的信息,頁面具有一致的使用風格,對用戶可能出錯的
56、地方有預(yù)先的分析與防范,使用戶得到較好的用戶體驗。 </p><p><b> 2. 響應(yīng)時間 </b></p><p> 進行數(shù)據(jù)查詢時,當處于系統(tǒng)使用高峰期時應(yīng)保證系統(tǒng)具有對95%的數(shù)據(jù)交互查詢,更新提供3秒或更短響應(yīng)時間的支持,當處于系統(tǒng)使用低峰期時應(yīng)保證系統(tǒng)具有對95%的數(shù)據(jù)交互查詢,更新提供2秒或更短響應(yīng)時間的支持[10]。當進行數(shù)據(jù)添加、更新時,系統(tǒng)內(nèi)
57、部應(yīng)提供對請求處理的來源及響應(yīng)時間的監(jiān)控機制。系統(tǒng)響應(yīng)時間因不同外部數(shù)據(jù)源和使用系統(tǒng)的通訊和接口情況而有所差異。 </p><p><b> 3. 可靠性 </b></p><p> 微博系統(tǒng)不應(yīng)在正常操作中丟失數(shù)據(jù),當用戶正在使用系統(tǒng)時,系統(tǒng)不應(yīng)癱瘓,應(yīng)能夠保證在線用戶及時得到關(guān)注對象發(fā)布信息的推送,保證編碼、語言正確,用戶關(guān)注關(guān)系不混亂。 </p>
58、;<p><b> 4. 易于使用性 </b></p><p> 微博系統(tǒng)應(yīng)有操作故障排除手冊來幫助系統(tǒng)管理人員來快速解決系統(tǒng)問題。系統(tǒng)的管理和操作界面應(yīng)易于使用。對95%的數(shù)據(jù)交互查詢,更新提供2秒或更短響應(yīng)時間的支持[10]。當進行數(shù)據(jù)添加、更新時,系統(tǒng)內(nèi)部應(yīng)提供對請求處理的來源及響應(yīng)時間的監(jiān)控機制。系統(tǒng)響應(yīng)時間因不同外部數(shù)據(jù)源和使用系統(tǒng)的通訊和接口情況而有所差異。 &
59、lt;/p><p><b> 3. 可靠性 </b></p><p> 微博系統(tǒng)不應(yīng)在正常操作中丟失數(shù)據(jù),當用戶正在使用系統(tǒng)時,系統(tǒng)不應(yīng)癱瘓,應(yīng)能夠保證在線用戶及時得到關(guān)注對象發(fā)布信息的推送,保證編碼、語言正確,用戶關(guān)注關(guān)系不混亂。 </p><p><b> 4. 易于使用性 </b></p><
60、p> 微博系統(tǒng)應(yīng)有操作故障排除手冊來幫助系統(tǒng)管理人員來快速解決系統(tǒng)問題。系統(tǒng)的管理和操作界面應(yīng)易于使用。 </p><p><b> 5. 可擴展性 </b></p><p> 系統(tǒng)建設(shè)不僅要著眼于現(xiàn)在,而且要放眼未來,因此系統(tǒng)建設(shè)不僅要滿足現(xiàn)在的要求,而且要具有向未來技術(shù)平滑過渡的能力。即:該系統(tǒng)的建立一定要具備良好的可擴展性,當信息量上升、網(wǎng)絡(luò)規(guī)模擴大
61、時,可方便地將服務(wù)器及其他設(shè)備進行升級服務(wù),滿足日益增長的業(yè)務(wù)需求,最大限度保護投資。 </p><p> 6. 備份和災(zāi)難的及時恢復(fù) </p><p> 微博系統(tǒng)應(yīng)每天對所有運作相關(guān)的數(shù)據(jù)進行備份,以及備份的微博系統(tǒng),防止運行系統(tǒng)癱瘓時能及時使用備份數(shù)據(jù)庫重新提供系統(tǒng)的服務(wù)。</p><p><b> 3.2 系統(tǒng)目標 </b><
62、/p><p> 本文是針對目前國內(nèi)主流微博產(chǎn)品所具備的主要特點和功能進行設(shè)計,具有對微博、話題、群組、好友等完整的功能,應(yīng)具備如下特點: </p><p> 1. 完備的系統(tǒng)功能 </p><p> 本系統(tǒng)是一個功能完備的微博網(wǎng)站,可用于建站運行,也可在此基礎(chǔ)上方便地進行二次開發(fā)。 </p><p> 2. 靈活的系統(tǒng)設(shè)置 </p
63、><p> 系統(tǒng)管理員可以根據(jù)需要,對于系統(tǒng)靈活地進行各種配置,例如開閉用戶注冊、過渡關(guān)鍵詞、系統(tǒng)名稱等,方便建站。 </p><p> 3. 個性的個人管理 </p><p> 用戶不僅可以設(shè)置昵稱、性別、頭像等基本信息,而且可以修改個人基本信息和詳細信息。 </p><p> 根據(jù)本文應(yīng)具備的特點,現(xiàn)提出主要目標如下: </p
64、><p> 1. 實現(xiàn)基礎(chǔ)功能,便于二次開發(fā)。任何一款互聯(lián)網(wǎng)產(chǎn)品都有特定應(yīng)用領(lǐng)域,特定用戶群體及其需求。而本系統(tǒng)的定位于實現(xiàn)目前多數(shù)微博系統(tǒng)所具備的基本功能,并使其框架結(jié)構(gòu)具備靈活、易用性、擴展性等特點,以便其它用戶在此基礎(chǔ)上針對具體應(yīng)用進行二次開發(fā)。 </p><p> 2. 博文應(yīng)具備多媒體形式,含文字、圖片、表情等。微博的主要特點之一在于其具有“平民化”的特點,因而博文需要承載豐富的
65、內(nèi)容。這便要求對于博文的信息呈現(xiàn)具有多樣的形式。所以除了文字以外,還需要有圖片等多媒體呈現(xiàn)形式,和表情、分享等為滿足“娛樂化”的功能。 </p><p> 3. 本系統(tǒng)應(yīng)該具備向用戶推薦好友、博文、話題等功能。當新用戶注冊登錄后,需要有人性化的引導過程,其中應(yīng)當包括推薦好友功能。另外,推薦好友、博文、話題等,應(yīng)當放到系統(tǒng)醒目位置,以便更加人性地服務(wù)用戶,增加用戶體驗。 </p><p>
66、 4. 本系統(tǒng)提供關(guān)注好友功能以及群組功能。微博平臺主要以廣播用戶消息為主,故采用單向關(guān)注即允許在未經(jīng)被關(guān)注者同意之下對其關(guān)注。而群組功能,則類似于討論組,由管理員針對某一特定關(guān)系群體創(chuàng)建,可由用戶對群組廣播消息,其它用戶可查看群組消息。 </p><p> 5. 用戶提供對博文多種多樣的操作。當關(guān)注者對于某條博文非常感興趣或觀點而希望能夠表達其想法時,本系統(tǒng)應(yīng)當提供一些簡單、便捷的使用方式,系統(tǒng)并可據(jù)此從
67、而決定推薦關(guān)注度非常高的博文給所有用戶。 </p><p> 6. 允許用戶就某一話題發(fā)表相關(guān)博文。由于博文限定140字,內(nèi)容雖小,但數(shù)據(jù)量非常大,難以形成針對某一話題的相關(guān)應(yīng)用。故需提供話題功能,以便系統(tǒng)對博文進行良好的組織,并從而為用戶提供話題搜索等相關(guān)功能。</p><p><b> 第4章 系統(tǒng)設(shè)計</b></p><p> 4.
68、1 總體功能設(shè)計</p><p> 本系統(tǒng)設(shè)計主要圍繞著用戶體驗的良好性,和網(wǎng)絡(luò)數(shù)據(jù)的輕便性開展。</p><p> 圖4.1微博系統(tǒng)總體功能示意圖</p><p> 系統(tǒng)主要功能模塊有:</p><p> 零級頁面:登錄頁面和注冊頁面</p><p><b> 一級頁面:</b><
69、;/p><p> 微博首頁:顯示關(guān)注對象的微博日志更新以及最新的評論和回復(fù),顯示自己的關(guān)注人數(shù)量,顯示新私信,顯示操作按鈕與其他頁面的鏈接。</p><p><b> 二級頁面:</b></p><p> 個人首頁:可以更改個人信息,包括頭像修改,密碼修改,昵稱、郵箱、性別、院系、社團、籍貫等個人信息的修改。</p><p
70、> 微博發(fā)布:發(fā)布頁面可以發(fā)表微博和日志。</p><p> 好友管理:用戶可以對自己感興趣的人加關(guān)注,查看自己的關(guān)注對象以及關(guān)注自己的人,可以針對專業(yè)、社團、地區(qū)等條件篩選用戶。</p><p> 相冊管理:通過相冊管理可以上傳、查看、下載、刪除圖片。</p><p> 站內(nèi)私信:相當于郵箱功能,可以管理收件箱、發(fā)件箱,可以發(fā)送私信、接受私信,可以從
71、關(guān)注人列表添加收信人。</p><p><b> 三級頁面:</b></p><p> 評論與回復(fù):用戶可以對自己感興趣的微博日志進行評論,對評論可以進行回復(fù)。</p><p> 4.2 系統(tǒng)模塊功能詳細設(shè)計</p><p> 功能模塊獨立的概念是功能模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。</p&g
72、t;<p> 抽象是指對事物、狀態(tài)或過程之間所存在的某些相似的方面集中和概括起來,暫時忽略他們之間的差異,即考慮抽象事物的本質(zhì)特征而暫時不考慮他們的細節(jié)。信息隱蔽是指再設(shè)計功能模塊時使得一個功能模塊內(nèi)所包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的功能模塊來說是不能訪問的[11]。信息隱蔽原則對于以后在軟件維護期間修改軟件時會帶來極大的好處,因為大量數(shù)據(jù)和過程是軟件的其他部分所不能覺察的,因此再對某個功能模塊修改時就不大
73、會影響到軟件的其他部分,所謂局部化是指把一些關(guān)系密切的軟件兀素在物理位置上彼此靠近。</p><p> 功能模塊獨立性好的軟件接口簡單,易十編制,獨立的功能模塊也比較容易測試和維護,限制了功能模塊之間由十聯(lián)系緊密而引起的修改副作用。獨立性是保證軟件質(zhì)量的重要因素。</p><p> 4.2.1登錄注冊模塊</p><p><b> 1. 注冊 <
74、;/b></p><p> 對于初次使用微博系統(tǒng)的用戶,在用戶數(shù)據(jù)庫中無該用戶的信息。用戶注冊功能,是該微博系統(tǒng)的最初始的功能。管理員通過用戶注冊功能,數(shù)據(jù)庫中登記用戶信息,在數(shù)據(jù)庫中有注冊信息的用戶才允許使用微博系統(tǒng)進行使用。</p><p> 用戶注冊時,包括注冊登錄賬號和用戶密碼兩項信息。其中所鍵入的用戶名需要在檢索數(shù)據(jù)庫相應(yīng)表數(shù)據(jù)后進行提示是否可用,保證用戶名的唯一性。&
75、lt;/p><p><b> 2. 登錄 </b></p><p> 登錄主要功能是驗證用戶身份并登錄系統(tǒng)。登錄系統(tǒng)時,若為已注冊用戶,則輸入登錄名、密碼和驗證碼并提交,系統(tǒng)進行數(shù)據(jù)校驗。若其驗證碼輸入正確且登錄名和密碼同數(shù)據(jù)庫中的一致,則進入個人主頁。若不一致,則提示錯誤原因,提示用戶檢查登錄名和密碼或驗證碼錯誤,重新登錄。若用戶沒有注冊,則需完成填寫新用戶的相關(guān)資
76、料,完成用戶注冊后再進行登錄。</p><p> 圖4.2三微博系統(tǒng)用戶登錄流程圖</p><p> 4.2.2登錄后首頁模塊</p><p><b> 1.用戶微博發(fā)表</b></p><p> 對于已經(jīng)登錄的用戶,可以發(fā)表自己的微博消息,這個消息出現(xiàn)在自己的微博消息記錄中,關(guān)注該用戶的用戶消息中,隨機到打聽中
77、。</p><p><b> 2.用戶微博評論</b></p><p> 對于已經(jīng)登錄的用戶,可以對其他用戶的微博消息進行評論,也可以對其他用戶對自己的評論進行評論。</p><p><b> 3.用戶微博轉(zhuǎn)發(fā)</b></p><p> 對于已經(jīng)登錄的用戶,可以對其他用戶的微博消息進行轉(zhuǎn)發(fā)。
78、</p><p> 4.2.3個人微博信息模塊</p><p> 管理用戶信息主要功能是維護用戶相關(guān)的信息。在管理用戶信息模塊中,分</p><p> 為基本信息、頭像設(shè)置、推薦自己等三個子模塊?;拘畔⒛K用于對用戶昵稱、性別和自我介紹等信息的顯示與維護,其中自我介紹限定140字,用戶昵稱限定10個字以內(nèi)的數(shù)字、字母和漢字的組合。頭像設(shè)置用于上傳并修改用戶頭
79、像。系統(tǒng)將用戶放置到查找好友模塊的推薦好友中。</p><p><b> 4.2.4微博模塊</b></p><p> 微博模塊是整個系統(tǒng)的核心,主要有發(fā)送功能、存儲功能、修改刪除功能、引用其它資源功能。</p><p> 1.微博消息的發(fā)布功能。新建一條微博,并將微博發(fā)送到服務(wù)器上,所有關(guān)注的用戶都能夠即時收聽到這條微博信息。一條微博的
80、總字數(shù)不能超過140個字符。如果超過了140個字符,系統(tǒng)將不允許用戶繼續(xù)輸入。</p><p> 2.微博消息的存儲功能。用戶的所有微博話題將會永久保存在系統(tǒng)的服務(wù)器上。系統(tǒng)會滾動顯示最近的微博信息。</p><p> 3.微博消息的修改與刪除功能。用戶發(fā)送微博話題后,可以對這個話題進行編輯,如修改和刪除等。修改時,字符總數(shù)不能超過系統(tǒng)允許的140個字符。</p><
81、;p> 4.微博消息的引用其他資源功能。微博可以包含其它資源信息,比如圖片、視頻、系統(tǒng)會在其它資源表中保存資源信息,在微博正文的表中,只保存這些資源的鏈接。</p><p> 圖4.3微博模塊結(jié)構(gòu)功能圖</p><p> 4.2.5好友管理模塊</p><p> 圖4.4 好友管理模塊結(jié)構(gòu)功能圖</p><p> 關(guān)注模塊,展
82、現(xiàn)了用戶和用戶之間的關(guān)系。在系統(tǒng)中,有關(guān)注者和被關(guān)注者兩種用戶狀態(tài)。關(guān)注模塊,主要的功能是關(guān)注、分類、取消關(guān)注等功能。</p><p> 1.關(guān)注功能,提供用戶的關(guān)注行為。用戶在使用系統(tǒng)的過程中,可以關(guān)注某用戶,或者關(guān)注某群。用戶在注冊的時候,默認關(guān)注了所在的院校。關(guān)注好友功能向用戶提供對其它用戶進行關(guān)注其微博動態(tài)的功能,被關(guān)注者的微博信息將顯示在關(guān)注者的最新博文以及好友博文中。 </p><
83、;p> 2.分類,在自己所關(guān)注的用戶中,可以將所關(guān)注的用戶進行分類。以及管理分類。</p><p> 3.取消關(guān)注,指取消關(guān)注某用戶,即不再收聽該用戶的微博話題。</p><p> 4.2.6博文管理模塊</p><p> 管理博文主要功能是向用戶提供對博文進行的各種相關(guān)操作。在管理博文中,分為發(fā)表博文、刪除博文、評論博文、評價博文等五項功能。其中,發(fā)
84、表微</p><p> 博功能用于已登錄用戶發(fā)表微博其中微博可含有表情、分享、圖片、話題等內(nèi)</p><p> 容。評論博文功能用于已登錄用戶對博文進行評論。</p><p> 4.3 數(shù)據(jù)庫設(shè)計</p><p> 信息的數(shù)量越來越大,數(shù)據(jù)庫的作用越發(fā)突出,所以數(shù)據(jù)庫的建立是系統(tǒng)實施的主要部分之一。它關(guān)系到整個系統(tǒng)的運行情況,是整
85、個系統(tǒng)的重要組成部分。信息管理系統(tǒng)離不開數(shù)據(jù)庫,它保存系統(tǒng)用到的數(shù)據(jù)。數(shù)據(jù)庫只是一個容器,它是數(shù)據(jù)表的集合。數(shù)據(jù)庫一經(jīng)創(chuàng)建,用戶就可以在數(shù)據(jù)庫中創(chuàng)建應(yīng)用系統(tǒng)制作所需要的數(shù)據(jù)表。本系統(tǒng)所用數(shù)據(jù)庫為My SQL,數(shù)據(jù)庫名為weblog。共7張表,包括用戶信息表user,關(guān)注關(guān)系表follow,用戶私信表message,用戶相冊表image,微博日志內(nèi)容(主題列表)表mood,評論內(nèi)容表comment,回復(fù)內(nèi)容表response等。</
86、p><p><b> 4.3.1數(shù)據(jù)字典</b></p><p> 微博系統(tǒng)需要管理的內(nèi)容包括用戶、微博、評論、回復(fù)、好友關(guān)系等微博系統(tǒng)信息,通過對微博內(nèi)容的分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下:</p><p> ?。?)用戶信息:包括的數(shù)據(jù)項有系統(tǒng)編號、昵稱、密碼、頭像、性別,所在地,個人說明等。</p><p> (
87、2)照片信息:包括的數(shù)據(jù)項有照片編號、照片路徑、添加時間、照片描述。</p><p> ?。?)評論信息:包括評論編號、用戶編號、添加時間、評論內(nèi)容。 </p><p> ?。?)關(guān)注用戶信息:包括的數(shù)據(jù)項有系統(tǒng)編號、用戶編號、微博內(nèi)容、用戶類型和發(fā)布時間。
88、</p><p> ?。?)微博消息:包括的數(shù)據(jù)項有系統(tǒng)編號、發(fā)布用戶編號、發(fā)布時間和發(fā)布的微博內(nèi)容。</p><p> 針對以上數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項,數(shù)據(jù)字典的詳細設(shè)計如下:</p><p><b> 用戶信息</b></p><p> 表4-1用戶信息設(shè)計表</p><p> 含義說明:描
89、述用戶的性質(zhì)、用戶信息。</p><p><b> 2.博文日志</b></p><p> 表4-2微博日志設(shè)計表</p><p> 含義說明:描述微博日志的內(nèi)容與性質(zhì)。</p><p> 備注:whos是user的外鍵。</p><p><b> 關(guān)注關(guān)系</b>
90、</p><p> 表4-3關(guān)注關(guān)系設(shè)計表</p><p> 含義說明:描述關(guān)注者與被關(guān)注者之間的關(guān)系。</p><p> 備注:followe和follower 是user表的外鍵。</p><p><b> 評論內(nèi)容</b></p><p> 表4-4評論內(nèi)容設(shè)計表</p>
91、;<p><b> 回復(fù)內(nèi)容</b></p><p> 表4-5回復(fù)內(nèi)容設(shè)計表</p><p><b> 用戶相冊</b></p><p> 表4-5用戶相冊設(shè)計表</p><p><b> 用戶私信</b></p><p>
92、表4-6用戶私信設(shè)計表</p><p> 關(guān)注者微博列表(視圖)</p><p> 表4-7關(guān)注者微博列表設(shè)計表</p><p> 說明:首頁需要顯示已關(guān)注對象的最新微博、頭像及評論等信息,信息分布在不同的表中,需要各表遞進查找,建立視圖使查詢更加有效率更加方便。</p><p> 4.3.2 數(shù)據(jù)庫實體關(guān)系 </p>
93、<p> 本數(shù)據(jù)庫根據(jù)上面的設(shè)計規(guī)劃出的實體有:用戶實體(包括關(guān)注用戶實體)、評論實體、回復(fù)實體、微博消息實體、相冊實體、私信實體等。各個主要實體具有的描述E-R圖及其之間的關(guān)系描述如下。</p><p> 圖4.5數(shù)據(jù)庫ER圖</p><p> 由于其他實體屬性較為簡單,現(xiàn)只列出用戶實體與微博實體屬性。</p><p> 4.3.3 數(shù)據(jù)庫模型&
94、lt;/p><p> 在數(shù)據(jù)庫信息特點的基礎(chǔ)上可以得到數(shù)據(jù)庫模型圖,以便于編碼實現(xiàn):</p><p> 圖4.6 數(shù)據(jù)庫模型圖</p><p> 4.4 數(shù)據(jù)流程設(shè)計</p><p> 數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程[12],由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。
95、它描述信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。</p><p> 本系統(tǒng)的核心流程是用戶用自己的用戶名與密碼登錄微博系統(tǒng),系統(tǒng)將登錄頁傳來的用戶名和密碼與user表中的關(guān)鍵字進行比對,如果比對成功則進入微博主頁面,若不成功跳轉(zhuǎn)到注冊頁面。進入主頁面根據(jù)頁面?zhèn)髦怠坝脩鬷d”在follow表中獲取關(guān)注人列表,進而獲取關(guān)注人最新微博以及最新的評論與回復(fù),形成關(guān)注人微博列表在主頁面進行顯示。</p>
96、;<p> 下圖刻畫了本系統(tǒng)的詳細數(shù)據(jù)流程設(shè)計:</p><p> 圖4.7 系統(tǒng)數(shù)據(jù)流程圖</p><p> 注:方框表示外部實體,橢圓表示數(shù)據(jù)處理,雙橫線表示數(shù)據(jù)庫,箭頭表示數(shù)據(jù)流動方向。</p><p> 4.5 人機界面設(shè)計</p><p> 人機界面設(shè)計要求如下:</p><p>
97、采用符合網(wǎng)絡(luò)用戶登錄習慣設(shè)計UI,并增加系統(tǒng)記錄賬戶功能以達到方便快速登錄和注冊的目的,在開始就給用戶清晰爽快的操作體驗。</p><p> 登錄后首頁來到用戶自己和所關(guān)注的用戶的微博列表頁面,有快捷發(fā)送微博的輸入框,很方便的輸入新的微博信息并發(fā)布</p><p> 系統(tǒng)個人微博信息模塊,此模塊可以顯示個人信息及修改完善個人信息。</p><p> 話題模塊頁
98、面包括發(fā)表話題博文、瀏覽話題列表、瀏覽話題博文、對感興趣的博文進行評論,發(fā)布者對評論進行回復(fù)。 </p><p> 通過用戶好友管理頁面用戶可以對其他用戶添加關(guān)注,查看其他用戶對自己的關(guān)注量,管理好友名單。屬于互動性模塊設(shè)計。</p><p> 相冊頁面要求圖片展示不失真,圖片切換流暢,上傳、刪除、下載按鈕明顯易操作。</p><p><b> 第5
99、章 編碼實現(xiàn)</b></p><p><b> 5.1系統(tǒng)運行環(huán)境</b></p><p> 硬件環(huán)境如表5-1所示:</p><p> 表 0-1 硬件環(huán)境</p><p> 軟件環(huán)境如表5-2所示:</p><p> 表 0-2 軟件環(huán)境</p><p
100、> 5.2 數(shù)據(jù)庫建設(shè)</p><p> 數(shù)據(jù)庫建設(shè)可采用MySQL的可視化界面操作,也可用SQL語言進行操作。</p><p> 5.2.1 數(shù)據(jù)庫的建立</p><p> 運用PHPMyAdmin在MySQL數(shù)據(jù)庫中建立weblog表:</p><p> CREATE DATABASE 'weblog'
101、; </p><p> 5.2.2 數(shù)據(jù)庫表的建立</p><p> 根據(jù)數(shù)據(jù)庫模型圖在數(shù)據(jù)庫weblog中建立各表:</p><p> 例.user表的建立</p><p> DROP TABLE IF EXISTS 'user';</p><p> CREATE TABLE 'us
102、er' (</p><p> ‘id' int(10) unsigned NOT NULL auto_increment,</p><p> 'username' varchar(40) NOT NULL,</p><p> 'userpwd' varchar(40) NOT NULL,</p>&
103、lt;p> 'sex' varchar(40) NOT NULL,</p><p> 'nickname' varchar(40) NOT NULL default '無名氏',</p><p> 'avatar' varchar(60) NOT NULL,</p><p> 's
104、ignature' varchar(300) NOT NULL,</p><p> 'age' int(11) NOT NULL,</p><p> 'email' varchar(60) NOT NULL,</p><p> 'corporation' varchar(500) NOT NULL,<
105、;/p><p> 'address' varchar(60) NOT NULL,</p><p> 'natives' varchar(40) NOT NULL,</p><p> 'college' varchar(40) NOT NULL,</p><p> 'registtim
106、e' datetime NOT NULL,</p><p> 'lasttime' datetime NOT NULL,</p><p> PRIMARY KEY ('id')</p><p> ) ENGINE=MyISAM AUTO_INCREMENT=132 DEFAULT CHARSET=utf8;</p
107、><p> 運用同樣的方法在weblog數(shù)據(jù)庫中建立其他各表。</p><p> 5.2.3 視圖的建立</p><p> 根據(jù)前文數(shù)據(jù)庫設(shè)計,需要建立關(guān)注人的微博列表potlet視圖,建立方法如下:</p><p> DROP VIEW IF EXISTS 'potlet';</p><p>
108、CREATE ALGORITHM=UNDEFINED DEFINER='root'@'localhost' </p><p> SQL SECURITY DEFINER VIEW </p><p> 'potlet' AS select 'user1'.'id' AS 'id',</p
109、><p> 'user2'.'id' AS 'followedid',</p><p> 'user2'.'avatar' AS 'avatar',</p><p> 'follow'.'remark' AS 'remark
110、9;,</p><p> 'mood'.'id' AS 'moodid' </p><p> from ((('user' 'user1' join 'user' 'user2') join 'follow') join 'mood') <
111、;/p><p> where (('user1'.'id' = 'follow'.'following') and ('user2'.'id' = 'follow'.'followed') and('mood'.'whos' = 'follow
112、9;.'followed'));</p><p> 至此,數(shù)據(jù)庫的建設(shè)工作完成。</p><p><b> 5.3 數(shù)據(jù)操作</b></p><p> 數(shù)據(jù)庫生成后,要實現(xiàn)基于Web數(shù)據(jù)庫的連接和查詢,需要用到六個函數(shù):數(shù)據(jù)庫的連接與使用、送出一個字串、取得傳回列的數(shù)目、傳回陣列資料、關(guān)閉與MySQL數(shù)據(jù)庫的連接。<
113、;/p><p> 在PHP中提供了三個函數(shù)可以給瀏覽器發(fā)送文木,它們分別是:echo, print.和printf,在本次設(shè)計中,利用了echo函數(shù)向瀏覽器發(fā)送文木。</p><p> HTMIL提供了幾種通過表單從用戶獲取信息的力一法,包括文木、按鈕和選擇列表等。文件的上傳是得到表單輸入的一種特定情況,表單必須采用POST行式,本次設(shè)計上傳照片時用到了PHP中的文件上傳功能。</p
114、><p> 本系統(tǒng)采用了基于數(shù)據(jù)庫的認證力一式,用戶登錄時,先將用戶名和密碼提交數(shù)據(jù)庫進行驗證,如果信息無誤,則用戶登求成功。</p><p> 數(shù)據(jù)庫操作時,MySQL使用工NSERT語句實現(xiàn)向表中增加記求的操作,使用UPDATE命令來改變一個表中的一行或多行。</p><p> Web服務(wù)器以緩沖形式將內(nèi)容傳向瀏覽器,可以要求緩沖區(qū)被刷新。PHP用一種新的力一
115、法實現(xiàn)了對緩沖輸入的控制,木系統(tǒng)調(diào)用ob_ stat ( )函數(shù),在用到頁面重新定向的程序中使用此函數(shù),可以避免瀏覽器在傳送內(nèi)容后又傳送報頭錯誤。</p><p> Session中文譯成“會話”,它是用戶訪問某個Web網(wǎng)站或應(yīng)用程序的過程,它具有存儲功能,可以在頁Ifll之間進行參數(shù)的傳遞[12]。session在工作時要做兩件事情:session跟蹤,判斷兩個不同的腳木調(diào)用是否源于同一用戶;存儲信息,將和s
116、ession有關(guān)的信息存儲在服務(wù)器的特定位置上。</p><p> 本系統(tǒng)使用session_ start( )函數(shù)來開始一個新的session,并作為標準的全局變量使用。使用一個session變量時,首先要用session_ register()函數(shù)進行注冊;刪除一個session變量,使用session unregister()函數(shù)進行操作,這個變量的作用域?qū)⒔Y(jié)束。</p><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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php的crm系統(tǒng)設(shè)計與實現(xiàn)[畢業(yè)論文]
- 基于php的crm系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- [vb畢設(shè)]畢業(yè)論文管理系統(tǒng)
- 基于php的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 基于php的圖片共享系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文——微博系統(tǒng)
- 畢業(yè)論文——微博系統(tǒng)
- 微博系統(tǒng)畢業(yè)論文
- 基于php的團購網(wǎng)站的設(shè)計與實現(xiàn)【畢業(yè)論文】
- [delphi畢設(shè)]教學信息管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文+源代碼
- 基于php的電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計與實現(xiàn)——畢業(yè)論文
- 基于php的電子商務(wù)網(wǎng)站系統(tǒng)設(shè)計與實現(xiàn)——畢業(yè)論文
- 基于內(nèi)容的微博推薦系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文---基于php+mysql的新聞發(fā)布系統(tǒng)的設(shè)計與實現(xiàn)
- 基于php的醫(yī)務(wù)人事管理系統(tǒng)的設(shè)計與實現(xiàn)【畢業(yè)論文】
- 畢業(yè)論文-基于php+mysql的學生選課系統(tǒng)的設(shè)計與實現(xiàn)
- 基于php的手機商城網(wǎng)站的設(shè)計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文---微博信息抓取系統(tǒng)
- 基于php的招生咨詢網(wǎng)站的設(shè)計與實現(xiàn)畢業(yè)論文
- 企業(yè)法務(wù)系統(tǒng)的設(shè)計與實現(xiàn)---畢設(shè)論文
評論
0/150
提交評論