版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-. z航空航天大學課課 程程 設設 計計 報報 告告課程設計名稱:軟件綜合課程設計軟件綜合課程設計課程設計題目:基于基于 webweb 的在線問卷調查的在線問卷調查系統(tǒng)的設計與實現系統(tǒng)的設計與實現院系:計算機學院專 業(yè):計算機科學與技術班 級:學 號:2姓 名:指導教師:說明:結論說明:結論優(yōu)秀、良好、中等、及格、不及格優(yōu)秀、良好、中等、及格、不及格作為相關教環(huán)節(jié)考核必要依作為相關教環(huán)節(jié)考核必要依據;格式不符合要求;數據不實據;格式不符合要求;數據不實, ,不予通過。報告和電子數據必須作為實驗現象重復不予通過。報告和電子數據必須作為實驗現象重復的關鍵依據。的關鍵依據。-. z學術誠信聲明本人
2、聲明本人聲明:所呈交的報告含電子版及數據文件是我個人在導師指導下獨立進展設計工作及取得的研究結果。盡我所知,除了文中特別或撰寫過的研究結果,也不包含其它教育機構使用過的材料。與我一同工作的同學對本研究所做的任何奉獻均己在報告中做了明確的說明并表示了意。報告資料及實驗數據假設有不實之處,本人愿意承受本教學環(huán)節(jié)不及格和重修或重做的評分結論并承當相關一切后果。 本人簽名: 日期: 年 月 日航空航天大學航空航天大學課課程程設設計計任任務務書書課程設計名稱軟軟件件綜綜合合課課程程設設計計專業(yè)計計算算機機科科學學與與技技術術學生班級*題目名稱基于 web 的在線問卷調查系統(tǒng)的設計與實現起止日期20212
3、021年1212月1919日起至20212021年1 1月1313日止-. z課設容和要求:在校園、企事業(yè)單位里,由于各種調查研究的需要,經常會有各種各樣的調查問卷,在傳統(tǒng)模式下,人們不但要花費不少的費用印刷問卷,而且還要消耗大量時間和精力對調查問卷進展發(fā)放和回收,對調查問卷進展統(tǒng)計,并且人工操作調查問卷隨意性較大,容易產生遺漏等問題。本系統(tǒng)建立在信息技術根底上,構建一個在線的問卷設計、分發(fā)、調查、回收、統(tǒng)計的系統(tǒng),根本解決傳統(tǒng)問卷的上述老大難問題。1. 實現用戶管理系統(tǒng),注冊用戶可以發(fā)布、編輯問卷;非注冊用戶只可以填寫問卷。2. 實現問卷發(fā)布管理系統(tǒng),可以對問卷進展增加,修改,刪除,查詢等操
4、作。3. 實現數據可視化,對問卷統(tǒng)計結果通過圖表進展展示。4. 界面美觀,用戶交互、體驗良好。參考資料:麥克勞克林. PHP & MySQL 實戰(zhàn)手冊-第二版M. 中國電力, 2021.克強, 裴云, 黃向黨. PHP 和 MySQL Web 開發(fā)從新手到高手M. 人民郵電, 2021.教教研研室室審審核核意意見見: 教教研研室室主主任任簽簽字字:指導教師指導教師簽名簽名20212021年1212月1616日學學 生生簽名簽名20212021年1212月1919日-. z課程設計總結:課程設計總結:本次課程設計的主要任務是在線問卷系統(tǒng)。此實現了問卷創(chuàng)立,編輯,用戶管理,問卷信息統(tǒng)計等功
5、能,使用 PHP 語言的 laravel 框架,Mysql 數據庫。在這次課程設計中,使我懂得了理論與實際相結合是很重要的,只有知識是遠不夠的,只有把所學理論知與實踐相結合起來從中得出識是遠不夠的, 只有把所學理論知與實踐相結合起來從中得出才能真正為社會效勞,從而提高自己的實際動手力和獨立思考。 才能真正為社會效勞,從而提高自己的實際動手力和獨立思考。才能真正為社會效勞,從而提高自己的實際動手力和獨立思考。才能真正為社會效勞,從而提高自己的實際動手力和獨立思考。系統(tǒng)中存在的一些缺乏和設計上存在的缺憾,說明自己這些方面還有很多缺乏之處有待自己進一步學習、提高。在這次課程設計中,我學到很多東西真正
6、達與用合,增強了對數據庫方面應用的理解自己今后參與開發(fā)系統(tǒng)積累不少經歷,在課程設計過中從建立數據開場對庫理念及思想上有更高的認識。從書本上知運用到實際動手操作來,收獲頗多我真正學了計算機教科書上所沒有或者真正用到了課本的知識。這樣,既穩(wěn)固舊又掌握了新知識。不僅提高自己的動手能力,更體會到軟件開發(fā)樂趣加深入的了解數據庫實際應用,為我們將來踐打下良好的根底。在課設期間,與同學之間的相互探討對我有很大的啟發(fā)。讓我對有關知識有了更加深入的理解,也增強了我解決困難,克制困難的勇氣和決心。這次課設的感悟對我日后的學習和工作有了很大的促進作用。-. z目目 錄錄1 需求分析 11.1 系統(tǒng)開發(fā)背景 11.2
7、 系統(tǒng)開發(fā)目的 11.3 系統(tǒng)開發(fā)意義 22 2 概要設計概要設計 3 32.1 總體設計 32.2 功能設計 32.2.1 用戶系統(tǒng)設計 32.2.2 問卷系統(tǒng)設計 32.3 數據庫設計 42.3 交互設計 63 3 詳細設計詳細設計 7 73.1 用戶管理系統(tǒng) 73.1.1 用戶注冊 73.1.2 用戶登錄 93.2 問卷管理系統(tǒng) 93.2.1 問卷信息管理 93.2.2 題目信息管理 123.2.3 選項信息管理 143.2.4 問卷結果統(tǒng)計 173.2.5 問卷生成 183.2.6 問卷提交 194 4 測試測試 20204.1 出現的錯誤 204.2 解決方法 20參考文獻參考文獻
8、2121-. z附附 錄錄關鍵局部程序清單關鍵局部程序清單22221. 路由文件 222. 用戶管理后臺文件 233. 問卷后臺管理文件 274. 問卷生成文件 415. 登錄界面 456. 注冊頁面 467. 問卷信息管理頁面 478. 題目信息管理頁面 509. 選項信息管理頁面 5310. 選擇題統(tǒng)計信息展示 5511. 簡答題統(tǒng)計信息展示 5812. 錯誤頁面 5913. CSS 文件 6014. JAVASCRIPT文件 76-. z1 需求分析1.11.1 系統(tǒng)開發(fā)背景系統(tǒng)開發(fā)背景隨著互聯網技術的飛速開展,互聯網的全球覆蓋,交互功能等特性給調查方法帶來新的變化,在線調查作為一種基于
9、互聯網平臺上信息采集及處理方式,越來越受到許多評估研究機構和媒介機構的關注與運用。在校園、企事業(yè)單位里,由于各種調查研究的需要,經常會有各種各樣的調查問卷,在傳統(tǒng)模式下,人們不但要花費不少的費用印刷問卷,而且還要消耗大量時間和精力對調查問卷進展發(fā)放和回收,對調查問卷進展統(tǒng)計,并且人工操作調查問卷隨意性較大,容易產生遺漏等問題。本系統(tǒng)建立在信息技術根底上,構建一個在線的問卷設計、分發(fā)、調查、回收、統(tǒng)計的系統(tǒng),根本解決傳統(tǒng)問卷的上述老大難問題。借助互聯網這一現代化的信息溝通渠道,在線調查具有低本錢、高速度、跨越空間局限、豐富的表現形式、智能化及互動性等優(yōu)點。因為其方便性,許多企業(yè)也在自己的網絡上進
10、展自主調研,使用調查的方式收集自己用戶的觀點等。不僅可以迅速了解社會不同層次、不同行業(yè)的人員需求,客觀的收集需求信息,調整修正產品策略和營銷策略,滿足不同的需求。在線調查問卷系統(tǒng)是一個實用性很強的系統(tǒng)。1.21.2 系統(tǒng)開發(fā)目的系統(tǒng)開發(fā)目的在線問卷調差的目的就是能夠提高調查效率,節(jié)約調查經費,使調查數據的分析更加的方便,應具有以下的功能特點:1向用戶提交交互式,個性化的問卷調查效勞。2智能的后臺管理,可以在線生成調查問卷,可分析統(tǒng)計調查的結果。3使用簡單、方便,問卷生成,投放,結果分析簡單易用。4具有靈活性,能應用不同的調查環(huán)境。-. z1.31.3 系統(tǒng)開發(fā)意義系統(tǒng)開發(fā)意義調查問卷系統(tǒng)的目的
11、是企業(yè)、組織或個人需要調查或掌握一些數據、信息或資料時,為這樣的需求者提供適合的網上問卷、回收、統(tǒng)計數據活動答案,為需求者掌握資料提供方便。1對調查問卷的統(tǒng)計結果進展分析匯總,并使需求者能及時了解最新的調查結果。2可以根據不同的需求靈活設計問卷。3支持多種題型,如單項選擇、多項選擇、簡答等。-. z2 概要設計2.12.1 總體設計總體設計系統(tǒng)的總體設計可以分為以下幾個局部:(1)使用 PHP 的 Laravel 框架實現系統(tǒng)的后臺管理系統(tǒng),包括問卷管理和用戶管理。(2)使用 Mysql 作為數據庫系統(tǒng)。(3)使用 JavasScript,Aja*和 CSS 構建前端頁面和交互系統(tǒng)。(4)使用
12、 HighCharters 庫實現數據可視化,實現問卷統(tǒng)計信息的圖表展示。2.22.2 功能設計功能設計.1 用戶系統(tǒng)設計用戶系統(tǒng)設計用戶可分為注冊用戶和一般用戶,注冊用戶需注冊信息前方可使用系統(tǒng),而一般用戶可直接系統(tǒng)。3 種用戶權限不同,具體如下:(1)系統(tǒng)管理員:管理系統(tǒng)和所有用戶的問卷。(2)注冊用戶:設計、編輯、發(fā)布問卷,查看問卷統(tǒng)計結果。(3)一般用戶:填寫問卷。.2 問卷系統(tǒng)設計問卷系統(tǒng)設計注冊用戶可以問卷系統(tǒng),并編輯問卷增加,刪除,修改,查詢與問卷對應的題目、選項。(1)問卷屬性:問卷標題,發(fā)布者,發(fā)布時間,有效時間,提交量,題目。(2)題目屬性:
13、題號,題目,題目類型,選項。(3)選項屬性:選項號,選項值。(4)題目類型:單項選擇題、多項選擇題、簡答題。-. z(5)問卷只有在有效時間才可以參與答題,超出有效時間后不可進展答題。2.32.3 數據庫設計數據庫設計數據庫包含 5 個表,分別是:users用戶表,questionnaires問卷表,subjects題目表,options選項表,short_answers簡答表。所有表的數據字典以及 E-R 圖如下。問卷問卷題目題目選項選項簡答簡答擁有擁有1n擁有擁有擁有擁有11nn創(chuàng)建創(chuàng)建n用戶用戶1用戶id用戶id用戶名用戶名用戶郵箱用戶郵箱用戶密碼用戶密碼創(chuàng)建時間創(chuàng)建時間更新時間更新時間
14、創(chuàng)建者創(chuàng)建者問卷id問卷id問卷標題問卷標題更新時間更新時間提交量提交量有效時間有效時間刪除標識刪除標識創(chuàng)建時間創(chuàng)建時間題目id題目id問卷id問卷id創(chuàng)建者創(chuàng)建者題號題號題目內容題目內容題目類型題目類型選項數選項數刪除標識刪除標識創(chuàng)建時間創(chuàng)建時間更新時間更新時間題目id題目id選項id選項id創(chuàng)建者創(chuàng)建者創(chuàng)建時間創(chuàng)建時間選項號選項號選項內容選項內容提交數提交數刪除標識刪除標識更新時間更新時間創(chuàng)建時間創(chuàng)建時間回答id回答id題目id題目id回答內容回答內容刪除標識刪除標識更新時間更新時間用戶組用戶組圖圖 2.12.1 E-RE-R 圖圖表表 2.12.1 用戶表用戶表usersusers-.
15、z字段名稱字段名稱字段類型字段類型注釋注釋idint(10)用戶標識,唯一,主鍵,自增namevarchar(255)用戶名,唯一emailvarchar(255)用戶passwordvarchar(60)用戶密碼groupint(11)用戶組管理員、注冊用戶created_attimestamp創(chuàng)立時間updated_attimestamp更新時間表表 2.22.2 問卷表問卷表questionnairesquestionnaires字段名稱字段名稱字段類型字段類型注釋注釋idint(10)問卷標識,唯一,主鍵,自增user_namevarchar(255)創(chuàng)立者titlete*t問卷標題c
16、ountsint(11)問卷提交量active_timeint(11)有效時間delete_tokenint(11)刪除標識0:未刪除,1:已刪除created_attimestamp創(chuàng)立時間updated_attimestamp更新時間表表 2.32.3 題目表題目表subjectssubjects字段名稱字段名稱字段類型字段類型注釋注釋idint(10)題目標識,唯一,主鍵,自增questionnaire_idint(11)題目對應的問卷標識外鍵user_namevarchar(255)創(chuàng)立者numberint(11)題號titlete*t題目容typevarchar(255)題目類型單項
17、選擇、多項選擇、簡答option_countint(11)題目對應的選項數delete_tokenint(11)刪除標識0:未刪除,1:已刪除created_attimestamp創(chuàng)立時間updated_attimestamp更新時間表表 2.42.4 選項表選項表-. zoptionsoptions字段名稱字段名稱字段類型字段類型注釋注釋idint(10)選項標識,唯一,主鍵,自增subject_idint(11)選項對應的題目標識外鍵user_namevarchar(255)創(chuàng)立者numbervarchar(255)選項號titlete*t選項容select_countint(11)選項被
18、選擇的次數delete_tokenint(11)刪除標識0:未刪除,1:已刪除created_attimestamp創(chuàng)立時間updated_attimestamp更新時間表表 2.52.5 簡答表簡答表short_answersshort_answers字段名稱字段名稱字段類型字段類型注釋注釋idint(10)答復標識,唯一,主鍵,自增subject_idint(11)答復對應的題目標識外鍵answervarchar(255)答復容delete_tokenint(11)刪除標識0:未刪除,1:已刪除created_attimestamp創(chuàng)立時間updated_attimestamp更新時間2.
19、32.3 交互設計交互設計使用 JavaScript,Aja*等實現系統(tǒng)交互,實現對話框設計以及 UI 動畫交互,使用 HighCharters 庫實現數據可視化系統(tǒng),對問卷統(tǒng)計結果進展圖表展示。-. z3 詳細設計3.13.1 用戶管理系統(tǒng)用戶管理系統(tǒng).1 用戶注冊用戶注冊本模塊用于實現新用戶的信息注冊,在注冊頁面檢查用戶輸入是否合法:(1)格式是否正確,是否已被注冊。(2)用戶名是否和已注冊用戶重復。(3)兩次密碼輸入是否一致。假設用戶輸入合法,允許注冊,并跳轉至用戶界面;否則,給出錯誤提示。此頁面 URL 為:localhost/auth/registerlocalhos
20、t 為系統(tǒng)域名,同下。用戶注冊頁面 UI 與流程圖如圖 3.1 和圖 3.2 所示。圖圖 3.13.1 用戶注冊頁面用戶注冊頁面圖圖 3.23.2 用戶注冊流程圖用戶注冊流程圖圖圖 3.33.3 用戶登錄流程圖用戶登錄流程圖.2 用戶登錄用戶登錄本模塊用于實現用戶登錄,在用戶輸入正確的用戶名和密碼后,進入系統(tǒng);否則,提示用戶錯誤信息。此頁面 URL 為:localhost,假設存在 Session,跳轉至問卷展示頁面。用戶登錄流程圖與頁面 UI 如圖 3.3 和圖 3.4 所示。圖圖 3.43.4 用戶登錄界面用戶登錄界面3.23.2 問卷管理系統(tǒng)問卷管理系統(tǒng).
21、1 問卷信息管理問卷信息管理本模塊用于實現用戶問卷信息的后臺管理。具體的操作有:問卷信息展示、創(chuàng)立新問卷、更新問卷、刪除問卷等操作。-. z要展示的問卷信息有:(1)問卷 ID系統(tǒng)唯一,在創(chuàng)立問卷時由系統(tǒng)自動生成。(2)問卷標題。(3)問卷創(chuàng)立者的用戶名。(4)問卷的創(chuàng)立時間和有效時間在有效時間問卷可以答題。(5)問卷的提交量。(6)查看問卷統(tǒng)計信息的。(7)查看問卷地址的。(8)編輯問卷題目的。(9)問卷操作按鈕,包括問卷更新按鈕和問卷刪除按鈕。此頁面 URL 為:localhost/userconsole/用戶名,為變量,是不同用戶進入自己問卷管理頁面的條件。更新問卷的 post 地址為:
22、localhost/userconsole/用戶名/updatequestionnaire。刪除問卷的 post 地址為:localhost/userconsole/用戶名/deletequestionnaire。問卷信息管理頁面 UI 與流程圖如圖 3.5 和圖 3.6 所示。圖圖 3.53.5 問卷信息展示頁面問卷信息展示頁面除此之外,還有一個添加問卷按鈕。使用 JavaScript 捕獲按鈕點擊消息,生成建立新問卷對話框,用戶填寫問卷標題與有效時間后可以創(chuàng)立新問卷。使用Aja*與效勞器交流將問卷信息寫入數據庫,做到平滑操作,改善用戶體驗。添加表單的 post 地址為:localhost/
23、userconsole/用戶名/addquestionnaire創(chuàng)立新問卷流程圖與頁面 UI 如圖 3.7 和圖 3.8 所示。圖圖 3.63.6 問卷信息展示流程圖問卷信息展示流程圖圖圖 3.73.7 建立新問卷流程圖建立新問卷流程圖圖圖 3.83.8 建立新問卷頁面建立新問卷頁面-. z.2 題目信息管理題目信息管理本模塊用于實現題目信息的后臺管理。具體的操作有:題目信息展示、創(chuàng)立新題目、更新題目、刪除題目等操作。要展示的題目信息有:(1)題號,用于展示問卷時的題目排序。(2)題目容。(3)題型單項選擇題、多項選擇題、簡答題。(4)編輯題目對應選項的簡答題除外。(5)題目操
24、作按鈕,包括題目更新按鈕和題目刪除按鈕。此頁面 URL 為:localhost/userconsole/用戶名/questionnaire/問卷 id。題目信息管理頁面 UI 與流程圖如圖 3.9 和圖 3.10 所示。圖圖 3.93.9 題目信息展示頁面題目信息展示頁面圖圖 3.103.10 題目信息展示流程圖題目信息展示流程圖除此之外,還有一個添加題目按鈕。使用 JavaScript 捕獲按鈕點擊消息,生成建立新題目對話框,用戶通過下拉框選擇題號與題型,輸入題目后可以創(chuàng)立新題目,已有的題號不會出現在下拉框中,防止生成問卷的題號重復。使用 Aja*與效勞器交流將問卷信息寫入數據庫,做到平滑操
25、作,改善用戶體驗。添加新題目頁面 UI 與流程圖如圖 3.11 和圖 3.12 所示。圖圖 3.113.11 建立新題目頁面建立新題目頁面 圖圖 3.123.12 建立新題目流程圖建立新題目流程圖 .3 選項信息管理選項信息管理本模塊用于實現選項信息的后臺管理。具體的操作有:選項信息展示、創(chuàng)立新選項、更新選項、刪除選項等操作。要展示的選項信息有:(1)選項號,用于展示題目時的選項排序。(2)選項容。-. z(3)選項操作按鈕,包括選項更新按鈕和選項刪除按鈕。此頁面 URL 為:localhost/userconsole/用戶名/subject/題目 id。選項信息管理頁面 UI
26、 與流程圖如圖 3.13 和圖 3.14 所示。圖圖 3.133.13 選項信息管理頁面選項信息管理頁面圖圖 3.143.14 選項信息管理流程圖選項信息管理流程圖除此之外,還有一個添加選項按鈕。使用 JavaScript 捕獲按鈕點擊消息,生成建立新選項對話框,用戶通過下拉框選擇選項號,輸入選項容后可以創(chuàng)立新選項,已有的選項號不會出現在下拉框中,防止生成問卷的題號重復。使用 Aja*與效勞器交流將問卷信息寫入數據庫,做到平滑操作,改善用戶體驗。添加新題目頁面 UI 與流程圖如圖 3.15 和圖 3.16 所示。圖圖 3.153.15 建立新選項頁面建立新選項頁面 圖圖 3.163.16 建立
27、新選項流程圖建立新選項流程圖.4 問卷結果統(tǒng)計問卷結果統(tǒng)計根據用戶填寫的問卷信息,統(tǒng)計選擇題每一道選項的選項次數以及簡答題的答案。同一道題目不同選項選擇次數使用餅狀圖顯示百分比。使用 HighCharte庫繪制餅狀圖。頁面 URL 為:localhost/userconsole/用戶名/questionnaire/問卷 id/result。頁面 UI 如圖 3.17 與圖 3.18 所示。圖圖 3.173.17 問卷統(tǒng)計選擇題展示頁面問卷統(tǒng)計選擇題展示頁面圖圖 3.183.18 問卷統(tǒng)計簡答題展示頁面問卷統(tǒng)計簡答題展示頁面 .5 問卷生成問卷生成根據用戶創(chuàng)立的問
28、卷、題目以及對應的選項信息,生成一個完整的問卷頁面,頁面 URL 為:localhost/questionnaire/問卷 id。頁面 UI 如圖 3.19 所示。圖圖 3.193.19 問卷頁面問卷頁面 .6 問卷提交問卷提交在用戶填寫完問卷并提交之后,向用戶反應此問卷的統(tǒng)計信息。頁面 UI 如-. z圖 3.20 所示圖圖 3.203.20 反應信息反應信息 -. z4 測試4.14.1 出現的錯誤出現的錯誤1. 用戶權限問題,導致注冊用戶可以編輯其他用戶創(chuàng)立的題目以及選項。2. 無法通過 Laravel 的 MVC 框架聯立不同的數據庫表格。3. 更新數據庫時,導致多個行
29、被錯誤修改。4.24.2 解決方法解決方法1. 在后臺頁面首先根據 URL 的用戶名變量,判斷變量與 Session 用戶標識是否一致,假設一致,轉入編輯頁面;不一致,轉到錯誤頁面。2. 外鍵與主鍵設置錯誤,修改即可。3. 錯誤使用 MVC 的 find 語句,修改成 where 語句即可。-. z參考文獻1麥克勞克林. PHP & MySQL 實戰(zhàn)手冊-第二版M. 中國電力, 2021.2克強, 裴云, 黃向黨. PHP 和 MySQL Web 開發(fā)從新手到高手M. 人民郵電, 2021.3惠貞, 俊榮. PHP & MySQL 程序設計實例講座M. 清華大學, 2021.4
30、孔瀟. PHP & MySQL 建立M. 國防工業(yè), 2001.5TimBoronczyk, MartinE.Psinas. PHP & MySQL 例精解:創(chuàng)立、修改、重用M. 清華大學, 2021.6萬川梅, 周建儒. PHP WEB 程序設計M. 西南交通大學, 2021.7陸凱. PHP 開發(fā)實用技術M. 人民郵電, 2021.8傳智播客高教產品研發(fā)部. PHP 程序設計高級教程M. 中國鐵道, 2021 .-. z附 錄關鍵局部程序清單1.1. 路由文件路由文件 auth, namespace = Auth, function()Route:post(loginChe
31、ck, AuthControllerloginCheck);Route:get(register, AuthControllerregister);Route:post(registerCheck, AuthControllerregisterCheck);Route:post(registerEmailCheck, AuthControllerregisterEmailCheck);Route:post(registerNameCheck, AuthControllerregisterNameCheck););/問卷展示頁Route:group(prefi* = questionnaire,
32、 namespace = Questionnaire, function()Route:get(questionnaireid, QuestionnaireControllerinde*);Route:post(questionnaireid/result, QuestionnaireControllerresult););/用戶后臺Route:group(prefi* = userconsole, namespace = UserConsole, function()/展示用戶的問卷Route:get(username, UserConsoleControllerinde*);/增加問卷Ro
33、ute:post(username/addquestionnaire, UserConsoleControlleraddquestionnaire);/修改問卷Route:post(username/updatequestionnaire, UserConsoleControllerupdatequestionnaire);/刪除問卷Route:post(username/deletequestionnaire, UserConsoleControllerdeletequestionnaire);/展示問卷的題目Route:get(username/questionnaire/question
34、naireid, UserConsoleControllerquestionnaire);/提交結果統(tǒng)計-. zRoute:get(username/questionnaire/questionnaireid/result, UserConsoleControllersubmitresult);Route:get(username/questionnaire/questionnaireid/result/subjectid, UserConsoleControlleranswerresult);/增加題目Route:post(username/questionnaire/questionnai
35、reid/addsubject, UserConsoleControlleraddsubject);/修改題目Route:post(username/questionnaire/questionnaireid/updatesubject, UserConsoleControllerupdatesubject);/刪除題目Route:post(username/questionnaire/questionnaireid/deletesubject, UserConsoleControllerdeletesubject);/展示題目的選項Route:get(username/subject/sub
36、jectid, UserConsoleControllersubject);/增加選項Route:post(username/subject/subjectid/addoption, UserConsoleControlleraddoption);/修改選項Route:post(username/subject/subjectid/updateoption, UserConsoleControllerupdateoption);/刪除選項Route:post(username/subject/subjectid/deleteoption, UserConsoleControllerdelete
37、option););2.2. 用戶管理后臺文件用戶管理后臺文件auth = $auth;$this-registrar = $registrar;$this-middleware(guest, e*cept = getLogout); */* * 登陸頁面展示 * * return Response */public function inde*()return view(auth.login);/* * 登錄驗證 * * return Response */public function loginCheck()/ 處理表單:if ( (!empty($_POSTuser_nicename)
38、 & (!empty($_POSTuser_pass) )$user_nicename = htmlspecialchars(stripslashes(trim($_POSTuser_nicename);$user_pass = htmlspecialchars(stripslashes(trim($_POSTuser_pass);$user_pass = md5($user_pass);/查找與用戶名對應行$user_info = User:where(name, $user_nicename)-first();/信息匹配-. zif($user_info != NULL AND $
39、user_info-password = $user_pass)Session:put(auth_state, 1);Session:put(user_name, $user_nicename);return 1;/信息不匹配elsereturn 0;elsereturn 0;/* * 注冊界面 * * return Response */public function register()return view(auth.register);/* * 注冊驗證 * * return Response */public function registerCheck()/ 處理表單:if ( (
40、!empty($_POSTuser_nicename) & (!empty($_POSTuser_pass) & (!empty($_POSTuser_email) )$user_nicename = htmlspecialchars(stripslashes(trim($_POSTuser_nicename);$user_pass = htmlspecialchars(stripslashes(trim($_POSTuser_pass);$user_pass = md5($user_pass);$user_email = -. zhtmlspecialchars(strips
41、lashes(trim($_POSTuser_email);$created_at = $updated_at = date(Y-m-d H:i:s);$userurl_id = User:insertGetId(array( name= $user_nicename,email= $user_email,password= $user_pass,created_at= $created_at,updated_at= $updated_at);Session:put(auth_state, 1);Session:put(user_name, $user_nicename);/* * 注冊驗證-
42、 * * return Response */public function registerEmailCheck()/ 處理表單:if ( !empty($_POSTuser_email) )/查找與用戶名對應行$user_info = User:where(email, $_POSTuser_email)-first();/信息存在if($user_info != NULL)return 1;elsereturn 0;/* * 注冊驗證-用戶名 * * return Response */public function registerNameCheck()-. z/ 處理表單:if (
43、!empty($_POSTuser_name) )/查找與用戶名對應行$user_info = User:where(name, $_POSTuser_name)-first();/用戶信息存在if($user_info != NULL)return 1;elsereturn 0;3.3. 問卷后臺管理文件問卷后臺管理文件first();-. z$QuestionnairesList = $user-hasManyQuestionnaire()-where(delete_token, 0)-orderBy(id,desc)-get();return view(userconsole.inde*
44、)-with(QuestionnairesList,$QuestionnairesList);/顯示錯誤信息elsereturn view(errors.authority); /* 添加問卷 * * return Response */public function addquestionnaire($userName)/登陸用戶正確,顯示用戶控制臺if(Session:has(auth_state) & Session:get(user_name) = $userName)/處理添加新選項的表單if ( (!empty($_POSTNewQuestionnaireTitle) &a
45、mp; (!empty($_POSTNewQuestionnaireTime) )$NewQuestionnaireTitle = $_POSTNewQuestionnaireTitle;$NewQuestionnaireTime = $_POSTNewQuestionnaireTime;/插入一行記錄$created_at = $updated_at = date(Y-m-d H:i:s);$questionnaire = Questionnaire:insertGetId(array( user_name = $userName,/問卷創(chuàng)立者title = $NewQuestionnair
46、eTitle,/問卷標題active_time= $NewQuestionnaireTime,/有效時間delete_token= 0,/刪除標記created_at= $created_at,/創(chuàng)立時間updated_at = $updated_at)/更新時間);return success;-. zelsereturn inputnull;/顯示錯誤信息return view(errors.authority); /* 修改問卷 * * return Response */public function updatequestionnaire($userName)/登陸用戶正確,顯示用戶
47、控制臺if(Session:has(auth_state) & Session:get(user_name) = $userName)/處理添加新選項的表單if ( (!empty($_POSTUpdateQuestionnaireTitle) & (!empty($_POSTUpdateQuestionnaireTime) & (!empty($_POSTQuestionnaireId) )$UpdateQuestionnaireTitle = $_POSTUpdateQuestionnaireTitle;$UpdateQuestionnaireTime = $_PO
48、STUpdateQuestionnaireTime;$QuestionnaireId = $_POSTQuestionnaireId;/更新一行記錄$created_at = $updated_at = date(Y-m-d H:i:s);$questionnaire = Questionnaire:where(id, $QuestionnaireId)-update(array( title = $UpdateQuestionnaireTitle, /問卷標題active_time = $UpdateQuestionnaireTime)/有效時間);return success;elsere
49、turn inputnull;/顯示錯誤信息return view(errors.authority);-. z /* 刪除問卷 * * return Response */public function deletequestionnaire($userName)/登陸用戶正確,顯示用戶控制臺if(Session:has(auth_state) & Session:get(user_name) = $userName)/處理添加新選項的表單if ( !empty($_POSTQuestionnaireId) )$QuestionnaireId = $_POSTQuestionnair
50、eId;/更新一行記錄$created_at = $updated_at = date(Y-m-d H:i:s);$questionnaire = Questionnaire:where(id, $QuestionnaireId)-update(array(delete_token= 1/刪除標記);return success;elsereturn inputnull;/顯示錯誤信息return view(errors.authority);/* * 問卷編輯 * * return Response */public function questionnaire($userName, $qu
51、estionnaireId)/登陸用戶正確,顯示用戶控制臺if(Session:has(auth_state) & Session:get(user_name) = $userName)-. z/此問卷表所包含的所有題目$Questionnaire = Questionnaire:where(id, $questionnaireId)-first();/此問卷表創(chuàng)立者與登錄用戶一致if($Questionnaire-user_name = $userName)$SubjectsList = $Questionnaire-hasManySubject()-where(delete_tok
52、en, 0)-orderBy(number)-get();$AllNumber = array();for($i=1; $inumber);$otherSubjectNumber = array_diff($AllNumber,$SubjectNumbers);return view(userconsole.questionnaire)-with(SubjectsList, $SubjectsList)/題目列表-with(QuestionnaireId, $questionnaireId)/問卷 ID-with(QuestionnaireTitle,$Questionnaire-title)
53、/問卷標題-with(SubjectNumbers, $otherSubjectNumber);/可用選項/顯示錯誤信息return view(errors.authority); /* 給指定問卷添加新題目 * * return Response */public function addsubject($userName, $questionnaireId) / 登陸用戶正確,顯示用戶控制臺if(Session:has(auth_state) & Session:get(user_name) = $userName)/此問卷表所包含的所有題目$Questionnaire = Que
54、stionnaire:where(id, $questionnaireId)-first();-. z/此題目創(chuàng)立者與登錄用戶一致if($Questionnaire-user_name = $userName)/處理添加新選項的表單if ( (!empty($_POSTNewSubjectNumber) & (!empty($_POSTNewSubjectType) & (!empty($_POSTNewSubjectTitle) )$NewSubjectNumber = $_POSTNewSubjectNumber;$NewSubjectType = $_POSTNewSub
55、jectType;$NewSubjectTitle = $_POSTNewSubjectTitle;/插入一行記錄$created_at = $updated_at = date(Y-m-d H:i:s);$subject_id = Subject:insertGetId(array( questionnaire_id= $questionnaireId,/問卷iduser_name = $userName,/問卷創(chuàng)立者number = $NewSubjectNumber,/題號title = $NewSubjectTitle,/題目type = $NewSubjectType,/題目類型(單
56、項選擇,多項選擇,簡答)delete_token = 0,/刪除標記created_at = $created_at,/創(chuàng)立時間updated_at = $updated_at)/更新時間);return success;elsereturn inputnull;/顯示錯誤信息return view(errors.authority); /* 修改指定題目的值 * * return Response */-. zpublic function updatesubject($userName, $questionnaireId) / 登陸用戶正確,顯示用戶控制臺if(Session:has(au
57、th_state) & Session:get(user_name) = $userName)/此問卷表所包含的所有題目$Questionnaire = Questionnaire:where(id, $questionnaireId)-first();/此問卷表創(chuàng)立者與登錄用戶一致if($Questionnaire-user_name = $userName)/處理添加新題目的表單if ( (!empty($_POSTUpdateSubjectNumber) & (!empty($_POSTUpdateSubjectTitle) & (!empty($_POSTSub
58、jectId) )$SubjectId = $_POSTSubjectId;$UpdateSubjectNumber = $_POSTUpdateSubjectNumber;$UpdateSubjectTitle = $_POSTUpdateSubjectTitle;/更新一行記錄$subject_id = Subject:where(id, $SubjectId)-update(array( number= $UpdateSubjectNumber,/題號title = $UpdateSubjectTitle/題目);return success;elsereturn inputnull;/
59、顯示錯誤信息return view(errors.authority); /* 刪除指定題目的值 * * return Response */public function deletesubject($userName, $subjectId) / 登陸用戶正確,顯示用戶控制臺-. zif(Session:has(auth_state) & Session:get(user_name) = $userName)/此問卷表所包含的所有題目$Questionnaire = Questionnaire:where(id, $subjectId)-first();/此問卷表創(chuàng)立者與登錄用戶一
60、致if($Questionnaire-user_name = $userName)/處理刪除題目的表單if ( (!empty($_POSTSubjectId) )$SubjectId = $_POSTSubjectId;/更新一行記錄,將刪除標記置 1$subject_id = Subject:where(id, $SubjectId)-update(array( delete_token= 1/刪除標記);return success;elsereturn inputnull;/顯示錯誤信息return view(errors.authority);/* * 題目編輯 * * return Response */public function subject($userName, $subjectId) / 登陸用戶正確,顯示用戶控制臺if(Session:has(auth
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版商鋪出租合同樣本3篇
- 2024物業(yè)管理系統(tǒng)托管服務合同
- 2024年標準簡易借款合同模板版B版
- 2024年高清安防監(jiān)控系統(tǒng)安裝協(xié)議版B版
- 2024版測量技術員勞動協(xié)議范本版B版
- 2024年科技型中小企業(yè)借款擔保服務協(xié)議3篇
- 2025年度影視拍攝車輛租賃及場景搭建續(xù)約協(xié)議3篇
- 2024年許可使用合同:知名品牌商標使用許可協(xié)議
- 2024年股權轉讓介紹協(xié)議
- 2024版攝影棚居間合同
- 2023年全國統(tǒng)一建筑工程預算工程量計算規(guī)則完整版
- 大學《工程力學》期末考試試題庫含詳細答案
- cn.7a一種醬香型大曲酒固態(tài)發(fā)酵的生態(tài)控制方法
- TLFSA 003-2020 危害分析與關鍵控制點(HACCP)體系調味面制品生產企業(yè)要求
- LY/T 2244.3-2014自然保護區(qū)保護成效評估技術導則第3部分:景觀保護
- GB/T 8491-2009高硅耐蝕鑄鐵件
- 供水安全與搶修
- DB31 595-2021 冷庫單位產品能源消耗指標
- 第三章果蔬采后生理課件
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實習護生壓瘡相關知識掌握情況及預防態(tài)度的調查問卷
評論
0/150
提交評論