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

付費(fèi)下載

下載本文檔

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

文檔簡介

[15],管理用戶權(quán)限等設(shè)置論壇規(guī)則和公告:編輯發(fā)布論壇規(guī)則和公告通知數(shù)據(jù)統(tǒng)計(jì)和報(bào)表:查看論壇數(shù)據(jù)統(tǒng)計(jì)信息,生成報(bào)表分析3.2.3游客功能需求游客的主要功能:瀏覽論壇的各個(gè)板塊和帖子內(nèi)容查看熱門話題和最新帖子使用搜索功能查找感興趣的內(nèi)容閱讀公告和系統(tǒng)通知3.3用例建模3.3.1用戶用例圖描述用戶用例:在本類型的用戶登錄論壇系統(tǒng)之后,具有查看論壇各板塊和帖子內(nèi)容、發(fā)布新的帖子、回應(yīng)其他帖子以及編輯自己個(gè)人資料等能力。具體用例分析如下圖3-1所示:圖3-SEQ圖3-\*ARABIC1用戶用例圖用戶發(fā)布帖子的功能規(guī)約如下表3-1:表3-SEQ表3-\*ARABIC1發(fā)布帖子用例規(guī)約名稱查詢個(gè)人信息用例規(guī)約用例id021用例角色用戶用例說明用戶發(fā)布一條新的帖子用例前置條件用戶已登錄系統(tǒng)用例基本事件內(nèi)容角色動(dòng)作:1.寫入帖子的內(nèi)容系統(tǒng)反饋:1.1.帖子內(nèi)容審核通過,將帖子發(fā)布于平臺(tái)。1.2.帖子內(nèi)容沒有審核通過,用戶需要重新編寫帖子內(nèi)容。其他事件無后置條件顯示對應(yīng)提示信息。用戶查詢帖子功能規(guī)約如下表3-2:表3-SEQ表3-\*ARABIC2查詢帖子用例規(guī)約名稱查詢帖子用例規(guī)約用例id022用例角色用戶用例說明用戶在登錄后,可以查詢帖子用例前置條件用戶已登錄系統(tǒng)用例基本事件內(nèi)容角色動(dòng)作:1.輸入要查詢的帖子關(guān)鍵詞2.點(diǎn)擊搜索系統(tǒng)反饋:1.1.關(guān)鍵詞中包含敏感詞,禁止搜索。1.2.關(guān)鍵詞中未包含敏感詞,允許搜索。2.1.查詢到相關(guān)帖子信息,展示相關(guān)帖子內(nèi)容。2.2.未查詢到相關(guān)帖子信息,給出相應(yīng)提示。其他事件無后置條件顯示對應(yīng)提示信息。3.3.2管理員用例圖管理員用例描述:此種用戶是論壇系統(tǒng)后臺(tái)的管理者,他們在系統(tǒng)中主要扮演的角色是管理帖子,管理用戶賬戶,以及發(fā)布相關(guān)通告等具體用例分析如下圖3-2所示:圖3-SEQ圖3-\*ARABIC2管理員用例圖管理員的登錄功能規(guī)約如下表3-3:表3-SEQ表3-\*ARABIC3管理員登錄用例規(guī)約名稱管理員登錄用例規(guī)約用例id023用例角色管理員用例說明管理員在進(jìn)行其他功能的操作前需要登錄自己的身份賬號(hào)用例前置條件管理員已登錄用例基本事件內(nèi)容角色動(dòng)作:1.輸入管理員的身份識(shí)別信息和保密代碼2.點(diǎn)擊登錄按鈕系統(tǒng)反饋:1.1.查詢管理員數(shù)據(jù)庫表,核對身份下的賬戶信息。2.1.管理員信息輸入錯(cuò)誤,提示密碼/賬號(hào)有誤。2.2.管理員信息驗(yàn)證無誤,接著進(jìn)入管理控制面板。2.3.輸入賬號(hào)/密碼為空或格式錯(cuò)誤,提示管理員重新輸入。其他事件無后置條件進(jìn)入管理界面。管理員管理帖子功能規(guī)約如下表3-4:表3-SEQ表3-\*ARABIC4管理帖子用例規(guī)約名稱管理帖子用例規(guī)約用例id024用例角色管理員用例說明經(jīng)過身份驗(yàn)證后,管理員有能力對論壇帖子進(jìn)行操作和管理。用例前置條件管理員已登錄用例基本事件內(nèi)容角色動(dòng)作:1.勾選待管理帖子2.對選中帖子進(jìn)行操作系統(tǒng)反饋:1.1.該帖子未其他異常,勾選成功。2.1.若帖子內(nèi)容不合規(guī),則提醒用戶修改帖子。2.2.帖子內(nèi)容存在其他問題,管理員根據(jù)情況做下一步操作。其他事件操作成功,帖子內(nèi)容更新后置條件顯示對應(yīng)提示信息。3.3.3游客用例圖游客用例描述:此種用戶是論壇系統(tǒng)中不用登入即可瀏覽論壇界面的用戶,游客可以瀏覽帖子,使用搜索功能等。具體用例分析如下圖3-3所示:圖3-SEQ圖3-\*ARABIC3游客用例圖游客訪問論壇用例規(guī)約如下表3-5:表3-SEQ表3-\*ARABIC5訪問論壇用例規(guī)約名稱訪問論壇用例規(guī)約用例id025用例角色游客用例說明游客訪問論壇后,可以進(jìn)行一些相關(guān)操作。用例前置條件游客訪問論壇首頁用例基本事件內(nèi)容角色動(dòng)作:1.游客瀏覽熱門話題或最新帖子2.訪客通過單擊帖子的標(biāo)題,可以閱讀其詳細(xì)內(nèi)容。系統(tǒng)反饋:1.1.系統(tǒng)展示出相關(guān)內(nèi)容1.2.系統(tǒng)展示相關(guān)內(nèi)容其他事件游客可以使用搜索功能查詢特定帖子后置條件顯示對應(yīng)提示信息3.4系統(tǒng)主要類建模論壇系統(tǒng)中使用到的類模型,主要是根據(jù)前面分析到的使用人群:用戶,管理員,游客來進(jìn)行構(gòu)建,具體分析如下三部分。3.4.1用戶類圖用戶所有的類主要有users(用戶)、Message(消息)、Conment(評論)、Post(帖子)。具體如圖3-4所示:圖3-SEQ圖3-\*ARABIC4用戶類圖3.4.2管理員類圖管理員所有類有Administrator(管理員),TopBoard(一級(jí)板塊)、SecondBoard(二級(jí)板塊)、PostManageMent(帖子管理),userManagement(用戶管理)。具體如圖3-5所示:圖3-SEQ圖3-\*ARABIC5管理員類圖3.4.3游客類圖游客所有類有tourist(管理員),Conment(評論)、Board(板塊)、Post(帖子),Message(消息)。具體如圖3-5所示:圖3-SEQ圖3-\*ARABIC6游客類圖3.5本章小結(jié)通過類圖和用例圖的建模分析,成功完成了對論壇系統(tǒng)的全面分析。類圖幫助理清系統(tǒng)的核心類、它們之間的關(guān)系和功能細(xì)節(jié),為代碼實(shí)現(xiàn)提供了清晰的指導(dǎo);用例圖從用戶視角展示系統(tǒng)功能要求及互動(dòng)情形,有助于捕獲用戶需求并確定系統(tǒng)行為模式。此次分析將為接下來的系統(tǒng)設(shè)計(jì)與開發(fā)階段奠定牢固的基礎(chǔ)。 4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)活動(dòng)圖 本部分主要探討論壇系統(tǒng)的活動(dòng)順序和流程處理,結(jié)合活動(dòng)圖進(jìn)行分析。4.1.1用戶活動(dòng)圖主要根據(jù)用戶發(fā)帖和回復(fù)帖子兩個(gè)功能對用戶具體功能進(jìn)行分析。用戶從開始節(jié)點(diǎn)進(jìn)入系統(tǒng),通過登錄進(jìn)行發(fā)帖,若用戶賬戶輸入有誤則需要重新輸入,活動(dòng)圖詳情如圖4-1所示:圖4-SEQ圖4-\*ARABIC1發(fā)帖活動(dòng)圖用戶從開始節(jié)點(diǎn)進(jìn)入系統(tǒng),通過登入進(jìn)行回復(fù)帖子功能,在回復(fù)帖子中系統(tǒng)也要驗(yàn)證帖子內(nèi)容是否合規(guī),活動(dòng)圖詳情如圖4-2所示:圖4-SEQ圖4-\*ARABIC2回復(fù)帖子活動(dòng)圖4.1.2游客活動(dòng)圖主要根據(jù)游客的具體功能進(jìn)行分析。游客訪問論壇系統(tǒng),可以進(jìn)行瀏覽帖子,搜索,閱讀公告等功能,活動(dòng)圖詳情如圖4-3所示:圖4-SEQ圖4-\*ARABIC3游客訪問論壇活動(dòng)圖4.1.3管理員活動(dòng)圖主要根據(jù)人員管理和帖子管理這兩個(gè)主要功能對管理員的具體功能進(jìn)行分析。管理員從開始節(jié)點(diǎn)進(jìn)入系統(tǒng),在人員管理功能中,主要可以對注冊用戶進(jìn)行禁止操作,恢復(fù)操作,刪除用戶等操作,活動(dòng)圖詳情如圖4-4所示:圖4-4人員管理活動(dòng)圖管理員從開始節(jié)點(diǎn)進(jìn)入系統(tǒng),在帖子管理功能中,主要可以對帖子進(jìn)行刪除,置頂,編輯等操作,活動(dòng)圖詳情如圖4-5所示:圖4-5帖子管理活動(dòng)圖4.2系統(tǒng)時(shí)序圖4.2.1用戶時(shí)序圖用戶時(shí)序圖描述了用戶進(jìn)行論壇系統(tǒng)后,對論壇平臺(tái)進(jìn)行的一系列交互過程。詳細(xì)如下圖4-6所示:圖4-SEQ圖4-\*ARABIC6用戶時(shí)序圖4.2.2管理員時(shí)序圖管理員時(shí)序圖描述了管理員進(jìn)入論壇系統(tǒng)后對用戶管理,帖子管理,帖子審核等交換過程,詳細(xì)如下圖4-7所示:圖4-SEQ圖4-\*ARABIC7管理員時(shí)序圖4.2.3游客時(shí)序圖游客時(shí)序圖描述了游客進(jìn)入論壇系統(tǒng)后對論壇平臺(tái)上的信息進(jìn)行瀏覽,部分帖子的閱讀以及注冊等流程,詳細(xì)如下圖4-8所示:圖4-SEQ圖4-\*ARABIC8游客時(shí)序圖·4.3系統(tǒng)數(shù)據(jù)庫模式設(shè)計(jì)在結(jié)合第三章中的類圖分析后,對論壇系統(tǒng)使用到的數(shù)據(jù)類型以及字段名有了基本的了解,在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的數(shù)據(jù)庫模型,如圖4-9所示: 圖4-SEQ圖4-\*ARABIC9數(shù)據(jù)庫模型圖4.4系統(tǒng)數(shù)據(jù)庫表設(shè)計(jì)(1)信息表:存放發(fā)布后的帖子的一些關(guān)鍵信息,如表4-1所示:表4-SEQ表4-\*ARABIC1信息表(info)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidtitleVarchar(255)NN帖子標(biāo)題keywordsvarchar(255)NN關(guān)鍵詞descriptionvarchar(255)NY相關(guān)描述(2)帖子內(nèi)容表:存放發(fā)布的帖子的信息,如表4-2所示:表4-SEQ表4-\*ARABIC2帖子內(nèi)容表(content)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidmodule_idint(10)NN所屬父板塊idtitlevarchar(255)NN帖子標(biāo)題contentvarchar(255)NN帖子內(nèi)容timesmember_idtimeint(10)int(10)datetimeNNNNNN瀏覽帖子的次數(shù)發(fā)帖人id發(fā)帖時(shí)間(3)管理員表:存放論壇系統(tǒng)中管理員,如表4-3所示:表4-SEQ表4-\*ARABIC3管理員(manage)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidnamevarchar(32)NN管理員名字pwvarchar(255)NN密碼create_timedatetimeNN創(chuàng)建時(shí)間leveltinyintNY管理員等級(jí)(4)用戶表:存放系統(tǒng)中注冊過的用戶,如表4-4所示:表4-SEQ表4-\*ARABIC4用戶表(member)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidnamevarchar(32)NN姓名pwvarchar(32)NN密碼photovarchar(255)NY照片registerdatetimeNY注冊時(shí)間last_timedatetimeNY最后回復(fù)時(shí)間 (5)回復(fù)表:存放論壇系統(tǒng)中回復(fù)帖子的內(nèi)容,如表4-5所示:表4-5回復(fù)表(reply)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidcontent_idint(10)NN帖子idquote_idint(10)NN引用帖子idcontentvarchar(255)NN引用內(nèi)容timemember_iddatetimeint(10)NNNN回復(fù)時(shí)間會(huì)員id(6)子版塊表:存放系統(tǒng)中子版塊,如表4-6所示:表4-SEQ表4-\*ARABIC6子版塊表(second_module)字段名稱數(shù)據(jù)類型主鍵是否空說明idint(10)YNidtop_module_idint(10)NN父板塊idmodule_namevarchar(66)NN板塊名infovarchar(255)NY相關(guān)信息member_idint(10)NY會(huì)員idsortint(11)NY排名(7)父板塊表:存放論壇系統(tǒng)中的父板塊,如表4-7所示:表4-SEQ表4-\*ARABIC7父板塊表(top_module)列名數(shù)據(jù)類型主鍵是否空說明idint(10)YNidmodule_nameVarchar(66)NN模塊名sortint(11)NN排名4.5本章小結(jié)在系統(tǒng)設(shè)計(jì)部分,對論壇系統(tǒng)的分析再更進(jìn)一步,探討三個(gè)角色與系統(tǒng)的交互流程,分析過程主要通過活動(dòng)圖和時(shí)序圖展示,并在后續(xù)對數(shù)據(jù)庫的內(nèi)容也進(jìn)行設(shè)計(jì),完成系統(tǒng)所有需要的基本內(nèi)容設(shè)計(jì)。5系統(tǒng)的實(shí)現(xiàn)5.1用戶功能模塊5.1.1登陸用戶進(jìn)入論壇平臺(tái)后,進(jìn)入登錄界面,通過cookie接收參數(shù)值,將得到的數(shù)據(jù)傳入數(shù)據(jù)庫做進(jìn)一步校驗(yàn)。運(yùn)行結(jié)果如圖5-1所示:圖5-SEQ圖5-\*ARABIC1登錄登錄的核心代碼:<?phpinclude_once'inc/config.inc.php';//引入外部文件include_once'inc/mysql.inc.php';//引入外部文件include_once'inc/tool.inc.php';//引入外部文件$link=connect();$member_id=is_login($link);//獲取用戶的IDif($member_id){ //重復(fù)登錄提示}if(isset($_POST['submit'])){//判斷是否點(diǎn)擊提交 include'inc/check_login.inc.php';//引入外部文件 escape($link,$_POST);//將上傳的數(shù)據(jù)進(jìn)行轉(zhuǎn)換 $query="select*frommemberwherename='{$_POST['name']}'andpw=md5('{$_POST['pw']}')";//通過SQL更新數(shù)據(jù)庫 $result=execute($link,$query); if(mysqli_num_rows($result)==1){ setcookie('user[name]',$_POST['name'],time()+$_POST['time']);//用戶名存入cookie setcookie('user[pw]',sha1(md5($_POST['pw'])),time()+$_POST['time']);//密碼存入cookie skip('index.php','ok','登錄成功!');//登錄成功提示 }else{ //登錄失敗提示 }}?>5.1.2發(fā)帖用戶進(jìn)入論壇系統(tǒng)后,可以根據(jù)自己的需求發(fā)布帖子。運(yùn)行結(jié)果如圖5-2所示:圖5-SEQ圖5-\*ARABIC2用戶發(fā)帖用戶發(fā)帖核心代碼:<?phpinclude_once'../inc/info.php';//引入外部文件include_once'../inc/mysql_con_fuc.php';//引入外部文件include_once'../inc/tools.php';//引入外部文件$link=connect();if(!$member_id=is_login($link))//判斷是否登錄{echo"<script>alert('請先登錄!')</script>";//未登錄會(huì)彈出提示echo"<script>location.href='../login_register/login.php'</script>";//跳轉(zhuǎn)到登錄界面}if(isset($_POST['submit_1']))//是否點(diǎn)擊了提交按鈕{$_POST=escape($link,$_POST);//上傳的數(shù)據(jù)轉(zhuǎn)換格式$query="insertintocontent(module_id,title,content,time,member_id)values({$_POST['module_id']},'{$_POST['title']}','{$_POST['content']}',now(),{$member_id})";execute($link,$query);//執(zhí)行SQL語句if(mysqli_affected_rows($link)==1){echo"<script>alert('發(fā)布成功!')</script>";//上傳成功}}5.1.3回復(fù)帖子用戶在登入論壇系統(tǒng)后,可以針對自己感興趣的主題發(fā)表個(gè)人觀點(diǎn),通過回帖功能在帖子下方進(jìn)行評論。運(yùn)行結(jié)果如圖5-3所示:圖5-SEQ圖5-\*ARABIC3回復(fù)帖子回帖的核心代碼:<?php$query="selectreply.content,fromreply,memberwherereply.id={$_GET['reply_id']}andreply.content_id={$_GET['id']}andreply.member_id=member.id";//查詢相關(guān)內(nèi)容SQL語句$result_reply=execute($link,$query);//執(zhí)行SQL語句$data_reply=mysqli_fetch_assoc($result_reply);//查詢結(jié)果賦值if(isset($_POST['submit']))//是否點(diǎn)擊回帖按鈕{$query="insertintoreply(content_id,quote_id,content,time,member_id) values({$_GET['id']},{$_GET['reply_id']},'{$_POST['content']}',now(),{$member_id})";execute($link,$query);//執(zhí)行SQL語句if(mysqli_affected_rows($link)==1)//回復(fù)成功{echo"<script>alert('回復(fù)成功')</script>";//彈出相關(guān)提示信息echo"<script>location.href='shohp?id={$data_content['cid']}'</script>"}}?>5.2管理員功能模塊5.2.1登錄后臺(tái)管理員進(jìn)入后臺(tái)系統(tǒng)后,需要先登錄自己的賬號(hào)信息將賬戶信息存入session。運(yùn)行結(jié)果如圖5-4所示:圖5-SEQ圖5-\*ARABIC4后臺(tái)登錄界面后臺(tái)登錄的核心代碼:<?phpinclude_once'../inc/config.inc.php';//引入外部文件include_once'../inc/mysql.inc.php';//引入外部文件include_once'../inc/tool.inc.php';//引入外部文件$link=connect();if(is_manage_login($link)){ //判斷是否登錄}if(isset($_POST['submit'])){//是否點(diǎn)擊登錄按鈕 include_once'inc/check_login.inc.php';//引入外部文件 $_POST=escape($link,$_POST);//轉(zhuǎn)換上傳數(shù)據(jù)的格式 $query="select*fromsfk_managewherename='{$_POST['name']}'andpw=md5('{$_POST['pw']}')";//查詢相關(guān)SQL語句 $result=execute($link,$query);//執(zhí)行SQL語句 if(mysqli_num_rows($result)==1){ $data=mysqli_fetch_assoc($result);//查詢結(jié)果賦值 $_SESSION['manage']['name']=$data['name'];//管理員姓名存入Session $_SESSION['manage']['pw']=sha1($data['pw']);//管理員密碼存入Session $_SESSION['manage']['id']=$data['id'];//管理員id存入Session skip('index.php','ok','登錄成功!');//提示登錄成功信息 }else{ //提示登錄失敗新信息 }}?>5.2.2板塊管理管理員進(jìn)入后臺(tái)后可以看到整個(gè)論壇系統(tǒng)的全部父板塊以及所屬子版塊,根據(jù)需要對某個(gè)板塊進(jìn)行管理。運(yùn)行結(jié)果如圖5-5所示:圖5-SEQ圖5-\*ARABIC5板塊管理板塊管理核心代碼://父板塊添加核心代碼<?phpif(isset($_POST['submit']))//是否點(diǎn)擊添加按鈕{if(empty($_POST['module_name'])||empty($_POST['sort']))//校驗(yàn)操作{echo"<script>alert('必填項(xiàng)不能為空!')</script>";}else{$link=connect();$_POST=escape($link,$_POST);//將上傳數(shù)據(jù)做轉(zhuǎn)換//板塊名稱驗(yàn)證$query="select*fromtop_modulewheremodule_name='{$_POST['module_name']}'";execute($link,$query);//執(zhí)行sql語句if(mysqli_affected_rows($link))//存在相同模塊名{//}else{$query="insertintotop_module(module_name,sort)values('{$_POST['module_name']}','{$_POST['sort']}')";execute($link,$query);//執(zhí)行sql語句if(mysqli_affected_rows($link)==1){echo"<script>alert('插入成功!')</script>";//彈出相關(guān)提示echo"<script>location.href='top_module.php'</script>";//跳轉(zhuǎn)到父板塊主頁}else{echo"<script>alert('插入失?。?)</script>";//彈出相關(guān)提示}}}}//父板塊刪除核心代碼//增加一個(gè)判斷,若當(dāng)前父板塊下有子板塊,則無法直接刪除父板塊if(mysqli_affected_rows($link)){//彈出提示echo"<script>location.href='top_module.php'</script>";.//跳轉(zhuǎn)到父板塊主頁}else{$query="deletefromtop_modulewhereid={$_GET['id_']}";execute($link,$query);//執(zhí)行sql語句header("Location:top_module.php");//跳轉(zhuǎn)到父板塊主頁} ?>5.2.3管理員管理管理后臺(tái)有個(gè)可以根據(jù)管理員等價(jià)來進(jìn)行管理管理員的板塊,根即此板塊,等級(jí)高的管理員可以對等級(jí)低的管理員進(jìn)行管理,運(yùn)行結(jié)果如圖5-6所示圖5-6管理員管理板塊管理核心代碼:<?phpinclude_once'../inc/info.php';//引入外部文件include_once'../inc/mysql_con_fuc.php';//引入外部文件include_once'../inc/tools.php';//引入外部文件$link=connect();if(!is_manage_login($link))//判斷管理員當(dāng)前是否登錄{echo"<script>location.href='admin_login.php'</script>";}$query="select*frommanagewherename='{$_POST['name']}'";//相關(guān)sql查詢語句$result=execute($link,$query);//執(zhí)行sql語句if(isset($_POST['submit']))//是否點(diǎn)擊了提交按鈕{if(mysqli_num_rows($result)){echo"<script>alert('該名稱已存在!')</script>";//無法注冊相同用戶名}if(!isset($_POST['level'])){//轉(zhuǎn)換管理員等級(jí)的一系列操作 $_POST['level']=1;}elseif($_POST['level']=='0'){ $_POST['level']=0;}elseif($_POST['level']=='1'){ $_POST['level']=1;}else{ $_POST['level']=1;}//等級(jí)轉(zhuǎn)換$query="insertintomanage(name,pw,create_time,level)values('{$_POST['name']}',md5({$_POST['pw']}),now(),{$_POST['level']})"; execute($link,$query);//相關(guān)sql語句if(mysqli_affected_rows($link)==1){echo"<script>alert('添加成功!')</script>";//新的管理添加成功 }}//管理員刪除核心代碼$query="deletefrommanagewhereid={$_GET['id']}";//刪除管理元相關(guān)sql語句execute($link,$query);//執(zhí)行sql語句if(mysqli_affected_rows($link)==1){//執(zhí)行成功echo"<script>location.href='manage.php'</script>";//跳轉(zhuǎn)實(shí)現(xiàn)刷新}?>5.3游客功能模塊5.3.1搜索功能游客進(jìn)入論壇系統(tǒng)后,可以搜索自己感興趣的帖子。運(yùn)行結(jié)果如圖5-7所示:圖5-7游客搜索游客搜索的核心代碼:<?php$query="selectcontent.title,content.id,content.member_id,content.time,content.times,,member.photo,second_module.module_namefromcontent,member,second_modulewherecontent.titlelike'%{$_GET['keywords']}%'andcontent.member_id=member.idandcontent.module_id=second_module.id{$page['limit']}";//相關(guān)SQL語句$result_content=execute($link,$query);//執(zhí)行sql語句while($data_content=mysqli_fetch_assoc($result_content)){//查詢結(jié)果循環(huán)賦值$query="selecttimefromreplywherecontent_id={$data_content['id']}orderbyiddesclimit1";$result_last_reply=execute($link,$query);//執(zhí)行SQL語句if(mysqli_num_rows($result_last_reply)==0)//若為查到相關(guān)信息{$last_time="暫無";}else{$data_last_reply=mysqli_fetch_assoc($result_last_reply);//查詢所需的數(shù)值賦值$last_time=$data_last_reply['time'];//查詢所需的數(shù)值賦值} $query="selectcount(*)fromreplywherecontent_id={$data_content['id']}";$nums_1=recordNum($link,$query);//計(jì)算所查詢的帖子總量?>5.4本章小結(jié)在系統(tǒng)實(shí)現(xiàn)中,在論壇系統(tǒng)的運(yùn)行結(jié)果圖后附帶上了功能核心的代碼內(nèi)容,結(jié)合對代碼的理解,注釋了代碼中的大部分內(nèi)容,這一部分的完成代表論壇系統(tǒng)已基本完成。6系統(tǒng)測試6.1運(yùn)行環(huán)境計(jì)算機(jī)系統(tǒng):Win10;編程開發(fā)工具:VSCode;數(shù)據(jù)庫以及開發(fā)工具:MySQL5.7+Nginx6.2功能測試在本部分的測試工作中,主要對論壇系統(tǒng)中的核心功能設(shè)計(jì)了測試數(shù)據(jù),并在下面的內(nèi)容中進(jìn)行記錄,對核心功能的測試工作主要采用的方式是將功能看作一個(gè)整體的黑盒測試法。6.3測試用例設(shè)計(jì)測試內(nèi)容數(shù)據(jù)記錄分為用戶,管理員,游客三個(gè)部分分別進(jìn)行記錄。6.3.1用戶功能測試用例對用戶的功能測試,主要是針對登錄和發(fā)帖功能,具體測試數(shù)據(jù)如表6-1和表6-2所示:表6-SEQ表6-\*ARABIC1用戶登錄測試數(shù)據(jù)表測試功能名稱用戶登錄測試目的確定用戶通過輸入正確格式的賬號(hào)密碼登錄賬戶測試預(yù)輸入賬號(hào):scavenger密碼:123操作內(nèi)容1.輸入賬號(hào):scavenger,密碼:123,點(diǎn)擊登錄2.輸入空的賬號(hào),點(diǎn)擊登錄3.輸入賬號(hào):scavenger,密碼:321,點(diǎn)擊登錄期望結(jié)果1.賬號(hào)密碼匹配,登錄成功2.提示用戶賬號(hào)一欄不能為空3.提示用戶所輸入的賬號(hào)密碼不匹配實(shí)際結(jié)果1.賬號(hào)密碼匹配,登錄成功2.提示用戶賬號(hào)一欄不能為空3.提示用戶所輸入的賬號(hào)密碼不匹配測試狀態(tài)1.測試成功2.測試成功3.測試成功表6-SEQ表6-\*ARABIC2發(fā)帖測試數(shù)據(jù)表測試功能名稱用戶發(fā)帖測試目的確定用戶發(fā)布的帖子合規(guī),不包含敏感內(nèi)容測試預(yù)輸入帖子內(nèi)容:今天是個(gè)好天氣操作內(nèi)容1.輸入帖子內(nèi)容,今天是個(gè)好天氣,點(diǎn)擊發(fā)帖2.帖子未輸入內(nèi)容,點(diǎn)擊發(fā)帖3.帖子中包含敏感詞匯,點(diǎn)擊發(fā)帖期望結(jié)果1.發(fā)帖成功,跳轉(zhuǎn)到發(fā)帖界面2.提示用戶帖子內(nèi)容不能為空3.提示用戶發(fā)布的帖子內(nèi)容中不能包含敏感詞匯實(shí)際結(jié)果1.發(fā)帖成功,跳轉(zhuǎn)到發(fā)帖界面2.提示用戶帖子內(nèi)容不能為空3.提示用戶發(fā)布的帖子內(nèi)容中不能包含敏感詞匯測試狀態(tài)1.測試成功2.測試成功3.測試成功6.3.2管理員功能測試用例對于管理員的功能測試,主要集中在板塊管理以及帖子管理功能上,詳細(xì)的測試數(shù)據(jù)在表6-3和表6-4中展示:表6-SEQ表6-\*ARABIC3板塊管理測試數(shù)據(jù)表測試功能名稱板塊管理測試目的確定管理員可以隨時(shí)修改以及查看板塊信息測試預(yù)輸入子板塊:M待修改原因:板塊所屬的帖子不合規(guī)操作內(nèi)容1.選擇M,點(diǎn)擊修改2.未選擇M,點(diǎn)擊修改3.選擇M,輸入所屬帖子有誤,點(diǎn)擊修改4.選擇M,未輸入不通過原因,點(diǎn)擊修改期望結(jié)果1.修改板塊信息2.修改失敗,提示未選中3.修改板塊信息4.修改信息失敗,提示輸入需要修改的原因。實(shí)際結(jié)果1.修改板塊信息2.修改失敗,提示未選中3.修改板塊信息4.修改信息失敗,提示輸入需要修改的原因。測試狀態(tài)1.測試成功2.測試成功3.測試成功4.測試成功表6-SEQ表6-\*ARABIC4帖子管理測試數(shù)據(jù)表測試功能名稱帖子管理測試目的確定管理員可以隨時(shí)修改以及查看帖子信息測試預(yù)輸入帖子:C修改原因:帖子內(nèi)容不合規(guī)操作內(nèi)容1.選擇C,點(diǎn)擊修改2.未選擇C,點(diǎn)擊修改3.選擇C,輸入帖子待修改原因,點(diǎn)擊修改4.選擇C,未輸入待修改原因,點(diǎn)擊修改期望結(jié)果1.修改帖子信息2.修改失敗,提示選中3.修改帖子信息4.修改帖子信息失敗,提示需要輸入修改原因?qū)嶋H結(jié)果1.修改帖子信息2.修改失敗,提示選中3.修改帖子信息4.修改帖子信息失敗,提示需要輸入修改原因測試狀態(tài)1.測試成功2.測試成功3.測試成功4.測試成功6.3.3游客功能測試用例對于游客的功能測試,主要集中在其使用搜索功能的測試上,具體的測試數(shù)據(jù)在表6-5中列出:表6-SEQ表6-\*ARABIC5游客搜索測試數(shù)據(jù)表測試功能名稱游客搜索測試目的確定游客可以正確使用搜索功能測試預(yù)輸入搜索內(nèi)容:今天是個(gè)好天氣操作內(nèi)容1.在搜索框中輸入,今天是個(gè)好天氣2.在搜索框中未輸入內(nèi)容3.搜索框中輸入內(nèi)容包含敏感詞匯期望結(jié)果1.搜索成功,顯示相關(guān)關(guān)鍵詞的帖子2.搜索失敗,提示搜索框中內(nèi)容不能為空3.搜索失敗,提示搜索框中不能夠包含敏感詞實(shí)際結(jié)果1.搜索成功,顯示相關(guān)關(guān)鍵詞的帖子2.搜索失敗,提示搜索框中內(nèi)容不能為空3.搜索失敗,提示搜索框中不能夠包含敏感詞測試狀態(tài)1.測試成功2.測試成功3.測試成功4.測試成功6.4本章小結(jié)在系統(tǒng)測試的過程中,我對論壇系統(tǒng)的核心功能進(jìn)行了全面的測試評估。通過用戶發(fā)帖與登錄功能測試,管理員帖子管理和板塊管理測試,游客搜索功能測試,我們驗(yàn)證了系統(tǒng)的穩(wěn)定性、可用性和性能表現(xiàn)。結(jié)果顯示,論壇系統(tǒng)在各項(xiàng)功能測試中表現(xiàn)良好,用戶可以順利登錄、發(fā)布內(nèi)容并進(jìn)行交互,管理員可以有效管理權(quán)限,游客可以在不登錄的情況下發(fā)帖。此外,由于頁面加載速度的提升,系統(tǒng)為用戶提供了流暢的體驗(yàn)。7總結(jié)與展望7.1總結(jié)通過使用PHP和MySQL實(shí)現(xiàn)論壇系統(tǒng)的過程,我深入了解了Web開發(fā)的基礎(chǔ)知識(shí)和技術(shù),掌握了如何設(shè)計(jì)并實(shí)現(xiàn)一個(gè)功能完善的論壇系統(tǒng)。在這個(gè)過程中,我學(xué)會(huì)了數(shù)據(jù)庫設(shè)計(jì)、用戶認(rèn)證、權(quán)限管理、帖子管理等方面的技術(shù),并成功將它們應(yīng)用到論壇系統(tǒng)的開發(fā)中。通過不斷的嘗試和調(diào)試,我解決了許多技術(shù)挑戰(zhàn),提升了自己的編程能力和問題解決能力。7.2展望未來,我計(jì)劃進(jìn)一步完善論壇系統(tǒng),包括但不限于以下方面:

1.用戶體驗(yàn)優(yōu)化:改進(jìn)用戶界面設(shè)計(jì),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論