基于php的問卷調(diào)查系統(tǒng)_第1頁
基于php的問卷調(diào)查系統(tǒng)_第2頁
基于php的問卷調(diào)查系統(tǒng)_第3頁
基于php的問卷調(diào)查系統(tǒng)_第4頁
基于php的問卷調(diào)查系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、華科學(xué)院華科學(xué)院 huake institute of taiyuan university of science 否則,返 回 false,表明連接失敗。這里 ,參數(shù) server 可以寫成 “host-name:port” 的形式。如果函數(shù)調(diào)用中未填寫參數(shù) server,則缺省為 server=localhost:3306, 缺省用戶名為數(shù)據(jù)庫服務(wù)器進(jìn)程的擁有者。 2 mysql_select_db (database_name,resourcelink_identifier) 函數(shù)設(shè)置與指定數(shù)據(jù)庫連接標(biāo)識相關(guān)的當(dāng)前活動(dòng)數(shù)據(jù)庫。如缺省連接標(biāo)識,則 使用前面已經(jīng)建立的連接;如前面沒有建立連接

2、,則函數(shù)試圖建立一個(gè)連接后再設(shè)置 與指定數(shù)據(jù)庫連接相關(guān)的當(dāng)前活動(dòng)數(shù)據(jù)庫。函數(shù)調(diào)用成功,返回 true;否則,返回 false。 3 準(zhǔn)備好符合 sql 語言標(biāo)準(zhǔn)的語句字符串,即類似于 $sql=”select * from shop_goods where goods_id=10”;程序語句。 4 用 mysql_query(stringquery,resourcelink_identifier)訪問數(shù)據(jù)庫。 5 如(4)是查詢操作,則用 mysql_fetch_object ( resource result)從生成的 記錄集中取記錄。 第四章第四章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 4.14.1 主頁面設(shè)

3、計(jì)主頁面設(shè)計(jì) 4.1.14.1.1 用戶登錄功能設(shè)計(jì)用戶登錄功能設(shè)計(jì) 1由于本系統(tǒng)是計(jì)算機(jī)組裝與維護(hù)課程教學(xué)網(wǎng)站,游客身份可以在主頁上查 找客房,但需要入住時(shí)則需要注冊用戶。當(dāng)在主頁面用戶登錄中輸入用戶名、密碼, 確認(rèn)后登錄(如圖4.1)。在提交后的php文件中,首先通過用戶名(username)對 數(shù)據(jù)庫中的house_user(用戶表)進(jìn)行檢索,若檢索到的記錄集為空,則說明用戶 名為空或者輸入錯(cuò)誤,從而轉(zhuǎn)到相應(yīng)的出錯(cuò)處理程序,若記錄集不為空,進(jìn)而檢查 密碼(password)是否相等,不相等,作出錯(cuò)處理,相等則轉(zhuǎn)入用戶登錄成功的操作, 并將用戶名以session對象保存起來。登錄界面如圖4

4、.2。 圖4.1系統(tǒng)主頁面 圖4.2用戶登錄 2 2登錄的代碼如下:登錄的代碼如下: ?php session_start(); include(./connect.php); if($act=login) $sql=select * from member where name=$name and pwd=$pwd; $res=mysql_query($sql); $data=mysql_fetch_array($res); if($data=false) echo alert(帳號或者密碼錯(cuò)誤),history.back() ; exit; else $_sessionuser_name=

5、$dataname; header(location:user.php); if($_sessionuser_name!=) header(location:user.php); require(header.php); ? 4.1.24.1.2 用戶用戶注冊注冊 實(shí)現(xiàn)代碼 if($do=save) $sql=select * from users where uname=$user; $res=mysql_query($sql); $rdata=mysql_fetch_array($res); if($rdata!=false) echo alert( 帳號已經(jīng)存在);history.bac

6、k(); exit; $sql=insert into users (uname ,name ,pwd,tel,regtime , intro ) values ($user,$name,$pwd,$phone,now(),$intro); /echo $sql; if(mysql_query($sql) echo alert( 注冊成功);location.href=index.php; exit; ? 4.1.34.1.3 用戶參與問卷調(diào)查用戶參與問卷調(diào)查 實(shí)現(xiàn)代碼 ?php session_start(); require(conn.php); if($_sessionuser=) ec

7、ho alert(請先登錄);location.href=index.php; exit; /print_r($_post); $sql=select * from sresult where uname=$_sessionuser; $res=mysql_query($sql); $ddata=mysql_fetch_array($res); if(!empty($ddata) echo alert(你已經(jīng)參加過該問卷了);history.back(); exit; for($i=0;$icount($xid);$i+) $titleid=$xid$i; $itemsid=$xchoice$

8、i; /保存問卷結(jié)果 $sql=insert into sresult (surveyid,titleid,itemsid,uname) values ($id,$titleid,$itemsid,$_sessionuser); $res=mysql_query($sql); /更新選項(xiàng)統(tǒng)計(jì) $sql=update items set vcount=vcount+1 where id=$itemsid; $res=mysql_query($sql); echo alert(非常感謝你的參與);location.href=index.php; ? 4.24.2 后臺頁面設(shè)計(jì)后臺頁面設(shè)計(jì) 4.2.

9、14.2.1 管理員登錄功能設(shè)計(jì)管理員登錄功能設(shè)計(jì) 本系統(tǒng)的后臺是管理員權(quán)限所管理的。管理員的登錄需要管理員的賬戶 (username)和密碼(password),數(shù)據(jù)傳入管理員表(admin)中進(jìn)行識別,方 法同用戶登錄相同。管理員登錄界面如圖4.7。 實(shí)現(xiàn)代碼 /管理登錄驗(yàn)證開始 if($type=admin) $admin_pass=md5($admin_pass); $sql=select * from admin where admin_name=$admin_name and admin_pass=$admin_pass; $re=mysql_query($sql); $num=m

10、ysql_num_rows($re); if($num=0) echo alert(管理員帳號或者密碼錯(cuò)誤),history.back() ; exit; $name=管理員登錄; $content=帳號:$admin_name,登錄失敗; $sql=insert into log (name,content) values($name,$content); mysql_query($sql); else $name=管理員登錄; $content=帳號:$admin_name,登錄成功; $sql=insert into log (name,content) values($name,$co

11、ntent); mysql_query($sql); $_sessionlogin_type=$type; $_sessionlogin_name=$admin_name; header(location:index.php); /管理員登錄結(jié)束 圖4.7 管理員登錄頁面 4.2.24.2.2 用戶管理用戶管理 實(shí)現(xiàn)代碼 if($act=add) $sql=select * from users where uname=$uname; $res=mysql_query($sql); $rdata=mysql_fetch_array($res); if($rdata!=false) echo a

12、lert( 帳號已經(jīng)存在),history.back(); exit; $sql=insert into users (uname ,name ,pwd,tel,regtime , intro ) values ($uname,$name,$password,$tel,now(),$intro); /echo $sql; if(mysql_query($sql) header(location:users.php?action=list); 4.2.34.2.3管理員管理管理員管理 實(shí)現(xiàn)代碼 if($act=add) $password=md5($password); $sql=insert

13、into admin (admin_name,admin_pass,realname) values ($admin_name,$password,$realname); $res=mysql_query($sql); header(location:admin.php?action=list); 4.2.54.2.5添加問卷添加問卷 實(shí)現(xiàn)代碼 4.2.64.2.6 問卷分統(tǒng)計(jì)問卷分統(tǒng)計(jì) 5 系統(tǒng)測試與運(yùn)行系統(tǒng)測試與運(yùn)行 5.1 軟件測試的目標(biāo)軟件測試的目標(biāo) 為了確保本系統(tǒng)能夠正常運(yùn)行,需要在發(fā)布之后做一次較全面的測試。 測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行的過程; 好的測試方案實(shí)際可能發(fā)現(xiàn)迄今為

14、止尚為發(fā)現(xiàn)的錯(cuò)誤的測試方案;成功的測試是發(fā) 現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤測試。 5.2 軟件測試的過程軟件測試的過程 測試用戶登陸是否成功測試用戶登陸是否成功 打開問卷調(diào)查系統(tǒng)管理員登錄窗口,在“用戶名”里填入“admin”,“密碼” 框里我們填入“admin”。填寫完成點(diǎn)擊“確定”按鈕,將會出現(xiàn)操作程序頁面,即 該用戶已經(jīng)登陸成功了。如果輸入的信息在數(shù)據(jù)庫中比對后沒有該用戶,那么會顯 示一個(gè)錯(cuò)誤頁面提示你輸入的信息有誤,請從新輸入再登陸。 測試查詢功能是否成功測試查詢功能是否成功 查詢功能:在登錄成功之后,點(diǎn)擊“查詢”,在彈出的文本框,在里面輸入想 要查找的資料,點(diǎn)擊“查詢”按鈕,成功即可出現(xiàn)

15、結(jié)果頁面,頁面內(nèi)顯示查詢出來 的汽車品牌資料內(nèi)容,表示測試成功。 測試編輯功能是否成功測試編輯功能是否成功 編輯功能:在登錄成功并查詢出之后,即可進(jìn)入相應(yīng)的管理頁面,點(diǎn)擊那些 “刪除”,即出現(xiàn)編輯頁面,即可以修改和刪除個(gè)人問卷調(diào)查的答案。最后保存。 用戶退出系統(tǒng)的測試用戶退出系統(tǒng)的測試 在管理操作已全部完成,需要退出程序的時(shí)候,在系統(tǒng)頁面有一個(gè)“退出”的 選項(xiàng),點(diǎn)擊之后便可退出。 測試密碼更改測試密碼更改 管理員可以查詢出用戶后更改任意用戶的密碼,普通用戶只能在登陸后更改自 己的密碼。點(diǎn)擊修改后到了更改頁面,要求輸入兩次密碼,如果輸入的兩次密碼不 一樣,則提示“您輸入的密碼不一致,請從新輸入密

16、碼!”,輸入正確的密碼后, 點(diǎn)擊確定,然后提示密碼修改成功,最后返回登陸首頁,用新密碼登陸,登陸成功, 說明測試成功! 5.3 系統(tǒng)錯(cuò)誤處理測試系統(tǒng)錯(cuò)誤處理測試 系統(tǒng)錯(cuò)誤處理測試,此項(xiàng)測試內(nèi)容包含了輸入確認(rèn)測試,輸入確認(rèn)用來保證系 統(tǒng)拒絕無用信息,主要測試系統(tǒng)是否阻止無用信息進(jìn)入系統(tǒng),測試內(nèi)容如下: 輸入文本框內(nèi)容為空;輸入文本框內(nèi)容為空; 不登錄直接進(jìn)入系統(tǒng);不登錄直接進(jìn)入系統(tǒng); 越權(quán)操作;越權(quán)操作; 需要輸入數(shù)字的文本框輸入字符;需要輸入數(shù)字的文本框輸入字符; 重復(fù)輸入提交信息;重復(fù)輸入提交信息; 輸入刪除信息數(shù)據(jù)庫不存在。輸入刪除信息數(shù)據(jù)庫不存在。 5.4 系統(tǒng)安全性分析系統(tǒng)安全性分析

17、考慮到本系統(tǒng)的 實(shí)際用途,安全問題始終應(yīng)該放在第一位。特別是運(yùn)用動(dòng)態(tài) 技術(shù)結(jié)合數(shù)據(jù)庫的網(wǎng)站,不良企圖的用戶如果找到程序漏洞侵入的話,導(dǎo)致用戶信 息泄露,結(jié)果會不堪設(shè)想。我將在這里探討以下安全性的問題。 5.4.1 系統(tǒng)安全維護(hù)系統(tǒng)安全維護(hù) 為保證業(yè)務(wù)應(yīng)用不間斷運(yùn)行,數(shù)據(jù)中心形式的信息數(shù)據(jù)庫建設(shè)用戶集中運(yùn)行平 臺必須具有極高的安全性和可靠性。對系統(tǒng)結(jié)構(gòu)、網(wǎng)絡(luò)系統(tǒng)、服務(wù)器系統(tǒng)、存儲系 統(tǒng)、備份系統(tǒng)等方面須進(jìn)行高安全性和可靠性設(shè)計(jì),具有一定的防病毒、防入侵能 力。在采用硬件備份、冗余、負(fù)載均衡等可靠性技術(shù)的基礎(chǔ)上,采用相關(guān)的軟件技 術(shù)提供較強(qiáng)的管理機(jī)制和控制手段,以提高整個(gè)系統(tǒng)的安全可靠性。 本系統(tǒng)

18、模塊采用成熟、穩(wěn)定、完善的產(chǎn)品和技術(shù),滿足當(dāng)前應(yīng)用需求。盡可能 采用先進(jìn)的計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)以適應(yīng)更高的數(shù)據(jù)處理要求,使整個(gè)集中運(yùn)行平臺在 一定時(shí)期內(nèi)保持技術(shù)上的先進(jìn)性,并具有良好的擴(kuò)展?jié)摿?,以適應(yīng)未來應(yīng)用的發(fā)展 和技術(shù)升級的需要。 5.4.2 數(shù)據(jù)庫漏洞數(shù)據(jù)庫漏洞 由于采用的數(shù)據(jù)庫為 mysql,這是一種本地型數(shù)據(jù)庫,換而言之即惡意人士獲 取數(shù)據(jù)庫路徑后,就可以直接下載該數(shù)據(jù)庫,這樣整個(gè)網(wǎng)站的內(nèi)容就一覽無遺,因 此,有必要進(jìn)行一些必要的措施。應(yīng)采取得方法是直接把 mysql 數(shù)據(jù)庫后綴名改成. php。這樣的好處是服務(wù)器會把數(shù)據(jù)庫認(rèn)為 php 頁面解釋運(yùn)行,而其余文件調(diào)用改 動(dòng)后的數(shù)據(jù)庫沒有絲

19、毫影響,因此,當(dāng)不良企圖的用戶用瀏覽器或者下載工具下載 數(shù)據(jù)庫文件時(shí),得到的卻是服務(wù)器解釋過的空頁面,這樣就有效的避免了數(shù)據(jù)庫的 漏洞問題15。 第第六六章章 總總 結(jié)結(jié) 看到自己做出的成果,這才意識到,經(jīng)過這次畢業(yè)設(shè)計(jì)的制作,不但很好地鍛 煉了自己的動(dòng)手能力,而且從中總結(jié)出了不少的經(jīng)驗(yàn),這為我以后的工作做了很好 的鋪墊。在這段時(shí)間,很多問題現(xiàn)象出來,然后再找出問題的根本,再根據(jù)自己所 學(xué)或是老師講解解決問題,這段過程必將讓自己受益匪淺。雖然其中還有很多不足 的地方,但不斷的學(xué)習(xí)會完善其根本。 在制作網(wǎng)站的過程中,我很清楚要做一個(gè)完整的系統(tǒng),必須要有一個(gè)明闊思路, 有了思路后,再一步步將分析,

20、然后擬好系統(tǒng)本應(yīng)有的功能和做這一過程中的要求, 在思路明了的情況下,畫出系統(tǒng)的大體設(shè)計(jì)流程圖和框架。在這些準(zhǔn)備工作完畢后, 自己會發(fā)現(xiàn)再進(jìn)行系統(tǒng)下一步的時(shí)候會得心應(yīng)手,不但效率高,還不會影響到系統(tǒng) 的完整性和可用性。 之前在學(xué)習(xí) php 語言的時(shí)候,學(xué)習(xí)的東西很基礎(chǔ),但是設(shè)計(jì)不允許,所以查閱 資料、看視頻是必不可少的一步,大學(xué)鍛煉的是我們的自學(xué)與自覺。通過這段時(shí)間 的深入,我對 php 語言與 mysql 數(shù)據(jù)庫又有了新的認(rèn)識,這讓我對此不只有了興趣, 而且增加了信心。 致致 謝謝 本次設(shè)計(jì)歷時(shí)三個(gè)月。在本次畢業(yè)設(shè)計(jì)中,能夠基本順利的完成任務(wù),是與黃 揚(yáng)揚(yáng)老師的耐心指導(dǎo)分不開的。指導(dǎo)老師無論是在畢業(yè)設(shè)計(jì)過程中,還是在論文完 成中都給予了我極大的幫助。同時(shí),指導(dǎo)老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精 神和深厚的理論水平都使我受益匪淺。他勤奮嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度也給我留下了極為深 刻的印象。我從老師身上學(xué)到了很多東西。在理論上還是在實(shí)踐中,我能力都得到 不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,在此非常感謝輔導(dǎo) 老師黃揚(yáng)揚(yáng)、以及朱凱、沈維尼老師的幫助。是他們認(rèn)真的授課讓我學(xué)到了許多知 識。 通過這次畢業(yè)設(shè)計(jì)的整個(gè)開發(fā)過程,我系統(tǒng)開發(fā)過程從需求分析到具體功能實(shí) 現(xiàn),再到最終測試和維護(hù)的理解有了很大的進(jìn)步,讓我對系統(tǒng)開發(fā)有了更深層次的 認(rèn)識。現(xiàn)在我的動(dòng)手能力和獨(dú)立解決

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論