PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程課件 任務(wù)5 會(huì)員管理系統(tǒng)管理員功能_第1頁(yè)
PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程課件 任務(wù)5 會(huì)員管理系統(tǒng)管理員功能_第2頁(yè)
PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程課件 任務(wù)5 會(huì)員管理系統(tǒng)管理員功能_第3頁(yè)
PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程課件 任務(wù)5 會(huì)員管理系統(tǒng)管理員功能_第4頁(yè)
PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程課件 任務(wù)5 會(huì)員管理系統(tǒng)管理員功能_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)項(xiàng)目教程任務(wù)5會(huì)員管理系統(tǒng)管理員功能子任務(wù)5.1管理員登錄

實(shí)現(xiàn)管理員登錄比較通用的方法有兩種。第一種方法是單獨(dú)建立一張管理員數(shù)據(jù)表,其中的所有數(shù)據(jù)記錄都是管理員。第二種方法是在現(xiàn)有的普通用戶數(shù)據(jù)表中增加一列,用來(lái)標(biāo)識(shí)是否是管理員。如果是管理員,則可以把這一列設(shè)置為1,如果是普通用戶,則將這一列設(shè)置為0。為了處理方便,可以將此列默認(rèn)值設(shè)置為0,這樣,用戶注冊(cè)時(shí)默認(rèn)注冊(cè)為普通用戶。

對(duì)于第一種方式,在登錄時(shí),需要單獨(dú)做一個(gè)管理員登錄的頁(yè)面,或者在普通用戶登錄時(shí),添加一組復(fù)選框,用來(lái)標(biāo)識(shí)是否是管理員登錄。如果是管理員登錄,則后端在判斷用戶名和密碼時(shí),查詢管理員數(shù)據(jù)表。對(duì)于第二種方式,和普通用戶登錄完全一樣,只是在登錄成功后,再判斷管理員標(biāo)識(shí)列的值為多少,以判斷當(dāng)前用戶是不是管理員。

管理員登錄成功后,需要單獨(dú)保存一個(gè)Session標(biāo)識(shí)符,用以標(biāo)識(shí)管理員登錄。由于Session的全局性,我們?cè)谌我忭?yè)面判斷是否是管理員登錄,只需要檢查是否存在這個(gè)Session標(biāo)識(shí)符即可。5.1.1修改數(shù)據(jù)表結(jié)構(gòu)以實(shí)現(xiàn)管理員登錄

小王同學(xué)決定通過(guò)上述第二種方式來(lái)實(shí)現(xiàn)管理員登錄。很明顯,在前面創(chuàng)建的數(shù)據(jù)表中并無(wú)管理員標(biāo)識(shí)列。因此,他必須先修改數(shù)據(jù)表。打開(kāi)phpMyAdmin,找到數(shù)據(jù)表info,單擊“結(jié)構(gòu)”按鈕,在下面的“添加1個(gè)字段”提示文字后面單擊“執(zhí)行”按鈕,然后就和創(chuàng)建數(shù)據(jù)表時(shí)一樣,正常添加列即可。小王添加的列名是admin,類(lèi)型可以選擇“tinyint”,長(zhǎng)度為1,默認(rèn)值設(shè)置為0(在默認(rèn)值中選擇“定義”,然后輸入0即可),表示不是管理員。如果是管理員,這一列的值自然就為1。最后單擊“保存”按鈕完成添加。最后的info數(shù)據(jù)表結(jié)構(gòu)如圖5.1.1所示。圖5.1.1

添加管理員標(biāo)識(shí)列后的數(shù)據(jù)表結(jié)構(gòu)5.1.2管理員登錄后查看導(dǎo)航欄的變化

根據(jù)前面小王設(shè)計(jì)的系統(tǒng)頁(yè)面,在管理員登錄后,還需要在頂部的導(dǎo)航欄中添加一個(gè)“歡迎管理員登錄”的提示信息。因此,小王同學(xué)打開(kāi)nav.php文件,在顯示登錄者信息的區(qū)域修改了部分代碼。

管理員登錄后,首頁(yè)如圖5.1.2所示。圖5.1.2

管理員登錄后的頁(yè)面子任務(wù)5.2管理員查看所有會(huì)員5.2.1判斷管理員權(quán)限

正確的做法應(yīng)該是,借鑒前面包含數(shù)據(jù)庫(kù)連接文件的方法,單獨(dú)制作checkAdmin.php文件,在其中通過(guò)Session來(lái)判斷是否有管理員權(quán)限,然后在所有需要驗(yàn)證管理員權(quán)限的文件中使用include包含即可。5.2.2循環(huán)輸出數(shù)據(jù)表記錄

小王同學(xué)在制作導(dǎo)航欄時(shí),已經(jīng)給“后臺(tái)管理”欄目添加了鏈接目標(biāo)文件admin.php。因此,接下來(lái)就要制作admin.php文件了。在這個(gè)文件中需要實(shí)現(xiàn)查看所有會(huì)員列表的功能。制作好admin.php文件后,可以在導(dǎo)航欄中單擊“后臺(tái)管理”跳轉(zhuǎn)至管理員頁(yè)面。

回想一下前面實(shí)現(xiàn)的登錄功能,不管是普通用戶登錄,還是管理員登錄,登錄成功后,都是跳轉(zhuǎn)至系統(tǒng)首頁(yè)。現(xiàn)在看來(lái),這樣做已經(jīng)不太合適了,應(yīng)該區(qū)分用戶類(lèi)型,如果是管理員登錄成功,則直接跳轉(zhuǎn)至admin.php頁(yè)面;如果是普通用戶登錄成功,則跳轉(zhuǎn)至首頁(yè)即可。根據(jù)這樣的思路,小王同學(xué)再次優(yōu)化了登錄成功后的跳轉(zhuǎn)邏輯。

圖5.2.1所示為管理員登錄后查看所有會(huì)員列表的結(jié)果。圖5.2.1

管理員查看所有會(huì)員列表5.2.3了解PHP中的循環(huán)語(yǔ)句

1.while循環(huán)

只要指定的條件成立(運(yùn)算結(jié)果為真),就循環(huán)執(zhí)行代碼塊。其語(yǔ)法規(guī)則為:while(條件){要執(zhí)行的代碼;}2.do...while循環(huán)

首先執(zhí)行一次代碼塊,然后在指定的條件成立時(shí)重復(fù)這個(gè)循環(huán)。其語(yǔ)法規(guī)則為:do{要執(zhí)行的代碼;}while(條件);3.for循環(huán)

循環(huán)執(zhí)行代碼塊指定的次數(shù)。其語(yǔ)法規(guī)則為:for(初始值;條件;增量){要執(zhí)行的代碼;}4.foreach循環(huán)

根據(jù)數(shù)組中的元素來(lái)循環(huán)代碼塊,也就是遍歷數(shù)組,其語(yǔ)法規(guī)則為:foreach($arrayas$value){要執(zhí)行代碼;}或者:foreach($arrayas$key=>$value){要執(zhí)行代碼;}子任務(wù)5.3數(shù)據(jù)分頁(yè)5.3.1理解分頁(yè)的基本原理

分頁(yè)的基本原理是,在執(zhí)行數(shù)據(jù)表查詢時(shí),使用limit關(guān)鍵字只讀取指定條數(shù)的記錄。通過(guò)多次讀取,最終顯示所有內(nèi)容。5.3.2制作分頁(yè)文件

分頁(yè)不光要實(shí)現(xiàn)后臺(tái)數(shù)據(jù)的按頁(yè)(指定數(shù)量)獲取,還需要在前端實(shí)現(xiàn)分頁(yè)的導(dǎo)航鏈接等相關(guān)功能。同時(shí),分頁(yè)功能也是各個(gè)系統(tǒng)經(jīng)常使用的功能之一,可能會(huì)多次重復(fù)使用,因此,小王同學(xué)還是借鑒前面的制作方法,準(zhǔn)備單獨(dú)制作一個(gè)分頁(yè)文件。這樣,以后凡是需要使用分頁(yè)的地方,都可以直接引入此文件來(lái)實(shí)現(xiàn)分頁(yè)功能。5.3.3實(shí)現(xiàn)分頁(yè)

按照下面的步驟進(jìn)行操作,可快速實(shí)現(xiàn)數(shù)據(jù)分頁(yè)。(1)在admin.php中包含page.php文件。(2)查詢記錄表的記錄總數(shù)。(3)設(shè)置每一頁(yè)顯示多少條記錄。(4)讀取當(dāng)前頁(yè)碼。(5)引用分頁(yè)函數(shù)。(6)在SQL語(yǔ)句中加上limit關(guān)鍵字進(jìn)行分頁(yè)查詢。(7)在末尾加上分頁(yè)鏈接。圖5.3.1

數(shù)據(jù)分頁(yè)效果【知識(shí)儲(chǔ)備】1.SQL查詢中count()函數(shù)的使用(1)count(*):返回表中的記錄數(shù)(包括所有列),相當(dāng)于統(tǒng)計(jì)表的行數(shù)(不會(huì)忽略列值為NULL的記錄)。(2)count(1):忽略所有列,1表示一個(gè)固定值,也可以用count(2)、count(3)代替(不會(huì)忽略列值為NULL的記錄)。(3)count(列名):返回指定列名的記錄數(shù),在統(tǒng)計(jì)結(jié)果時(shí),會(huì)忽略列值為NULL的記錄(不包括空字符串和0),即列值為NULL的記錄不統(tǒng)計(jì)在內(nèi)。(4)count(distinct列名):返回指定列名的不同值的記錄數(shù)(相同的記錄只統(tǒng)計(jì)1次),在統(tǒng)計(jì)結(jié)果時(shí),會(huì)忽略列值為NULL的記錄(不包括空字符串和0),即列值為NULL的記錄不統(tǒng)計(jì)在內(nèi)。count(id)

as

total表示獲取記錄總數(shù)后,以total的別名返回,所以在第13行中可以使用$info['total']來(lái)得到記錄總數(shù)。2.變量作用域

在PHP中,變量是有作用域的。所謂變量作用域(VariableScope),是指特定變量在代碼中可以被訪問(wèn)到的位置。變量必須在其有效范圍內(nèi)使用,如果超出有效范圍,那么變量會(huì)失去其意義。

PHP中包含3種類(lèi)型變量,分別是局部變量(LocalVariable)、全局變量(GlobalVariable)、靜態(tài)變量(StaticVariable)。子任務(wù)5.4設(shè)置或取消管理員5.4.1修改文件靜態(tài)內(nèi)容5.4.2制作setAdmin.php文件5.4.3避免刪除管理員admin

最終完成的設(shè)置(取消)管理員頁(yè)面如圖5.4.1所示。圖5.4.1

設(shè)置(取消)管理員頁(yè)面子任務(wù)5.5管理員刪除用戶5.5.1修改前端頁(yè)面

5.5.2制作后端頁(yè)面【素養(yǎng)小貼士】

一個(gè)優(yōu)秀的程序員應(yīng)該養(yǎng)成哪些良好的習(xí)慣呢?1.寫(xiě)代碼前應(yīng)該先想好思路,再規(guī)劃框架,最后才是局部實(shí)現(xiàn)。2.注重代碼風(fēng)格。3.注重代碼執(zhí)行效率。4.解決問(wèn)題時(shí),對(duì)于原理性的問(wèn)題,不要面向搜索引擎編程。5.在執(zhí)行一些風(fēng)險(xiǎn)操作時(shí),一定要仔細(xì)檢查,并做好二次確認(rèn)。子任務(wù)5.6管理員修改會(huì)員

溫馨提示

  • 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)論