PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程課件 任務(wù)9 在線投票系統(tǒng)投票功能實(shí)現(xiàn)_第1頁
PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程課件 任務(wù)9 在線投票系統(tǒng)投票功能實(shí)現(xiàn)_第2頁
PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程課件 任務(wù)9 在線投票系統(tǒng)投票功能實(shí)現(xiàn)_第3頁
PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程課件 任務(wù)9 在線投票系統(tǒng)投票功能實(shí)現(xiàn)_第4頁
PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程課件 任務(wù)9 在線投票系統(tǒng)投票功能實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PHP動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目教程任務(wù)9在線投票系統(tǒng)投票功能實(shí)現(xiàn)子任務(wù)9.1游客投票功能實(shí)現(xiàn)9.1.1修改前端頁面文件

9.1.2制作后端投票文件

子任務(wù)9.2整合會(huì)員登錄系統(tǒng)9.2.1分析整合文件

小王同學(xué)根據(jù)前面的需求分析,整理了在線投票系統(tǒng)需要的會(huì)員管理系統(tǒng)功能,該系統(tǒng)的功能有:會(huì)員注冊(cè)、登錄(包括管理員登錄)、會(huì)員修改個(gè)人資料。管理員登錄后可進(jìn)入后臺(tái)管理,但此處的后臺(tái)管理功能和會(huì)員管理系統(tǒng)中的后臺(tái)管理功能有很大不同。

通過分析需求,小王同學(xué)已經(jīng)清楚了如何整合前面的會(huì)員管理系統(tǒng)。以下文件是需要從會(huì)員管理系統(tǒng)中移植過來的文件:checkAdmin.php(判斷管理員是否登錄)checkUsername.php(判斷用戶名是否可用)code.php(生成驗(yàn)證碼)login.php(用戶登錄前端文件)logout.php(注銷登錄)modify.php(修改用戶資料)nav.php(導(dǎo)航欄)page.php(數(shù)據(jù)分頁文件)postLogin.php(用戶登錄后端文件)postModify.php(資料修改后端文件)postReg.php(用戶注冊(cè)后端文件)signup.php(用戶注冊(cè)前端文件)

另外,img下面的0.jpg和1.jpg也要復(fù)制過來。然后在index.

php中給右上角的“登錄”和“注冊(cè)”添加鏈接,就可以打開頁面測(cè)試效果了。9.2.2了解前端UI框架Layui

Layui是一個(gè)前端UI框架,其中包含一個(gè)layer彈層組件,這個(gè)組件有豐富的彈窗效果,正好可以用來展示注冊(cè)、登錄等頁面。

layer是一款近年來備受青睞的Web彈層組件,這得益于它全方位的解決方案,以及致力于服務(wù)各個(gè)水平段的開發(fā)人員,可令相關(guān)頁面輕松擁有豐富友好的操作體驗(yàn)。

它盡可能地以更少的代碼展現(xiàn)更強(qiáng)健的功能,且格外注重性能的提升、易用和實(shí)用性,正因如此,越來越多的開發(fā)者都使用了layer。

layer兼容了包括IE6在內(nèi)的所有主流瀏覽器,擁有數(shù)量可觀的接口,可以自定義各種風(fēng)格,每一種彈層模式都極具特色,因此廣受歡迎。9.2.3使用Layui顯示注冊(cè)和登錄頁面

(1)在index.php中引入layer的核心JavaScript文件。(2)引入jQuery庫文件。(3)修改頭部的導(dǎo)航鏈接。(4)使用JavaScript完成open()方法的編寫。圖9.2.1

未引入jQuery庫文件而報(bào)錯(cuò)

當(dāng)小王同學(xué)在測(cè)試頁面效果時(shí),發(fā)現(xiàn)在彈出層中還有會(huì)員管理系統(tǒng)的標(biāo)題、導(dǎo)航鏈接等內(nèi)容,現(xiàn)在這些內(nèi)容已經(jīng)不適合放在彈出層,因此,他修改了注冊(cè)和登錄頁面,使其不再包含nav.php文件。修改好以后,單擊“登錄”鏈接,效果如圖9.2.2所示,單擊“注冊(cè)”鏈接,效果如圖9.2.3所示。

圖9.2.2

使用layer彈窗顯示登錄頁面

圖9.2.3

使用layer彈窗顯示注冊(cè)頁面9.2.4優(yōu)化彈窗跳轉(zhuǎn)邏輯,匹配新的數(shù)據(jù)表

(1)修改JavaScript中的代碼,添加一個(gè)關(guān)閉彈出層的方法。(2)打開postLogin.php文件,修改登錄后的頁面跳轉(zhuǎn)邏輯的相關(guān)內(nèi)容。在這個(gè)文件中,首先要修改查詢的數(shù)據(jù)表表名,將info改為userInfo,然后需要修改在登錄成功或失敗時(shí)跳轉(zhuǎn)的相關(guān)內(nèi)容。(3)檢查注冊(cè)功能。(4)修改數(shù)據(jù),并保證數(shù)據(jù)表中記錄的完整性。(5)調(diào)整“資料修改”頁面中的相關(guān)內(nèi)容。圖9.2.4

登錄成功后顯示當(dāng)前登錄者的用戶名【知識(shí)儲(chǔ)備】

PHP中需要區(qū)分大小寫的相關(guān)內(nèi)容總結(jié)如下。(1)變量名要區(qū)分大小寫。其中包括普通變量,比如$a和$A是兩個(gè)完全不同的變量。其中也包括全局變量,如$_GET,$_POST、$_REQUEST、$_COOKIE、$_SESSION、$GLOBALS、$_SERVER、$_FILES、$_ENV等。(2)常量名要區(qū)分大小寫。使用define定義的常量是要區(qū)分大小寫的。(3)數(shù)組索引(鍵名)要區(qū)分大小寫。比如,$arr['one']和$arr['One']是兩個(gè)不同的變量。(4)函數(shù)名、方法名、類名不區(qū)分大小寫。雖然這些內(nèi)容不區(qū)分大小寫,但請(qǐng)堅(jiān)持“大小寫敏感”原則,建議還是使用與定義時(shí)相同大小寫的名字。(5)魔術(shù)常量不區(qū)分大小寫。比如,LINE、FILE、DIR、FUNCTION、CLASS、METHOD、__NAMESPACE__等都不區(qū)分大小寫。(6)NULL、TRUE、FALSE不區(qū)分大小寫。(7)強(qiáng)制類型轉(zhuǎn)換不區(qū)分大小寫,比如,(int)、(integer),即轉(zhuǎn)換成整型;(bool)、(boolean),即轉(zhuǎn)換成布爾型;(float)、(double)、(real),即轉(zhuǎn)換成浮點(diǎn)型;(string),即轉(zhuǎn)換成字符串;(array),即轉(zhuǎn)換成數(shù)組;(object),即轉(zhuǎn)換成對(duì)象。子任務(wù)9.3登錄用戶實(shí)現(xiàn)投票9.3.1了解MySQL的事務(wù)機(jī)制

MySQL的事務(wù)機(jī)制主要用于處理操作量大、復(fù)雜度高的數(shù)據(jù)。比如,在人員管理系統(tǒng)中,當(dāng)需要?jiǎng)h除一個(gè)人員時(shí),既需要?jiǎng)h除人員的基本資料,又要?jiǎng)h除和該人員相關(guān)的信息,如信箱、文章等,這樣,這些數(shù)據(jù)庫操作語句就構(gòu)成一個(gè)事務(wù)。1.支持事務(wù)機(jī)制的先決條件

在MySQL中,只有使用了InnoDB數(shù)據(jù)庫引擎的數(shù)據(jù)庫或數(shù)據(jù)表才支持事務(wù)機(jī)制。2.事務(wù)的作用

(1)事務(wù)可以用來維護(hù)數(shù)據(jù)庫的完整性,保證成批的SQL語句要么全部執(zhí)行,要么全部不執(zhí)行。(2)事務(wù)可以用來管理insert、update、delete語句的執(zhí)行。3.事務(wù)需要滿足的4個(gè)條件(1)原子性。一個(gè)事務(wù)(Transaction)中的所有操作,要么全部執(zhí)行,要么全部不執(zhí)行,不會(huì)在中間某個(gè)環(huán)節(jié)結(jié)束。事務(wù)在執(zhí)行過程中發(fā)生錯(cuò)誤,會(huì)被回滾(RollBack)到事務(wù)開始前的狀態(tài),就像這個(gè)事務(wù)從來沒有執(zhí)行過一樣。(2)一致性。在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫的完整性不會(huì)被破壞。這表示寫入的資料必須完全符合所有的預(yù)設(shè)規(guī)則,包含資料的精確度、串聯(lián)性,以及后續(xù)數(shù)據(jù)庫可以自發(fā)性地完成預(yù)定的工作需求。(3)隔離性。數(shù)據(jù)庫允許多個(gè)并發(fā)事務(wù)同時(shí)對(duì)其數(shù)據(jù)進(jìn)行讀寫和修改,隔離性可以防止多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),由于交叉執(zhí)行而導(dǎo)致數(shù)據(jù)的不一致。事務(wù)隔離分為不同級(jí)別,包括讀未提交(ReadUncommitted)、讀提交(ReadCommitted)、可重復(fù)讀(RepeatableRead)和串行化(Serializable)。(4)持久性。事務(wù)處理結(jié)束后,對(duì)數(shù)據(jù)的修改是永久性的,即便系統(tǒng)故障,也不會(huì)丟失。4.MySQL事務(wù)處理的方法(1)用BEGIN、ROLLBACK、COMMIT來實(shí)現(xiàn)。BEGIN表示開始一個(gè)事務(wù),ROLLBACK表示事務(wù)回滾,COMMIT表示事務(wù)確認(rèn)。(2)直接用SET來改變MySQL的自動(dòng)提交模式,其中“SETAUTOCOMMIT=0

”表示禁止自動(dòng)提交,“SETAUTOCOMMIT=1”

表示開啟自動(dòng)提交。9.3

溫馨提示

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