基于web的在線問(wèn)卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)資料整理_第1頁(yè)
基于web的在線問(wèn)卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)資料整理_第2頁(yè)
基于web的在線問(wèn)卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)資料整理_第3頁(yè)
基于web的在線問(wèn)卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)資料整理_第4頁(yè)
基于web的在線問(wèn)卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)資料整理_第5頁(yè)
已閱讀5頁(yè),還剩189頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

參考文獻(xiàn)[1]麥克勞克林.PHP&MySQL實(shí)戰(zhàn)手冊(cè)-第二版[M].中國(guó)電力出版社,2014.[2]楊克李強(qiáng),裴云,黃向黨.PHP和MySQLWeb開發(fā)從新手到高手[M].人民郵電出版社,2013.[3]陳惠貞,陳俊榮.PHP&MySQL程序設(shè)計(jì)實(shí)例講座[M].清華大學(xué)出版社,2010.[4]孔瀟.PHP&MySQL網(wǎng)站建設(shè)[M].國(guó)防工業(yè)出版社,2001.[5]TimBoronczyk,MartinE.Psinas.PHP&MySQL范例精解:創(chuàng)建、修改、重用[M].清華大學(xué)出版社,2009.[6]萬(wàn)川梅,周建儒.PHPWEB程序設(shè)計(jì)[M].西南交通大學(xué)出版社,2014.[7]陸凱.PHP網(wǎng)站開發(fā)實(shí)用技術(shù)[M].人民郵電出版社,2016.[8]傳智播客高教產(chǎn)品研發(fā)部.PHP程序設(shè)計(jì)高級(jí)教程[M].中國(guó)鐵道出版社,2015.沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告附錄(關(guān)鍵部分程序清單)1.路由文件<?phpRoute::get('/','Auth\AuthController@index');// 身份驗(yàn)證Route::group(['prefix'=>'auth','namespace'=>'Auth'],function(){ Route::post('loginCheck','AuthController@loginCheck'); Route::get('register','AuthController@register'); Route::post('registerCheck','AuthController@registerCheck'); Route::post('registerEmailCheck','AuthController@registerEmailCheck'); Route::post('registerNameCheck','AuthController@registerNameCheck');});// 問(wèn)卷展示頁(yè)Route::group(['prefix'=>'questionnaire','namespace'=>'Questionnaire'],function(){ Route::get('{questionnaireid}','QuestionnaireController@index'); Route::post('{questionnaireid}/result','QuestionnaireController@result');});// 用戶后臺(tái)Route::group(['prefix'=>'userconsole','namespace'=>'UserConsole'],function(){ // 展示用戶的問(wèn)卷 Route::get('{username}','UserConsoleController@index'); // 增加問(wèn)卷 Route::post('{username}/addquestionnaire','UserConsoleController@addquestionnaire'); // 修改問(wèn)卷 Route::post('{username}/updatequestionnaire','UserConsoleController@updatequestionnaire'); // 刪除問(wèn)卷 Route::post('{username}/deletequestionnaire','UserConsoleController@deletequestionnaire'); // 展示問(wèn)卷的題目 Route::get('{username}/questionnaire/{questionnaireid}','UserConsoleController@questionnaire'); // 提交結(jié)果統(tǒng)計(jì) Route::get('{username}/questionnaire/{questionnaireid}/result','UserConsoleController@submitresult'); Route::get('{username}/questionnaire/{questionnaireid}/result/{subjectid}','UserConsoleController@answerresult'); // 增加題目 Route::post('{username}/questionnaire/{questionnaireid}/addsubject','UserConsoleController@addsubject'); // 修改題目 Route::post('{username}/questionnaire/{questionnaireid}/updatesubject','UserConsoleController@updatesubject'); // 刪除題目 Route::post('{username}/questionnaire/{questionnaireid}/deletesubject','UserConsoleController@deletesubject'); // 展示題目的選項(xiàng) Route::get('{username}/subject/{subjectid}','UserConsoleController@subject'); // 增加選項(xiàng) Route::post('{username}/subject/{subjectid}/addoption','UserConsoleController@addoption'); // 修改選項(xiàng) Route::post('{username}/subject/{subjectid}/updateoption','UserConsoleController@updateoption'); // 刪除選項(xiàng) Route::post('{username}/subject/{subjectid}/deleteoption','UserConsoleController@deleteoption');});2.用戶管理后臺(tái)文件<?phpnamespaceApp\Http\Controllers\Auth;useApp\Http\Controllers\Controller;useIlluminate\Contracts\Auth\Guard;useIlluminate\Contracts\Auth\Registrar;useIlluminate\Foundation\Auth\AuthenticatesAndRegistersUsers;useApp\User;useSession;classAuthControllerextendsController{ /* | |Registration&LoginController | | |Thiscontrollerhandlestheregistrationofnewusers,aswellasthe |authenticationofexistingusers.Bydefault,thiscontrolleruses |asimpletraittoaddthesebehaviors.Whydon'tyouexploreit? | */ useAuthenticatesAndRegistersUsers; /** *Createanewauthenticationcontrollerinstance. * *@param\Illuminate\Contracts\Auth\Guard$auth *@param\Illuminate\Contracts\Auth\Registrar$registrar *@returnvoid publicfunction__construct(Guard$auth,Registrar$registrar) { $this->auth=$auth; $this->registrar=$registrar; $this->middleware('guest',['except'=>'getLogout']); }*/ /** *登陸頁(yè)面展示 * *@returnResponse */ publicfunctionindex() { returnview('auth.login'); } /** *登錄驗(yàn)證 * *@returnResponse */ publicfunctionloginCheck() { //處理表單: if((!empty($_POST['user_nicename']))&&(!empty($_POST['user_pass']))) { $user_nicename=htmlspecialchars(stripslashes(trim($_POST['user_nicename']))); $user_pass=htmlspecialchars(stripslashes(trim($_POST['user_pass']))); $user_pass=md5($user_pass); // 查找與用戶名對(duì)應(yīng)行 $user_info=User::where('name',$user_nicename)->first(); // 信息匹配 if($user_info!=NULLAND$user_info->password==$user_pass) { Session::put('auth_state','1'); Session::put('user_name',"$user_nicename"); return"1"; } // 信息不匹配 else { return"0"; } } else { return"0"; } } /** *注冊(cè)界面 * *@returnResponse */ publicfunctionregister() { returnview('auth.register'); } /** *注冊(cè)驗(yàn)證 * *@returnResponse */ publicfunctionregisterCheck() { //處理表單: if((!empty($_POST['user_nicename']))&&(!empty($_POST['user_pass']))&&(!empty($_POST['user_email']))) { $user_nicename=htmlspecialchars(stripslashes(trim($_POST['user_nicename']))); $user_pass=htmlspecialchars(stripslashes(trim($_POST['user_pass']))); $user_pass=md5($user_pass); $user_email=htmlspecialchars(stripslashes(trim($_POST['user_email']))); $created_at=$updated_at=date('Y-m-dH: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"); } } /** *注冊(cè)驗(yàn)證--郵箱 * *@returnResponse */ publicfunctionregisterEmailCheck() { //處理表單: if(!empty($_POST['user_email'])) { // 查找與用戶名對(duì)應(yīng)行 $user_info=User::where('email',$_POST['user_email'])->first(); // 郵箱信息存在 if($user_info!=NULL) { return"1"; } else { return"0"; } } } /** *注冊(cè)驗(yàn)證--用戶名 * *@returnResponse */ publicfunctionregisterNameCheck() { //處理表單: if(!empty($_POST['user_name'])) { // 查找與用戶名對(duì)應(yīng)行 $user_info=User::where('name',$_POST['user_name'])->first(); // 用戶信息存在 if($user_info!=NULL) { return"1"; } else { return"0"; } } }}3.問(wèn)卷后臺(tái)管理文件<?phpnamespaceApp\Http\Controllers\UserConsole;useApp\Http\Requests;useApp\Http\Controllers\Controller;useApp\User;useApp\Questionnaire;useApp\Subject;useApp\Option;useApp\Short_answer;useSession;useIlluminate\Http\Request;classUserConsoleControllerextendsController{ /** *用戶控制臺(tái) * *@returnResponse */ publicfunctionindex($userName) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此用戶所創(chuàng)建的所有問(wèn)卷表 $user=User::where('name',$userName)->first(); $QuestionnairesList=$user->hasManyQuestionnaire()->where('delete_token','0')->orderBy('id','desc')->get(); returnview('userconsole.index')->with('QuestionnairesList',$QuestionnairesList); } // 顯示錯(cuò)誤信息 else { returnview('errors.authority'); } } /*添加問(wèn)卷 * *@returnResponse */ publicfunctionaddquestionnaire($userName) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 處理添加新選項(xiàng)的表單 if((!empty($_POST['NewQuestionnaireTitle']))&&(!empty($_POST['NewQuestionnaireTime']))) { $NewQuestionnaireTitle=$_POST['NewQuestionnaireTitle']; $NewQuestionnaireTime=$_POST['NewQuestionnaireTime']; // 插入一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $questionnaire=Questionnaire::insertGetId( array('user_name' =>$userName, // 問(wèn)卷創(chuàng)建者 'title' =>$NewQuestionnaireTitle, // 問(wèn)卷標(biāo)題 'active_time' =>$NewQuestionnaireTime, // 有效時(shí)間 'delete_token' =>0, // 刪除標(biāo)記 'created_at' =>$created_at, // 創(chuàng)建時(shí)間 'updated_at'=>$updated_at) // 更新時(shí)間 ); return"success"; } else { return"inputnull"; } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*修改問(wèn)卷 * *@returnResponse */ publicfunctionupdatequestionnaire($userName) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 處理添加新選項(xiàng)的表單 if((!empty($_POST['UpdateQuestionnaireTitle']))&&(!empty($_POST['UpdateQuestionnaireTime']))&&(!empty($_POST['QuestionnaireId']))) { $UpdateQuestionnaireTitle=$_POST['UpdateQuestionnaireTitle']; $UpdateQuestionnaireTime=$_POST['UpdateQuestionnaireTime']; $QuestionnaireId=$_POST['QuestionnaireId']; // 更新一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $questionnaire=Questionnaire::where('id',$QuestionnaireId)->update( array('title' =>$UpdateQuestionnaireTitle, // 問(wèn)卷標(biāo)題 'active_time'=>$UpdateQuestionnaireTime) // 有效時(shí)間 ); return"success"; } else { return"inputnull"; } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*刪除問(wèn)卷 * *@returnResponse */ publicfunctiondeletequestionnaire($userName) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 處理添加新選項(xiàng)的表單 if(!empty($_POST['QuestionnaireId'])) { $QuestionnaireId=$_POST['QuestionnaireId']; // 更新一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $questionnaire=Questionnaire::where('id',$QuestionnaireId)->update( array( 'delete_token' =>1 // 刪除標(biāo)記 ) ); return"success"; } else { return"inputnull"; } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** *問(wèn)卷編輯 * *@returnResponse */ publicfunctionquestionnaire($userName,$questionnaireId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); // 此問(wèn)卷表創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName) { $SubjectsList=$Questionnaire->hasManySubject()->where('delete_token','0')->orderBy('number')->get(); $AllNumber=array(); for($i=1;$i<100;$i++) { array_push($AllNumber,$i); } $SubjectNumbers=array(); foreach($SubjectsListas$Subject) { array_push($SubjectNumbers,$Subject->number); } $otherSubjectNumber=array_diff($AllNumber,$SubjectNumbers); returnview('userconsole.questionnaire')->with("SubjectsList",$SubjectsList) // 題目列表 ->with("QuestionnaireId",$questionnaireId) // 問(wèn)卷ID ->with("QuestionnaireTitle",$Questionnaire->title) // 問(wèn)卷標(biāo)題 ->with("SubjectNumbers",$otherSubjectNumber); // 可用選項(xiàng) } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*給指定問(wèn)卷添加新題目 * *@returnResponse */ publicfunctionaddsubject($userName,$questionnaireId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); // 此題目創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName) { // 處理添加新選項(xiàng)的表單 if((!empty($_POST['NewSubjectNumber']))&&(!empty($_POST['NewSubjectType']))&&(!empty($_POST['NewSubjectTitle']))) { $NewSubjectNumber=$_POST['NewSubjectNumber']; $NewSubjectType=$_POST['NewSubjectType']; $NewSubjectTitle=$_POST['NewSubjectTitle']; // 插入一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $subject_id=Subject::insertGetId( array('questionnaire_id' =>$questionnaireId, // 問(wèn)卷id 'user_name' =>$userName, // 問(wèn)卷創(chuàng)建者 'number' =>$NewSubjectNumber, // 題號(hào) 'title' =>$NewSubjectTitle, // 題目 'type' =>$NewSubjectType, // 題目類型(單選,多選,簡(jiǎn)答) 'delete_token' =>0, // 刪除標(biāo)記 'created_at' =>$created_at, // 創(chuàng)建時(shí)間 'updated_at' =>$updated_at) // 更新時(shí)間 ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*修改指定題目的值 * *@returnResponse */ publicfunctionupdatesubject($userName,$questionnaireId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); // 此問(wèn)卷表創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName) { // 處理添加新題目的表單 if((!empty($_POST['UpdateSubjectNumber']))&&(!empty($_POST['UpdateSubjectTitle']))&&(!empty($_POST['SubjectId']))) { $SubjectId=$_POST['SubjectId']; $UpdateSubjectNumber=$_POST['UpdateSubjectNumber']; $UpdateSubjectTitle=$_POST['UpdateSubjectTitle']; // 更新一行記錄 $subject_id=Subject::where('id',$SubjectId)->update( array( 'number'=>$UpdateSubjectNumber, // 題號(hào) 'title' =>$UpdateSubjectTitle // 題目 ) ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*刪除指定題目的值 * *@returnResponse */ publicfunctiondeletesubject($userName,$subjectId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$subjectId)->first(); // 此問(wèn)卷表創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName) { // 處理刪除題目的表單 if((!empty($_POST['SubjectId']))) { $SubjectId=$_POST['SubjectId']; // 更新一行記錄,將刪除標(biāo)記置1 $subject_id=Subject::where('id',$SubjectId)->update( array( 'delete_token' =>1 // 刪除標(biāo)記 ) ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** *題目編輯 * *@returnResponse */ publicfunctionsubject($userName,$subjectId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此題目所包含的所有選項(xiàng) $Subject=Subject::where('id',$subjectId)->first(); // 此題目創(chuàng)建者與登錄用戶一致 if($Subject->user_name==$userName) { $OptionsList=$Subject->hasManyOption()->where('delete_token','0')->orderBy('number')->get(); $Alphabet=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); $OptionNumber=array(); foreach($OptionsListas$Option) { array_push($OptionNumber,$Option->number); } $otherOptionNumber=array_diff($Alphabet,$OptionNumber); returnview('userconsole.subject')->with("OptionsList",$OptionsList) // 選項(xiàng)列表 ->with("QuestionnaireId",$Subject->questionnaire_id) // 問(wèn)卷ID ->with("SubjectId",$subjectId) // 題目ID ->with("SubjectIdType",$Subject->type) // 題目類型 ->with("SubjectIdTitle",$Subject->title) // 題目?jī)?nèi)容 ->with("SubjectIdNumber",$Subject->number) // 題號(hào) ->with("OptionsCount",$Subject->option_count) // 某選項(xiàng)已選次數(shù) ->with("OptionNumbers",$otherOptionNumber); // 可用選項(xiàng) } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*給指定題目添加新選項(xiàng) * *@returnResponse */ publicfunctionaddoption($userName,$subjectId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此題目所包含的所有選項(xiàng) $Subject=Subject::where('id',$subjectId)->first(); // 此題目創(chuàng)建者與登錄用戶一致 if($Subject->user_name==$userName) { // 處理添加新選項(xiàng)的表單 if((!empty($_POST['NewOptionNumber']))&&(!empty($_POST['NewOptionValue']))) { $NewOptionNumber=$_POST['NewOptionNumber']; $NewOptionValue=$_POST['NewOptionValue']; // 插入一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $option_id=Option::insertGetId( array('subject_id' =>$subjectId, // 題目id 'user_name' =>$userName, // 問(wèn)卷創(chuàng)建者 'number' =>$NewOptionNumber, // 選項(xiàng)號(hào)(A、B、C、D...) 'title' =>$NewOptionValue, // 選項(xiàng)內(nèi)容 'select_count' =>0, // 選擇數(shù)目 'delete_token' =>0, // 刪除標(biāo)記 'created_at' =>$created_at, // 創(chuàng)建時(shí)間 'updated_at' =>$updated_at) // 更新時(shí)間 ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*修改指定項(xiàng)目的值 * *@returnResponse */ publicfunctionupdateoption($userName,$subjectId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此題目所包含的所有選項(xiàng) $Subject=Subject::where('id',$subjectId)->first(); // 此題目創(chuàng)建者與登錄用戶一致 if($Subject->user_name==$userName) { // 處理添加新選項(xiàng)的表單 if((!empty($_POST['OptionId']))&&(!empty($_POST['UpdateOptionValue']))) { $OptionId=$_POST['OptionId']; $UpdateOptionValue=$_POST['UpdateOptionValue']; // 更新一行記錄 $option_id=Option::where('id',$OptionId)->update( array( 'title' =>$UpdateOptionValue // 選項(xiàng)內(nèi)容 ) ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*刪除指定項(xiàng)目的值 * *@returnResponse */ publicfunctiondeleteoption($userName,$subjectId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此題目所包含的所有選項(xiàng) $Subject=Subject::where('id',$subjectId)->first(); // 此題目創(chuàng)建者與登錄用戶一致 if($Subject->user_name==$userName) { // 處理刪除選項(xiàng)的表單 if((!empty($_POST['OptionId']))) { $OptionId=$_POST['OptionId']; // 更新一行記錄,將刪除標(biāo)記置1 $option_id=Option::where('id',$OptionId)->update( array( 'delete_token' =>1 // 刪除標(biāo)記 ) ); return"success"; } else { return"inputnull"; } } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } ///////////////////////////////////////////////////////////////////////////////////////////////////////////// /*提交結(jié)果統(tǒng)計(jì)選擇 * *@returnResponse */ publicfunctionsubmitresult($userName,$questionnaireId) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); $QuestionnaireCount=$Questionnaire->counts; // 問(wèn)卷提交量 $SubjectArray=array(); // 存儲(chǔ)題目信息的數(shù)組 // 此問(wèn)卷表創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName) { $SubjectsList=$Questionnaire->hasManySubject()->where('delete_token','0')->orderBy('number')->get(); $SubjectsArray=array(); foreach($SubjectsListas$OneSubject) { $Subject=array(); $Subject["id"]=$OneSubject->id; // 題目id $Subject["questionnaire_id"]=$OneSubject->questionnaire_id; // 問(wèn)卷id $Subject["user_name"]=$OneSubject->user_name; // 問(wèn)卷創(chuàng)建者 $Subject["number"]=$OneSubject->number; // 題號(hào) $Subject["title"]=$OneSubject->title; // 題目 $Subject["type"]=$OneSubject->type; // 題目類型(單選,多選,簡(jiǎn)答) $Subject["option_count"]=$OneSubject->option_count; // 選項(xiàng)數(shù)目 $Subject["delete_token"]=$OneSubject->delete_token; // 刪除標(biāo)記 $Subject["options"]=array(""); // 題目的選項(xiàng) // 本題對(duì)應(yīng)的選項(xiàng) $OptionArray=array(); if($OneSubject->type!="簡(jiǎn)答題") { $Subject["options"]=$OneSubject->hasManyOption()->where('delete_token','0')->orderBy('number')->get(); } array_push($SubjectsArray,$Subject); } returnview('userconsole.result')->with('Questionnaires',$Questionnaire) // 問(wèn)卷基本信息 ->with('Subjects',$SubjectsArray); // 題目信息 } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); } /*提交結(jié)果統(tǒng)計(jì)簡(jiǎn)答 * *@returnResponse */ publicfunctionanswerresult($userName,$questionnaireId,$subjectid) { // 登陸用戶正確,顯示用戶控制臺(tái) if(Session::has('auth_state')&&Session::get('user_name')==$userName) { // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); $Subject=Subject::where('id',$subjectid)->first(); // 此問(wèn)卷表創(chuàng)建者與登錄用戶一致 if($Questionnaire->user_name==$userName&&$Subject->type=="簡(jiǎn)答題") { $ShortAnswerList=Short_answer::where('subject_id',$subjectid)->where('delete_token','0')->orderBy('created_at')->get(); returnview('userconsole.answerresult')->with("Questionnaire",$Questionnaire) // 問(wèn)卷信息 ->with("Subject",$Subject) // 題目信息 ->with("ShortAnswerList",$ShortAnswerList); // 答案信息 } } // 顯示錯(cuò)誤信息 returnview('errors.authority'); }}4.問(wèn)卷生成文件<?phpnamespaceApp\Http\Controllers\Questionnaire;useApp\Http\Requests;useApp\Http\Controllers\Controller;useIlluminate\Http\Request;useApp\Questionnaire;useApp\Subject;useApp\Option;useApp\Short_answer;classQuestionnaireControllerextendsController{ /** *根據(jù)問(wèn)卷id展示問(wèn)卷 * *@returnResponse */ publicfunctionindex($questionnaireId) { // 問(wèn)卷基本信息 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); $SubjectsArray=array(); //判斷問(wèn)卷是否包含題目 if(0!=$SubjectsIsNull=Subject::where('questionnaire_id',$questionnaireId)->count()) { // 題目列表,以題號(hào)排序 $SubjectsList=$Questionnaire->hasManySubject()->where('delete_token','0')->orderBy('number')->get(); // 打包題目與選項(xiàng) foreach($SubjectsListas$OneSubject) { $Subject=array(); $Subject["id"]=$OneSubject->id; // 題目id $Subject["questionnaire_id"]=$OneSubject->questionnaire_id; // 問(wèn)卷id $Subject["user_name"]=$OneSubject->user_name; // 問(wèn)卷創(chuàng)建者 $Subject["number"]=$OneSubject->number; // 題號(hào) $Subject["title"]=$OneSubject->title; // 題目 $Subject["type"]=$OneSubject->type; // 題目類型(單選,多選,簡(jiǎn)答) $Subject["option_count"]=$OneSubject->option_count; // 選項(xiàng)數(shù)目 $Subject["delete_token"]=$OneSubject->delete_token; // 刪除標(biāo)記 $Subject["options"]=array(""); // 題目的選項(xiàng) // 本題對(duì)應(yīng)的選項(xiàng) $OptionArray=array(); if($OneSubject->type!="簡(jiǎn)答題") { $Subject["options"]=$OneSubject->hasManyOption()->where('delete_token','0')->orderBy('number')->get(); } array_push($SubjectsArray,$Subject); } } returnview('questionnaire.index')->with('Questionnaires',$Questionnaire) // 問(wèn)卷基本信息 ->with('Subjects',$SubjectsArray); // 題目信息 } /** *問(wèn)卷提交及投票結(jié)果展示 * *@returnResponse */ publicfunctionresult($questionnaireId) { // 處理添加新選項(xiàng)的表單 if(!empty($_POST['OptionIdArray'])) { $questionnaire_id=Questionnaire::where('id',$questionnaireId)->increment('counts'); $OptionIdArray=$_POST['OptionIdArray']; // 選項(xiàng)id數(shù)組(選項(xiàng)號(hào)) // 選項(xiàng)對(duì)應(yīng)選擇數(shù)+1 foreach($OptionIdArrayas$OptionId) { // 更新一行記錄 $option_id=Option::where('id',$OptionId)->increment('select_count'); } } $AnswerTextArray=$_POST['AnswerTextArray']; // 簡(jiǎn)答題答案數(shù)組("題號(hào),答案") foreach($AnswerTextArrayas$AnswerText) { if(trim($AnswerText[1])!="") // 提交的答案非空 { // 插入一行記錄 $created_at=$updated_at=date('Y-m-dH:i:s'); $short_answerId=Short_answer::insertGetId( array('subject_id' =>$AnswerText[0], // 題目id 'anwaser' =>$AnswerText[1], // 回答 'delete_token' =>0, // 刪除標(biāo)記 'created_at' =>$created_at, // 創(chuàng)建時(shí)間 'updated_at'=>$updated_at) // 更新時(shí)間 ); } } // 此問(wèn)卷表所包含的所有題目 $Questionnaire=Questionnaire::where('id',$questionnaireId)->first(); $QuestionnaireCount=$Questionnaire->counts; // 問(wèn)卷提交量 $SubjectArray=array(); // 存儲(chǔ)題目信息的數(shù)組 $SubjectsList=$Questionnaire->hasManySubject()->where('delete_token','0')->orderBy('number')->get(); $SubjectsArray=array(); foreach($SubjectsListas$OneSubject) { $Subject=array(); $Subject["id"]=$OneSubject->id; // 題目id $Subject["questionnaire_id"]=$OneSubject->questionnaire_id; // 問(wèn)卷id $Subject["user_name"]=$OneSubject->user_name; // 問(wèn)卷創(chuàng)建者 $Subject["number"]=$OneSubject->number; // 題號(hào) $Subject["title"]=$OneSubject->title; // 題目 $Subject["type"]=$OneSubject->type; // 題目類型(單選,多選,簡(jiǎn)答) $Subject["option_count"]=$OneSubject->option_count; // 選項(xiàng)數(shù)目 $Subject["delete_token"]=$OneSubject->delete_token; // 刪除標(biāo)記 $Subject["options"]=array(""); // 題目的選項(xiàng) // 本題對(duì)應(yīng)的選項(xiàng) $OptionArray=array(); if($OneSubject->type!="簡(jiǎn)答題") { $Subject["options"]=$OneSubject->hasManyOption()->where('delete_token','0')->orderBy('number')->get(); } array_push($SubjectsArray,$Subject); } returnview('questionnaire.result')->with('Questionnaires',$Questionnaire) // 問(wèn)卷基本信息 ->with('Subjects',$SubjectsArray); // 題目信息 }}登錄界面<!DOCTYPEhtml><htmllang="zh-CN"><head> <metacharset="utf-8"> <metahttp-equiv="X-UA-Compatible"content="IE=edge"> <metaname="viewport"content="width=device-width,initial-scale=1"> <title>請(qǐng)登錄-問(wèn)卷調(diào)差網(wǎng)</title> <linkrel="stylesheet"type="text/css"href="/css/header_footer.css"> <linkrel="stylesheet"type="text/css"href="/css/login.css"></head><body>@if(Session::has('auth_state')) <script> window.location.href='/userconsole/'+{{Session::get('user_name')}} </script>@endif<divid="adm_login"> <form> <pclass='error'>用戶名或密碼錯(cuò)誤</p> <inputtype="hidden"id="_token"name="_token"value="{{csrf_token()}}"> <label> <inputtype="text"name="user_nicename"id="adm_usename"placeholder="用戶名"class="txt_input"/> </label> <label> <inputtype="password"name="user_pass"id="adm_ps"placeholder="密碼"class="txt_input"/> </label> <label> <buttontype="button"id="login_sub_but"class="sub_button">登錄</button> </label> <p><ahref='/auth/register'class="reg_link">沒(méi)有賬號(hào),注冊(cè)一個(gè)<a/></p> </form></div> <scripttype="text/javascript"src="/js/jquery.min.js"></script> <scripttype="text/javascript"src="/js/login.js"></script></body></html>注冊(cè)頁(yè)面<!DOCTYPEhtml><htmllang="zh-CN"><head> <metacharset="utf-8"> <metahttp-equiv="X-UA-Compatible"content="IE=edge"> <metaname="viewport"content="width=device-width,initial-scale=1"> <title>加入我們-問(wèn)卷調(diào)差網(wǎng)</title> <linkrel="stylesheet"type="text/css"href="/css/login.css"> <linkrel="stylesheet"type="text/css"href="/css/sweet-alert.css"></head><body><divid="adm_login"> <form> <inputtype="hidden"name="_token"id="_token"value="{{csrf_token()}}"> <label> <inputtype="text"name="user_email"placeholder="郵箱"class="txt_input"id='input_email'/> <pclass='error'id='err_emile'>郵箱地址不正確</p> <pclass='error'id='rep_emile'>此郵箱已被注冊(cè)</p> </label> <label> <inputtype="password"name="user_pass"placeholder="密碼"class="txt_input"id='input_pass'/> </label> <label> <inputtype="password"name="user_pass_rq"placeholder="確認(rèn)密碼"class="txt_input"id='input_pass_rq'/> <pclass='error'id='err_pass'>兩次密碼不一致</p> </label> <label> <inputtype="text"name="user_nicename"placeholder="用戶名"class="txt_input"id='input_name'/> <pclass='error'id='err_usname'>用戶名已存在</p> <pclass='error'id='req_usname'>用戶名已存在</p> </label> <buttontype="button"id="register_sub_but"class="sub_button">注冊(cè)</button> </label> <p><ahref='/'class="reg_link">已有賬號(hào),點(diǎn)此登陸<a/></p> </form> </div> <scripttype="text/javascript"src="/js/jquery.min.js"></script> <scripttype="text/javascript"src="/js/sweet-alert.min.js"></script>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論