2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本 科 生 畢 業(yè) 論 文</p><p>  題 目:基于web 2.0的大學(xué)城活動信息共享系統(tǒng)</p><p>  院 系: 軟件學(xué)院 </p><p>  專 業(yè): 軟件工程(電子政務(wù))</p><p>  學(xué)生姓名: 朱君梅 </p&g

2、t;<p>  學(xué) 號: 11331447 </p><p>  指導(dǎo)教師: 路永和(副教授) </p><p><b>  二〇一五年 三 月</b></p><p>  畢業(yè)論文(設(shè)計)開題報告</p><p>  附表二、畢業(yè)論文過程檢查情況記錄表</p&g

3、t;<p>  附表三、畢業(yè)論文答辯情況</p><p><b>  學(xué)術(shù)誠信聲明</b></p><p>  本人所呈交的畢業(yè)論文,是在導(dǎo)師的指導(dǎo)下,獨立進行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料均真實可靠。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他人或集體已經(jīng)發(fā)表或撰寫過的作品或成果。對本論文的研究作出重要貢獻的個人和集體,均已在文中以明確的

4、方式標明。本畢業(yè)論文的知識產(chǎn)權(quán)歸屬于培養(yǎng)單位。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。</p><p>  本人簽名:朱君梅 日期:2015年4月6日 </p><p><b>  摘 要</b></p><p>  大學(xué)城是許多所大學(xué)集中進行資源共享的地方,就廣州大學(xué)城而言,在十

5、年間,廣州大學(xué)城的校際交流變得日漸豐富,隨著互聯(lián)網(wǎng)的發(fā)展,這種校際交流變得多元化,校際活動的可行性也越來越大,但校際活動的宣傳渠道卻比較缺乏。“IslandClub”大學(xué)城活動信息共享系統(tǒng)是基于web 2.0開發(fā)的,web 2.0以去中心化、開放、共享為顯著特征。針對大學(xué)城社團活動的情況,本系統(tǒng)提供了一個良好的信息發(fā)布、資源共享、信息匯總的平臺。本系統(tǒng)實現(xiàn)了以用戶為中心的設(shè)計,整合了社團與學(xué)生,學(xué)生可以根據(jù)自己的喜好加入、關(guān)注社團及報名

6、、收藏活動,社團可以通過這個系統(tǒng)來宣傳活動信息,實現(xiàn)學(xué)生與社團之間的雙向交流。系統(tǒng)的主要功能有:發(fā)布活動、報名參加活動、收藏活動、關(guān)注社團、加入社團等。</p><p>  本系統(tǒng)是根據(jù)面向?qū)ο蠓治龊驮O(shè)計的思想進行分析設(shè)計開發(fā)的。本系統(tǒng)采用MVC設(shè)計模式和UML建模工具進行設(shè)計,利用PHP動態(tài)網(wǎng)頁開發(fā)語言進行開發(fā),以MySql作為后臺數(shù)據(jù)庫,在WAMP集成開發(fā)環(huán)境下進行開發(fā),采用meekrodb第三方庫作為PHP

7、與數(shù)據(jù)庫的接口,h2o作PHP模板引擎,用bootstrap作為前端開發(fā)框架,同時使用AJAX創(chuàng)建快速動態(tài)網(wǎng)頁技術(shù)來實現(xiàn)系統(tǒng)中關(guān)注、加入和報名、收藏功能。目前本系統(tǒng)搭建在新浪云平臺上進行試用。本文分7個部分,第一部分介紹了系統(tǒng)開發(fā)的背景意義、現(xiàn)狀分析、目標范圍;第二部分介紹了系統(tǒng)開發(fā)所涉及的技術(shù)原理;第三部分介紹了系統(tǒng)的需求建模;第四部分介紹了系統(tǒng)主要模塊的設(shè)計;第五部分介紹了接口和部分模塊的實現(xiàn);第六部分介紹了系統(tǒng)的部署和應(yīng)用;第七部

8、分對本系統(tǒng)的開發(fā)設(shè)計進行了總結(jié)。</p><p>  關(guān)鍵詞:信息共享;web2.0;PHP;UML建模</p><p><b>  Abstract</b></p><p>  Higher Education Mega Center is the place that gathers many colleagues to share the

9、 resource, such as Guangzhou Higher Education Mega Center, the intercollegiate exchanges become more and more rich and colorful in Guangzhou Higher Education Mega Center in the past 10 years, with the development of the

10、Internet, the intercollegiate exchanges become pluralistic and the feasibility of the interscholastic activities is also growing. But the publicity channels of interscholastic activities is rather </p><p>  

11、This system is based on the object-oriented analysis and design method to be analyzed, designed and developed. This system is based on the MVC design patterns and UML modeling tools, and developed using the PHP dynamic w

12、eb development language, and using the MySQL database as the background database, and developed in the WAMP integrated development environment, and implemented MeekroDB, the third-party library to be the interface betwee

13、n PHP and the database, and using H2o as the PHP template en</p><p>  Keywords: information sharing; Web 2.0; PHP; UML modeling</p><p><b>  目 錄</b></p><p><b>  第

14、一章前言3</b></p><p>  1.1項目的背景和意義3</p><p>  1.2研究開發(fā)現(xiàn)狀分析3</p><p>  1.3項目的目標和范圍5</p><p>  1.4論文結(jié)構(gòu)簡介5</p><p>  第二章技術(shù)與原理7</p><p>  

15、2.1Web 2.0概述7</p><p>  2.2PHP服務(wù)器端技術(shù)8</p><p>  2.3MeekroDB技術(shù)8</p><p>  2.4 AJAX技術(shù)9</p><p>  第三章需求建模10</p><p>  3.1功能性需求分析10</p><p&g

16、t;  3.2系統(tǒng)用例11</p><p>  3.2.1系統(tǒng)用例圖11</p><p>  3.2.2系統(tǒng)用例表12</p><p>  3.3核心用例設(shè)計14</p><p>  3.3.1發(fā)布活動14</p><p>  3.3.2收藏活動16</p><p>  

17、3.3.3加入社團18</p><p>  3.4領(lǐng)域模型20</p><p>  第四章架構(gòu)設(shè)計22</p><p>  4.1系統(tǒng)架構(gòu)及原理22</p><p>  4.1.1RUP 4+1視圖方法22</p><p>  4.1.2邏輯視圖23</p><p>  

18、4.1.3開發(fā)視圖25</p><p>  4.1.4實施視圖26</p><p>  4.2業(yè)務(wù)用例的實現(xiàn)26</p><p>  4.2.1發(fā)布活動用例的實現(xiàn)26</p><p>  4.2.2報名活動用例的實現(xiàn)27</p><p>  4.2.3加入社團用例的實現(xiàn)28</p>

19、<p>  4.3數(shù)據(jù)庫設(shè)計29</p><p>  4.3.1E-R模型29</p><p>  4.3.2數(shù)據(jù)庫31</p><p>  第五章模塊設(shè)計34</p><p>  5.1接口說明34</p><p>  5.1.1./include/文件夾34</p>

20、<p>  5.1.2外部評論接口35</p><p>  5.2發(fā)布活動模塊設(shè)計36</p><p>  5.2.1頁面設(shè)計36</p><p>  5.2.2算法描述活動圖38</p><p>  5.2.3關(guān)鍵代碼展示39</p><p>  5.3查看活動模塊設(shè)計41</p&g

21、t;<p>  5.3.1界面設(shè)計41</p><p>  5.3.2算法描述活動圖42</p><p>  5.3.3關(guān)鍵代碼展示43</p><p>  第六章部署與應(yīng)用46</p><p>  6.1系統(tǒng)部署46</p><p>  6.1.1系統(tǒng)運行環(huán)境46</p>

22、<p>  6.1.2部署圖47</p><p>  6.2網(wǎng)頁界面展示50</p><p>  6.3搭建云平臺項目53</p><p><b>  第七章 結(jié)論55</b></p><p><b>  致謝56</b></p><p><

23、b>  參考文獻:57</b></p><p><b>  前言</b></p><p>  本章主要敘述了項目的背景意義、開發(fā)現(xiàn)狀分析、項目的目標和范圍,并且簡單介紹了論文的結(jié)構(gòu)。</p><p>  1.1項目的背景和意義</p><p>  20世紀40、50年代,隨著知識經(jīng)濟逐漸成為世界經(jīng)濟

24、競爭的主流,各國紛紛從立法、財政等方面主持創(chuàng)辦大型的大學(xué)城,一種新興的高等教育現(xiàn)象開始出現(xiàn)。在中國,大學(xué)城建設(shè)始于20世紀90年代,伴隨著城市用地的減少和大學(xué)擴展的需要,可以遇見將會有更多的大學(xué)進駐大學(xué)城。英國學(xué)者奧隆索(M.Auronsseau)在城市職能分類系統(tǒng)中首次提出了“大學(xué)城”的概念,“大學(xué)城是一個被大學(xué)影響并具有大學(xué)特征的大社區(qū)”。[1]美國學(xué)者貢普雷希特(Blake Gumprecht)則這樣定義,“大學(xué)城是由大學(xué)和大學(xué)所

25、創(chuàng)造的文化占主導(dǎo)地位的城鎮(zhèn)”。[2]文化之于大學(xué)城具有重要意義。大學(xué)城作為高校聚集地,城中人數(shù)達幾十萬甚至更多,形同一座中小型城市,依托于其文化教育服務(wù)功能而得以發(fā)展。以大學(xué)為界,外有社區(qū)文化,內(nèi)有校園文化,共同構(gòu)成了“城文化”。[3]以廣州大學(xué)城為例,廣州大學(xué)城規(guī)劃范圍約43.3平方公里,可容納學(xué)生18萬-20萬人,總?cè)丝谶_35萬-40萬人(包括村鎮(zhèn)人口),相當于一個中等規(guī)模的城市,估計總投資規(guī)模將達到200億-300億元。廣州大學(xué)城

26、現(xiàn)在進駐的高校有:中山大學(xué),華南理工大學(xué),華南師范大學(xué),廣東外語外貿(mào)</p><p>  “IslandClub”是基于web 2.0開發(fā)的,web 2.0以去中心化、開放、共享為顯著特征, “IslandClub”針對大學(xué)城社團活動的情況,提供了一個良好的信息發(fā)布、資源共享、信息匯總的平臺。本系統(tǒng)在實現(xiàn)了以用戶為中心的設(shè)計,整合社團與學(xué)生,學(xué)生可以根據(jù)自己的喜好關(guān)注、收藏社團及其活動,社團可以通過這個系統(tǒng)來發(fā)布

27、活動信息,實現(xiàn)學(xué)生與社團之間的雙向交流。系統(tǒng)的主要功能有:發(fā)布活動、報名參加活動、收藏社團、加入社團、關(guān)注社團活動等。</p><p>  1.2研究開發(fā)現(xiàn)狀分析</p><p>  目前網(wǎng)絡(luò)上主要的活動信息發(fā)布平臺主要有基于用戶興趣和所在城市發(fā)布活動的豆瓣同城,和基于校園內(nèi)部交流的校園BBS論壇。豆瓣同城是豆瓣網(wǎng)衍生出來的子頻道,是豆瓣網(wǎng)的有機組成部分,因此它繼承了豆瓣網(wǎng)的部分用戶群體

28、。其中豆瓣網(wǎng)擁有數(shù)以億萬計的擁躉,以書籍、電影、音樂為切入點和紐帶,致力于幫助都市青年發(fā)現(xiàn)生活中別樣的趣味豆瓣同城為城市青年打造了一個“藝術(shù)社區(qū)”,讓志同道合的人們擁有一個線上線下交流和推廣藝術(shù)展覽、戲劇演出的平臺。豆瓣同城是以城市為單元的網(wǎng)絡(luò)社區(qū),沒有自己獨立的域名,而是整合在豆瓣網(wǎng)的頁面內(nèi),同豆瓣讀書、電影、音樂、小組等并列,用戶可以在搜索引擎內(nèi)輸入“豆瓣同城”直接登錄。豆瓣同城頁面設(shè)計比較簡潔,由同城活動、主辦方和舞臺劇三個部分構(gòu)

29、成,用戶可以通過輸入活動名稱、地址、介紹等關(guān)鍵詞查找同城活動。當用戶鎖定某一同城活動之后,可以選擇標記“我感興趣”和“我要參加”按鈕,或者通過已給出的聯(lián)系方式和跟帖獲得更多信息,自由選擇是否參加線下活動。這一功能體現(xiàn)了新媒體的特點,即“交互式”和“個人化”。主辦方這一部分為用戶提供按主辦方檢索同城活動的服務(wù),更重要的是為普通用戶搭建了發(fā)起活動的平臺,任</p><p>  校園BBS論壇的活動專區(qū),BBS主要面向

30、的群體是校友,受眾面積比較小,在這樣的情況下,以校園為基準的校園 BBS 建立之后,是有機會在短時間內(nèi)就將本校的同學(xué)們都吸引過來,進行更加現(xiàn)實一點的信息交流交互的。因為BBS就是公告板系統(tǒng)的英文首字母的縮寫,所以早期BBS被認為是由有興趣的使用者組成的基于計算機通訊的交互式傳播系統(tǒng)。公告板的最基本的功能是:(1)閱讀文章(Read);(2)張貼文章(Post),用戶通過發(fā)布帖子相互討論,形成了討論的話題串(Thread)或者話題(Top

31、ic);(3)在線討論(Message&Talk);(4)聊天(chat);(5)收發(fā)電子郵件(Email)。在早期的BBS上,原有的信息量較少,用戶們主要是通過它來彼此交換信息;多年來,參與BBS管理的志愿者每天不停地將用戶交流中的精華信息積累并整理后,現(xiàn)在BBS本身就演變成為了一個海量、可信且便捷的信息源。隨著信息傳播的及時性和大眾的參與度不斷提高,BBS已經(jīng)不再是冷冷清清的公告欄,而是熙熙攘攘的演講廣場。[6]</p

32、><p>  將市場上最有代表性的兩個活動發(fā)布平臺作對比,可以看出它們優(yōu)點在于:(1)傳播主體的獨立性——每一個用戶都可以是一個傳播的參與者,通過線上交流,將活動的信息散布,通過線下互動,將自己對生活、藝術(shù)的理解傳播給他人;(2)興趣或者地域社交得到的強大口碑力量,豆瓣作為互聯(lián)網(wǎng)上具有影響力的社交平臺,而BBS也在校園里扮演一個重要的角色,因此在網(wǎng)站上發(fā)布活動信息的傳播更廣。但同時也有缺點,缺點在于這兩個網(wǎng)站的活動發(fā)

33、布網(wǎng)站只是其主網(wǎng)站的一個附屬頁面,對活動的展示未夠直觀和具體,而且用戶參與活動的發(fā)布比較繁瑣。</p><p>  因此在參考了兩大活動發(fā)布網(wǎng)站類型之后,本系統(tǒng)將專注于為大學(xué)城的學(xué)生和社團提供一個簡單易操作的活動信息共享平臺。</p><p>  1.3項目的目標和范圍</p><p>  本系統(tǒng)旨在為用戶提供一個信息發(fā)布、資源共享、信息匯總的平臺,瀏覽網(wǎng)頁的用戶

34、都能了解到大學(xué)城最近將要舉辦的活動,也能一覽大學(xué)城的活動。如果在網(wǎng)站上注冊,就能享受到更多個性化的功能。通過對大學(xué)城的學(xué)生的調(diào)查可知,由于學(xué)校對體育蓋章的硬性要求和有些公益活動提供加績點的額外獎勵,因此學(xué)生在選擇活動的時候也側(cè)重于關(guān)注活動是否能有體育章或者公益時數(shù)的獎勵,根據(jù)這個特殊的需求,在活動的展示中也將這方面的信息羅列出來,以便于學(xué)生根據(jù)自己的需求找到感興趣的活動。</p><p>  本系統(tǒng)允許用戶以游客

35、的身份瀏覽,游客均可獲取發(fā)布的活動和大學(xué)城社團的信息。系統(tǒng)注冊是無門檻的,注冊的用戶分為兩類,一類是社團,另一類是學(xué)生。如果用戶以社團身份注冊,該用戶可以發(fā)布活動;查看自己已發(fā)布的活動;查看社團成員及其信息;查看自己發(fā)布活動的報名人員及其信息,可以幫助社團預(yù)計開展活動的規(guī)模,以便于更好地控制活動場面。如果用戶以學(xué)生身份注冊,可以收藏或者參加活動,收藏活動則不會將自己的信息匯總到活動舉辦方,可以讓用戶有時間考慮是否需要參加該活動;可以收藏

36、或者加入社團,選擇收藏社團的學(xué)生的信息不會被統(tǒng)計匯總到社團,收藏和加入功能讓學(xué)生進行分類管理;可以查看自己參加活動的情況,如參加活動的次數(shù)、蓋章總數(shù)、績點總數(shù)、公益時數(shù)總數(shù),有助于學(xué)生進行接下來的活動選擇。</p><p>  1.4論文結(jié)構(gòu)簡介</p><p>  整篇論文將會分為七個章,分別是:前言、技術(shù)與原理、需求建模、架構(gòu)設(shè)計、模塊設(shè)計、部署與應(yīng)用、結(jié)論。</p>

37、<p>  第一章:前言。論述項目背景意義,研究分析開發(fā)現(xiàn)狀,制定開發(fā)的目標和范圍,整體上對項目進行描述。</p><p>  第二章,技術(shù)原理。介紹開發(fā)本系統(tǒng)所應(yīng)用的主要技術(shù)以及本系統(tǒng)采用這些技術(shù)的原因,包括web 2.0、PHP、meekroDB、AJAX技術(shù)。</p><p>  第三章,需求建模。首先對系統(tǒng)進行功能性需求分析,最后對三個核心用例進行了詳細的需求分析。<

38、;/p><p>  第四章,架構(gòu)設(shè)計。首先概述系統(tǒng)架構(gòu)及原理,選取三個核心用例的實現(xiàn)作設(shè)計和解釋,最后以E-R模型為基礎(chǔ),描述數(shù)據(jù)庫的設(shè)計。</p><p>  第五章,模塊設(shè)計,選取發(fā)布活動模塊和查看活動模塊的主要流程、算法和核心代碼作簡要介紹。</p><p>  第六章,部署與應(yīng)用,說明系統(tǒng)運行環(huán)境及其部署,再展示網(wǎng)頁的部分功能界面,最后展示搭建在新浪云平臺的系統(tǒng)

39、。</p><p>  第七章,結(jié)論,總結(jié)了項目的優(yōu)點、不足和將來改進方向。</p><p><b>  技術(shù)與原理</b></p><p>  本章介紹項目中用到的核心技術(shù),其中包括web 2.0、PHP服務(wù)器端技術(shù)、MeekroDB技術(shù)、AJAX技術(shù)。</p><p><b>  Web 2.0概述<

40、/b></p><p>  Web 2.0,指的是一個利用Web的平臺,由用戶主導(dǎo)而生成內(nèi)容的互聯(lián)網(wǎng)產(chǎn)品模式,為了區(qū)別傳統(tǒng)由網(wǎng)站雇員主導(dǎo)生成的內(nèi)容而定義為web2.0。[7]Web 2.0是一種新的互聯(lián)網(wǎng)方式,通過網(wǎng)絡(luò)應(yīng)用(Web Applications)促進網(wǎng)絡(luò)上人與人間的信息交換和協(xié)同合作,其模式更加以用戶為中心。典型的Web 2.0站點有:網(wǎng)絡(luò)社區(qū)、網(wǎng)絡(luò)應(yīng)用程序、社交網(wǎng)站、博客、Wiki等等。Web

41、 2.0的顯著特點是分享機制和去中心化,Digg機制為更多網(wǎng)絡(luò)用戶提供了參與網(wǎng)絡(luò)建設(shè)的機制,無需進行內(nèi)容貢獻或創(chuàng)作,只要用戶對網(wǎng)絡(luò)內(nèi)容進行評分或點評,即可參與到網(wǎng)絡(luò)內(nèi)容的建設(shè)過程當中。Web 2.0是一個架構(gòu)在知識上的環(huán)境,人與人之間交互而產(chǎn)生出的內(nèi)容,經(jīng)由在服務(wù)導(dǎo)向架構(gòu)中的程序,在這個環(huán)境被發(fā)布,管理和使用。[8]</p><p>  另一方面,其實早在1999年,著名的管理學(xué)者彼得·杜拉克(Pete

42、r F. Drucker)就曾指出當時的信息技術(shù)發(fā)展走錯了方向,因為真正推動社會進步的,是“Information Technology”里的“Information”,而不是“Technology”。如果僅僅著重技術(shù)層面而忽略了信息的話,就只是一具空的軀殼,不能使社會增值。而Web 2.0很明顯是通過參與者的交互:不論是提供內(nèi)容、為內(nèi)容索引或評分,都能夠使他們所使用的平臺增值。通過參與者的交互,好的產(chǎn)品或信息本著它的口碑,從一小撮用戶

43、擴展到一大班人,一但超過了臨界質(zhì)量,就會“像病毒一樣廣泛流傳”(葛拉威爾,2002)。[9]</p><p>  正如同創(chuàng)新2.0所倡導(dǎo)的以人為本、草根創(chuàng)新、開放創(chuàng)新、共同創(chuàng)新理念,Web 2.0的核心概念是互動、分享與關(guān)系,所有的網(wǎng)絡(luò)行為,都可用“互動、分享、關(guān)系”的概念來作詮釋。</p><p>  本系統(tǒng)是基于web2.0來開發(fā)實現(xiàn)的,主要目的是讓每一個用戶都能參與到信息的傳遞,在用

44、戶之間鏈接起溝通的紐帶,通過互動,讓社團與學(xué)生之間實現(xiàn)雙向溝通,有利于系統(tǒng)的持續(xù)建設(shè)。</p><p><b>  PHP服務(wù)器端技術(shù)</b></p><p>  PHP(全稱:PHP:Hypertext Preprocessor,即“PHP:超文本預(yù)處理器”)是一種開源的通用計算機腳本語言,尤其適用于網(wǎng)絡(luò)開發(fā)并可嵌入HTML中使用。PHP 獨特的語法混合了C、Jav

45、a、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。[10]</p><p>  PHP的特性包括:1. PHP 獨特的語法混合了 C、Java

46、、Perl 以及 PHP 自創(chuàng)新的語法。2. PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁——動態(tài)頁面方面,與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標記的CGI要高許多;PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn)。3. PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。4. 最重要的是PHP可以用C、C++進行程序的擴展。</p><p>  通常

47、情況下,PHP可以表現(xiàn)得更好,更快(PHP消耗相當少的系統(tǒng)資源)。因此在處理本系統(tǒng)的數(shù)據(jù)時可以有更好的表現(xiàn)。雖然Pearl和Java可以做PHP不能做到的事,但是PHP完全可以勝任本系統(tǒng),由于本系統(tǒng)有大量數(shù)據(jù)要處理,必須要使用PHP完善,而不僅僅是幾個靜態(tài)頁面的跳轉(zhuǎn)。與此同時,PHP的跨平臺性也很好,可以運行在UNIX、LINUX、WINDOWS、Mac OS、Android等平臺。本應(yīng)用中使用PHP主要分成三個部分:處理ClubUI的

48、數(shù)據(jù),處理StudentUI的數(shù)據(jù)以及處理兩者共同界面的數(shù)據(jù),處于結(jié)構(gòu)清晰易于處理的考慮,每個PHP對應(yīng)相應(yīng)的HTML,并且分別處在各自的包中。[11]</p><p>  MeekroDB技術(shù)</p><p>  MeekroDB是一個PHP庫,能讓你用更少行代碼實現(xiàn)更多的事,并且使SQL注入100%不可能。MeekroDB已經(jīng)有兩年作為谷歌搜索中“PHP MySQL庫”的搜索結(jié)果,并在

49、全世界有成千上萬的部署。MeekroDB擁有完美的安全記錄,目前為止還沒有被發(fā)現(xiàn)安全上的缺陷或者SQL注入。[12]</p><p>  由于目前web應(yīng)用經(jīng)常受到XSS以及SQL注入攻擊,開發(fā)本系統(tǒng)時出于安全以及編碼效率的考慮,使用了這個庫。XSS攻擊可以在編碼中調(diào)用相應(yīng)函數(shù)進行識別并且避免,這對于普通的XSS攻擊已經(jīng)足夠。同時因為本系統(tǒng)使用大量的SQL語句,使得SQL注入攻擊危險性大大提高,這是本系統(tǒng)使用Me

50、ekroDB的主要原因。</p><p>  MeekroDB是可以和PHP無縫對接的MySQL數(shù)據(jù)庫封裝接口,同時能都完全杜絕SQL注入攻擊,使得我們不必擔(dān)心簡單的安全攻擊。也因為require以及require_once語句的存在,調(diào)用也是很方便的。</p><p>  2.4 AJAX技術(shù)</p><p>  AJAX即“Asynchronous JavaS

51、cript and XML”(異步的JavaScript與XML技術(shù)),指的是一套綜合了多項技術(shù)的瀏覽器端網(wǎng)頁開發(fā)技術(shù)。[13]傳統(tǒng)的Web應(yīng)用允許用戶端填寫表單(form),當提交表單時就向Web服務(wù)器發(fā)送一個請求。服務(wù)器接收并處理傳來的表單,然后送回一個新的網(wǎng)頁,但這個做法浪費了許多帶寬,因為在前后兩個頁面中的大部分HTML碼往往是相同的。由于每次應(yīng)用的溝通都需要向服務(wù)器發(fā)送請求,應(yīng)用的回應(yīng)時間依賴于服務(wù)器的回應(yīng)時間。這導(dǎo)致了用戶界

52、面的回應(yīng)比本機應(yīng)用慢得多。</p><p>  與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必須的數(shù)據(jù),并在客戶端采用JavaScript處理來自服務(wù)器的回應(yīng)。因為在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少(大約只有原來的5%),服務(wù)器回應(yīng)更快了。同時,很多的處理工作可以在發(fā)出請求的客戶端機器上完成,因此Web服務(wù)器的負荷也減少了。[14]</p><p>  使用Ajax的最大優(yōu)點,就是能

53、在不更新整個頁面的前提下維護數(shù)據(jù)。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變的信息。Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。對應(yīng)用Ajax最主要的批評就是,它可能破壞瀏覽器的后退功能。在動態(tài)更新頁面的情況下,用戶無法回到前一個頁面狀態(tài),這是因為瀏覽器僅能記下歷史記錄中的靜態(tài)頁面。</p><p>  本系統(tǒng)中僅僅在部分數(shù)據(jù)交互量大的頁面使用

54、了AJAX,例如學(xué)生關(guān)注、收藏社團和學(xué)生報名、收藏活動的動作,通過使用異步交互,防止了全部頁面刷新帶來的等待,提升了用戶體驗和應(yīng)用性能,在網(wǎng)站用戶量比較多的時候也可以正常地運行。</p><p><b>  需求建模</b></p><p>  本章采用UML統(tǒng)一建模過程為“IslandClub”大學(xué)城活動信息共享系統(tǒng)進行需求建模。首先概述系統(tǒng)的功能性需求,描述用戶的

55、組織結(jié)構(gòu)、角色,描述關(guān)鍵的業(yè)務(wù)流程;接著以目標分解細化為線索,識別用例,畫出用例圖;然后描述幾個關(guān)鍵用例,對復(fù)雜用例用活動圖描述用例的時間流;最后描述應(yīng)用領(lǐng)域的概念及概念間的關(guān)系。</p><p><b>  功能性需求分析</b></p><p>  本系統(tǒng)的目標是為大學(xué)城學(xué)生和社團提供一個活動信息共享的平臺,在參考現(xiàn)有的兩個活動發(fā)布網(wǎng)站的功能之后,結(jié)合現(xiàn)實需要和產(chǎn)

56、品特點,本系統(tǒng)主要面向的有三種用戶角色:游客、學(xué)生和社團,針對這三種用戶,系統(tǒng)的主要功能性需求有:</p><p>  針對游客,即是未注冊賬號的用戶:可以瀏覽社團發(fā)布的活動信息,可以看到大學(xué)城有哪些社團,可以注冊賬號;</p><p>  針對學(xué)生,即是注冊了學(xué)生賬號的用戶:可以瀏覽社團發(fā)布的活動信息,了解大學(xué)城有哪些社團,關(guān)注社團,加入社團成為會員,報名參加活動,收藏活動,修改賬號密碼

57、;</p><p>  針對社團,即是注冊了社團賬號的用戶:可以瀏覽社團發(fā)布的活動信息,可以發(fā)布活動信息,查看活動報名人員,查看社團成員,修改賬號密碼。</p><p>  根據(jù)功能性需求,本系統(tǒng)主要有三種權(quán)限角色,分別是:游客、學(xué)生、社團,其用戶組織架構(gòu)圖如圖3-1所示:</p><p>  圖3-1:用戶組織結(jié)構(gòu)圖</p><p><

58、;b>  系統(tǒng)用例</b></p><p>  用例,是軟件工程或系統(tǒng)工程中對系統(tǒng)如何反應(yīng)外界請求的描述,是一種通過用戶的使用場景來獲取需求的技術(shù)。每個用例提供了一個或多個場景,該場景說明了系統(tǒng)是如何和最終用戶或其它系統(tǒng)互動,也就是誰可以用系統(tǒng)做什么,從而獲得一個明確的業(yè)務(wù)目標。以下描述了用戶使用本系統(tǒng)可以發(fā)生的動作或完成的事情。</p><p><b>  系

59、統(tǒng)用例圖</b></p><p>  根據(jù)上述的需求分析可知,該系統(tǒng)中主要有三種用戶角色,分別是游客、學(xué)生、社團,其中游客注冊登錄之后就以學(xué)生或者社團的身份操作系統(tǒng),他們與系統(tǒng)的關(guān)系如圖3-2所示:</p><p>  圖3-2:系統(tǒng)用例圖</p><p><b>  系統(tǒng)用例表</b></p><p>  

60、本節(jié)用表格的形式簡單描述系統(tǒng)主要的用例,如表3-1所示:</p><p>  表3-1:系統(tǒng)用例表</p><p><b>  核心用例設(shè)計</b></p><p>  從涉及到的用例中,選取以下三個核心用例來進行設(shè)計,分別是:發(fā)布活動、關(guān)注活動、加入社團。</p><p><b>  發(fā)布活動</b&g

61、t;</p><p>  當用戶注冊為社團賬號時,就有權(quán)限發(fā)布活動,其用例表如表3-2:</p><p>  表3-2:發(fā)布活動用例表</p><p>  發(fā)布活動這個用例的活動圖如圖3-3所示:</p><p>  圖3-3:發(fā)布活動活動圖</p><p><b>  收藏活動</b></

62、p><p>  當用戶以學(xué)生的身份注冊賬號,并且成功登錄,查看活動的時候,可以選擇收藏活動,以便進行活動管理,收藏活動這個用例可以用表3-3來表示:</p><p>  表3-3:收藏活動用例表</p><p>  學(xué)生對活動的操作,除了關(guān)注活動,還有報名活動,報名活動是學(xué)生確定參加該活動,選擇報名活動之后,系統(tǒng)會記錄學(xué)生的報名,發(fā)布活動的社團可以查看學(xué)生的報名,并看到

63、學(xué)生的個人信息(如聯(lián)系電話,郵箱),方便社團合理安排活動的開展。報名活動的用例與關(guān)注活動的用例所涉及的對象和動作相差不大,學(xué)生對活動的操作可以用圖3-4來表示:</p><p>  圖3-4:學(xué)生對活動的操作活動圖</p><p><b>  加入社團</b></p><p>  當用戶以學(xué)生的身份注冊,并且成功登錄之后,在瀏覽社團信息的時候可

64、以選擇加入社團,成為該社團的成員,之后可以得到社團的活動匯總,方便之后獲取社團活動的信息,并且自己的信息也會被社團得知,便于社團管理成員。該用例可以用表3-4表示:</p><p>  表3-4:加入社團用例表</p><p>  學(xué)生對于社團的操作,除了加入社團,還有關(guān)注社團。當學(xué)生對該社團感興趣,但是又不想成為該社團的成員時候選擇關(guān)注社團,這個功能方便學(xué)生將來能看到感興趣的社團所發(fā)布的

65、活動信息,但是社團并沒有該學(xué)生的信息。關(guān)注社團和加入社團所涉及的對象和操作相差不大,其活動圖如圖3-5所示:</p><p>  圖3-5:學(xué)生對社團的操作活動圖</p><p><b>  領(lǐng)域模型</b></p><p>  領(lǐng)域模型可以被看作是一個系統(tǒng)的概念模型,用于以可視化的形式描述系統(tǒng)中的各個實體及其之間的關(guān)系。領(lǐng)域模型記錄了一個系統(tǒng)

66、中的關(guān)鍵概念和詞匯表,顯示出了系統(tǒng)中的主要實體之間的關(guān)系,并確定了它們的重要的方法和屬性。因此,對應(yīng)于用例所描述的動態(tài)視圖,領(lǐng)域模型提供了一種對整個系統(tǒng)的結(jié)構(gòu)化的視圖。領(lǐng)域模型的一個好處是描述并限制了系統(tǒng)邊界。[15]</p><p>  本系統(tǒng)的領(lǐng)域模型如圖3-6所示:</p><p>  圖3-6:領(lǐng)域模型圖</p><p><b>  架構(gòu)設(shè)計<

67、;/b></p><p>  本章主要介紹了系統(tǒng)的架構(gòu)設(shè)計,包括系統(tǒng)的架構(gòu)原理、業(yè)務(wù)用例的實現(xiàn)和數(shù)據(jù)庫設(shè)計。</p><p><b>  系統(tǒng)架構(gòu)及原理</b></p><p>  本項目采用的系統(tǒng)架構(gòu)方法是RUP4+1視圖方法,本節(jié)將從架構(gòu)方面對系統(tǒng)進行綜合概述,其中將運用不同的架構(gòu)視圖對描述系統(tǒng)的各個方面,用于記錄和表述在系統(tǒng)架構(gòu)方面

68、所做的決定。</p><p>  RUP 4+1視圖方法</p><p>  一個架構(gòu)視圖是對于從某一視角或某一點上看到的系統(tǒng)所做的簡化描述,描述中涵蓋了系統(tǒng)的某一特定方面,而省略了于此方面無關(guān)的實體。也就是說,架構(gòu)要涵蓋的內(nèi)容和決策太多了,超過了人腦"一蹴而就"的能力范圍,因此采用"分而治之"的辦法從不同視角分別設(shè)計;同時,也為軟件架構(gòu)的理解、交流

69、和歸檔提供了方便。值得特別說明的,大多數(shù)書籍中都強調(diào)多視圖方法是軟件架構(gòu)歸檔的方法,其實不然。多視圖方法不僅僅是架構(gòu)歸檔技術(shù),更是指導(dǎo)我們進行架構(gòu)設(shè)計的思維方法。[16]</p><p>  圖4-1: Philippe Kruchten提出的4+1視圖方法</p><p>  該方法的不同架構(gòu)視圖承載不同的架構(gòu)設(shè)計決策,支持不同的目標和用途:</p><p>  

70、邏輯視圖:當采用面向?qū)ο蟮脑O(shè)計方法時,邏輯視圖即對象模型。</p><p>  開發(fā)視圖:描述軟件在開發(fā)環(huán)境下的靜態(tài)組織。</p><p>  處理視圖:描述系統(tǒng)的并發(fā)和同步方面的設(shè)計。</p><p>  物理視圖:描述軟件如何映射到硬件,反映系統(tǒng)在分布方面的設(shè)計。</p><p>  在本次系統(tǒng)架構(gòu)設(shè)計中,選用邏輯視圖、開發(fā)視圖和實施視圖

71、三種視圖來從各個方面描述設(shè)計本系統(tǒng)時的決策。 </p><p><b>  邏輯視圖</b></p><p>  本小節(jié)運用邏輯視圖的方式來顯示本系統(tǒng)架構(gòu)的分層、子系統(tǒng)和包之間的關(guān)系,并且加之必要的文字說明,特別是架構(gòu)的分層、機制和模式的說明。</p><p>  邏輯架構(gòu)只要支持功能性需求——系統(tǒng)應(yīng)該為用戶提供哪些服務(wù),系統(tǒng)分解為一系列的

72、關(guān)鍵抽象,(大多數(shù))來自于問題域,表現(xiàn)為對象或?qū)ο箢惖男问?。在此,還需要把與本系統(tǒng)有接口關(guān)系的其他系統(tǒng)都表示出來,這樣可以清楚地看出本系統(tǒng)和其他系統(tǒng)的接口邏輯視圖,并且還需要將在本系統(tǒng)中負責(zé)接口的子系統(tǒng)表示出來。本系統(tǒng)的邏輯視圖如圖4-2所示:</p><p>  圖4-2:本系統(tǒng)的邏輯視圖</p><p><b>  開發(fā)視圖</b></p><

73、p>  本系統(tǒng)基于web 2.0開發(fā)的,因此按照表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層的結(jié)構(gòu),可以用開發(fā)視圖表示如圖4-3:</p><p>  圖4-3:本系統(tǒng)的開發(fā)視圖</p><p><b>  實施視圖</b></p><p>  本系統(tǒng)的組件圖如圖4-4所示:</p><p>  圖4-4:本系統(tǒng)的組件圖</p&g

74、t;<p><b>  業(yè)務(wù)用例的實現(xiàn)</b></p><p>  本節(jié)主要通過說明用例實現(xiàn)的步驟,配合上順序圖,來說明三個核心業(yè)務(wù)用例的實現(xiàn)。</p><p><b>  發(fā)布活動用例的實現(xiàn)</b></p><p>  社團發(fā)布活動的交互步驟如下:</p><p>  社團點擊發(fā)布活

75、動,controller切換到launch_activity的頁面;</p><p>  社團輸入活動的主題、類別、蓋章數(shù)、公益時間、績點、截止報名時間、活動開始時間、活動結(jié)束時間、活動進行地點、主辦方聯(lián)系方式、海報網(wǎng)址鏈接、活動簡介,然后點擊發(fā)布活動,clubUI通過newActivity方法傳到controller,然后controller將信息儲存成activityNotice;</p>&l

76、t;p>  activityNotice將信息返回到controller,然后controller返回給LaunchActivityResult的UI;</p><p>  LaunchActivityResultUI將發(fā)布活動成功的信息返回給社團,發(fā)布活動完成。</p><p>  發(fā)布活動的順序圖表示如圖4-5:</p><p>  圖4-5:發(fā)布活動順序

77、圖</p><p><b>  報名活動用例的實現(xiàn)</b></p><p>  學(xué)生報名活動的交互過程如下:</p><p>  學(xué)生看到活動列表的時候,點擊感興趣的活動,allActivityUI觸發(fā)controller,跳轉(zhuǎn)到ActitityInfo頁面;</p><p>  學(xué)生頁面點擊報名按鈕,ActivityI

78、nfo將信息傳到controller, Controller記錄學(xué)生報名情況,并且返回信息到ActivityInfo頁面;</p><p>  學(xué)生可以看到報名成功的信息,活動報名成功。</p><p>  報名活動用例的順序圖如圖4-6:</p><p>  圖4-6:報名活動的順序圖</p><p>  加入社團用例的實現(xiàn)</p&

79、gt;<p>  學(xué)生加入社團的交互過程如下:</p><p>  學(xué)生瀏覽社團列表,點擊感興趣的社團,點擊動作傳controller,controller觸發(fā),跳轉(zhuǎn)到clubInfo頁面;</p><p>  學(xué)生在clubInfo頁面點擊加入按鈕,clubInfo頁面將記錄傳到controller,controller記錄學(xué)生加入社團的信息;</p><

80、;p>  Controller返回加入社團結(jié)果到clubInfo頁面,學(xué)生加入社團成功。</p><p>  加入社團的順序圖如圖4-7:</p><p>  圖4-7:加入活動順序圖</p><p><b>  數(shù)據(jù)庫設(shè)計</b></p><p>  本系統(tǒng)的數(shù)據(jù)庫是mysql 5.6.12,本節(jié)敘述了數(shù)據(jù)庫的設(shè)

81、計過程。</p><p><b>  E-R模型</b></p><p>  E-R圖也稱實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。它是描述現(xiàn)實世界概念結(jié)構(gòu)模型的有效方法,是一種概念模型的一種方式,在本系統(tǒng)的數(shù)據(jù)庫設(shè)計中,E-R模型如圖4-8:</p><

82、;p><b>  圖4-8:E-R圖</b></p><p><b>  數(shù)據(jù)庫</b></p><p>  根據(jù)E-R圖設(shè)計,可以得到關(guān)系模式:</p><p>  Users(Uid:integer, username:string, password:integer, login_id: cher)</p

83、><p>  Students(uid:integer, email:string, phone:string)</p><p>  Clubs(uid:integer, contact:string)</p><p>  Activities(aid:integer, title:string, attribute:integer, categoties:string

84、, stamped_number:integer, volunteer_hour:integer, credit:float, deadline:datetime, date:datetime, begin_time:datetime, end_time:datetime, location:string, other_info:text, posturl:text, phone:integer)</p><p>

85、;  Concern(uid_s:integer, uid_c:integer)</p><p>  Belong_to(uid_s:integer, uid_c:integer)</p><p>  Collect(uid:integer, aid:integer)</p><p>  Participate(uid:integer, aid:integer, i

86、sParticipate:boolean)</p><p>  Launch(uid:integer, aid:integer)</p><p>  在MySQL里建9個表,分別如表4-1所示:</p><p>  表4-1:系統(tǒng)數(shù)據(jù)庫各表概述</p><p>  對數(shù)據(jù)庫表的詳細設(shè)計如表4-2到表4-10所示:</p><

87、;p>  表4-2:Users表</p><p>  表4-3:Students表</p><p>  表4-4:Clubs表</p><p>  表4-5:Activities表</p><p>  表4-6:Concern表</p><p>  表4-7:Belong_to表</p><p

88、>  表4-8:Collect表</p><p>  表4-9:Participate表</p><p>  表4-10:Launch表</p><p><b>  模塊設(shè)計</b></p><p><b>  接口說明</b></p><p>  ./include/

89、文件夾</p><p>  在此文件下的文件提供路由選擇,相當于MVC模式中controller的作用,因為系統(tǒng)運用了MeekroDB PHP庫,可以用更少的代碼來實現(xiàn)對MySQL數(shù)據(jù)庫的訪問,而且系統(tǒng)前端也用了H2o模板,因此本文件夾包含MeekroDB文件和H2o模板文件。./include/dbhome.php 在每一個php文件中都被調(diào)用,里面包含了幾個關(guān)鍵的函數(shù):</p><p>

90、;  Render_t函數(shù)</p><p>  function render_t($name, $kwargs=array())//定義跳轉(zhuǎn)函數(shù),從php跳轉(zhuǎn)到對應(yīng)的html,完成數(shù)據(jù)的傳遞</p><p><b>  {</b></p><p>  global $h2o_tpl;</p><p>  $h2o_tp

91、l->loadTemplate($name);</p><p>  echo $h2o_tpl->render($kwargs);</p><p><b>  }</b></p><p>  Url_for_active函數(shù)</p><p>  function url_for_active($aid, $p

92、agenum=1)</p><p><b>  {</b></p><p>  return "/show_a.php?aid=$aid&pagenum=$pagenum";</p><p>  }//定義顯示活動函數(shù),提供跳轉(zhuǎn)到show_a.php的接口</p><p>  $h2o_tpl

93、->addFilter('url_for_active');//調(diào)用h2o顯示頁面</p><p>  url_for_avater函數(shù):</p><p>  本系統(tǒng)運用了gravater頭像的技術(shù),Gravatar是Globally Recognized Avatar的縮寫,是gravatar推出的一項服務(wù),意為“全球通用頭像”。如果在Gravatar的服務(wù)器上放置

94、了你自己的頭像,那么在任何支持Gravatar的blog或者留言本上留言時,只要提供你與這個頭像關(guān)聯(lián)的email地址,就能夠顯示出你的Gravatar頭像來。</p><p>  function url_for_avatar( $email, $s = 50, $d = 'mm', $r = 'g', $img = false, $atts = array() ) {</p

95、><p>  $url = 'http://www.gravatar.com/avatar/';</p><p>  $url .= md5( strtolower( trim( $email ) ) );</p><p>  $url .= "?s=$s&d=$d&r=$r";</p><p>

96、;  if ( $img ) {</p><p>  $url = '<img src="' . $url . '"';</p><p>  foreach ( $atts as $key => $val )</p><p>  $url .= ' ' . $key . '=&q

97、uot;' . $val . '"';</p><p>  $url .= ' />';</p><p><b>  }</b></p><p>  return $url;</p><p>  }//傳入用戶注冊所用的email,在gravater里面查找對應(yīng)的頭

98、像。顯示到對應(yīng)的heml頁面。</p><p><b>  外部評論接口</b></p><p>  在活動詳情的頁面中,引入了“友言”外部評論接口,這樣可以用外部社交網(wǎng)絡(luò)賬號登錄并對活動發(fā)表評論,并且可以將活動分享到不同的社交平臺,為系統(tǒng)引入更多的流量,擴大系統(tǒng)的影響力,接口的代碼如下:</p><p>  <div class=&qu

99、ot;comment"></p><p>  <!-- UY BEGIN --></p><p>  <div id="uyan_frame"></div></p><p>  <script type="text/javascript"></p>

100、<p>  var uyan_config = {</p><p>  'title':'{{a.title}}',</p><p>  'su': String(location)</p><p><b>  };</b></p><p>  </scri

101、pt> </p><p>  <script type="text/javascript" id="UYScript" src="http://v1.uyan.cc/js/iframe.js?UYUserId=1787488" async=""></script></p><p>

102、;  <!-- UY END --></p><p><b>  </div></b></p><p><b>  發(fā)布活動模塊設(shè)計</b></p><p>  用戶以社團身份登錄系統(tǒng)后,可以在發(fā)布活動版塊來發(fā)布活動信息,發(fā)布活動模塊主要實現(xiàn)了社團將活動信息發(fā)布在網(wǎng)頁,然后網(wǎng)頁將信息傳到后臺進行記錄

103、,并在首頁將活動進行顯示的功能。</p><p><b>  5.2.1頁面設(shè)計</b></p><p>  圖5-1:社團發(fā)布活動頁面草圖</p><p>  用戶在各個信息框里面輸入相應(yīng)的活動信息后,點擊發(fā)布活動,系統(tǒng)將記錄活動信息,如果發(fā)布成功,則返回鏈接,返回到首頁。</p><p><b>  圖5-

104、2:首頁草圖</b></p><p>  當用戶發(fā)布信息成功返回首頁之后,活動的信息將展示在首頁。</p><p>  5.2.2算法描述活動圖</p><p>  圖5-3:發(fā)布活動算法描述活動圖</p><p>  5.2.3關(guān)鍵代碼展示</p><p>  5.2.3.1 PHP代碼展示:</p

105、><p>  當用戶在主頁點擊“發(fā)布活動”時:</p><p>  if(!isset($_SESSION['uid']) ||</p><p>  $_SESSION['ut'] != 'c')</p><p><b>  {</b></p><p>

106、  $msg = '只有登錄社團才能發(fā)起活動!';</p><p>  goto failed;</p><p>  }//判斷用戶是否登錄,登錄的用戶是否為社團賬號</p><p>  當用戶輸入活動信息,點擊“發(fā)布活動”時:</p><p>  if($_POST)//判斷數(shù)據(jù)是否傳輸成功</p><

107、p><b>  {</b></p><p>  if(empty($_POST['title']) )</p><p><b>  {</b></p><p>  $msg = '主題不能為空';</p><p>  goto failed;</p>

108、<p>  }//提示主題不能為空,跳轉(zhuǎn)到發(fā)布活動失敗的頁面</p><p>  如果發(fā)布的活動信息格式正確:</p><p>  $now = new DateTime();</p><p>  DB::insert('Activities',</p><p><b>  array(</b&g

109、t;</p><p>  'title' => $_POST['title'],</p><p>  'attribute' => 0,</p><p>  'categories' => $_POST['cat'],</p><p>  

110、9;stamped_number' => $_POST['stamped'],</p><p>  'volunteer_hour' => $_POST['vhour'],</p><p>  'credit' => $_POST['credit'],</p><p

111、>  'date' => $now->format("Y-m-d H:i:s"),</p><p>  'deadline' => $_POST['deadline'],</p><p>  'begin_time' => $_POST['begin'],<

112、;/p><p>  'end_time' => $_POST['end'],</p><p>  'location' => $_POST['location'],</p><p>  'phone' => $_POST['phone'],</p>

113、;<p>  'posturl' => $_POST['posturl'],</p><p>  'other_info' => $_POST['info'])); //將活動信息數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫,記錄在Activities表里</p><p>  $aid = DB::insertId();<

114、/p><p>  DB::insert('Launch',</p><p>  array('uid' => $_SESSION['uid'],</p><p>  'aid' => $aid));//將活動和社團的關(guān)系傳輸?shù)綌?shù)據(jù)庫,記錄在Launch表里</p><p>

115、;  render_t('c/new_activity_success.html'); //跳轉(zhuǎn)到發(fā)布活動成功頁面</p><p>  如果數(shù)據(jù)傳輸不成功:</p><p>  render_t('c/new_activity.html'); //如果數(shù)據(jù)傳輸不成功,還留在原頁面</p><p>  如果發(fā)布活動失敗,跳轉(zhuǎn)到發(fā)布失敗頁

116、面:</p><p>  render_t('c/new_activity_failed.html', array('msg' => $msg)); //傳輸失敗原因,跳轉(zhuǎn)到活動發(fā)布失敗頁面</p><p><b>  HTML代碼展示:</b></p><p>  new_activity_success

117、.html</p><p>  <input type="submit" value="發(fā)布活動"/><br/></p><p>  <a href="../index.php">發(fā)布成功!點擊返回</a> //提示發(fā)布成功,顯示返回首頁鏈接</p><p>

118、  new_activity_failed.html</p><p>  {{ msg }}//打印錯誤信息提示</p><p>  5.3查看活動模塊設(shè)計</p><p>  當用戶以學(xué)生身份登錄系統(tǒng)之后,可以點擊活動題目來查看活動詳情,在活動詳情頁面,有“報名”和“收藏”兩個選項,學(xué)生可以根據(jù)是否想報名參加活動,或者想收藏活動來執(zhí)行操作,系統(tǒng)數(shù)據(jù)庫會記錄學(xué)生的選

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論