




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PHP動態(tài)網(wǎng)站開發(fā)項(xiàng)目教程任務(wù)5會員管理系統(tǒng)管理員功能子任務(wù)5.1管理員登錄
實(shí)現(xiàn)管理員登錄比較通用的方法有兩種。第一種方法是單獨(dú)建立一張管理員數(shù)據(jù)表,其中的所有數(shù)據(jù)記錄都是管理員。第二種方法是在現(xiàn)有的普通用戶數(shù)據(jù)表中增加一列,用來標(biāo)識是否是管理員。如果是管理員,則可以把這一列設(shè)置為1,如果是普通用戶,則將這一列設(shè)置為0。為了處理方便,可以將此列默認(rèn)值設(shè)置為0,這樣,用戶注冊時默認(rèn)注冊為普通用戶。
對于第一種方式,在登錄時,需要單獨(dú)做一個管理員登錄的頁面,或者在普通用戶登錄時,添加一組復(fù)選框,用來標(biāo)識是否是管理員登錄。如果是管理員登錄,則后端在判斷用戶名和密碼時,查詢管理員數(shù)據(jù)表。對于第二種方式,和普通用戶登錄完全一樣,只是在登錄成功后,再判斷管理員標(biāo)識列的值為多少,以判斷當(dāng)前用戶是不是管理員。
管理員登錄成功后,需要單獨(dú)保存一個Session標(biāo)識符,用以標(biāo)識管理員登錄。由于Session的全局性,我們在任意頁面判斷是否是管理員登錄,只需要檢查是否存在這個Session標(biāo)識符即可。5.1.1修改數(shù)據(jù)表結(jié)構(gòu)以實(shí)現(xiàn)管理員登錄
小王同學(xué)決定通過上述第二種方式來實(shí)現(xiàn)管理員登錄。很明顯,在前面創(chuàng)建的數(shù)據(jù)表中并無管理員標(biāo)識列。因此,他必須先修改數(shù)據(jù)表。打開phpMyAdmin,找到數(shù)據(jù)表info,單擊“結(jié)構(gòu)”按鈕,在下面的“添加1個字段”提示文字后面單擊“執(zhí)行”按鈕,然后就和創(chuàng)建數(shù)據(jù)表時一樣,正常添加列即可。小王添加的列名是admin,類型可以選擇“tinyint”,長度為1,默認(rèn)值設(shè)置為0(在默認(rèn)值中選擇“定義”,然后輸入0即可),表示不是管理員。如果是管理員,這一列的值自然就為1。最后單擊“保存”按鈕完成添加。最后的info數(shù)據(jù)表結(jié)構(gòu)如圖5.1.1所示。圖5.1.1
添加管理員標(biāo)識列后的數(shù)據(jù)表結(jié)構(gòu)5.1.2管理員登錄后查看導(dǎo)航欄的變化
根據(jù)前面小王設(shè)計的系統(tǒng)頁面,在管理員登錄后,還需要在頂部的導(dǎo)航欄中添加一個“歡迎管理員登錄”的提示信息。因此,小王同學(xué)打開nav.php文件,在顯示登錄者信息的區(qū)域修改了部分代碼。
管理員登錄后,首頁如圖5.1.2所示。圖5.1.2
管理員登錄后的頁面子任務(wù)5.2管理員查看所有會員5.2.1判斷管理員權(quán)限
正確的做法應(yīng)該是,借鑒前面包含數(shù)據(jù)庫連接文件的方法,單獨(dú)制作checkAdmin.php文件,在其中通過Session來判斷是否有管理員權(quán)限,然后在所有需要驗(yàn)證管理員權(quán)限的文件中使用include包含即可。5.2.2循環(huán)輸出數(shù)據(jù)表記錄
小王同學(xué)在制作導(dǎo)航欄時,已經(jīng)給“后臺管理”欄目添加了鏈接目標(biāo)文件admin.php。因此,接下來就要制作admin.php文件了。在這個文件中需要實(shí)現(xiàn)查看所有會員列表的功能。制作好admin.php文件后,可以在導(dǎo)航欄中單擊“后臺管理”跳轉(zhuǎn)至管理員頁面。
回想一下前面實(shí)現(xiàn)的登錄功能,不管是普通用戶登錄,還是管理員登錄,登錄成功后,都是跳轉(zhuǎn)至系統(tǒng)首頁。現(xiàn)在看來,這樣做已經(jīng)不太合適了,應(yīng)該區(qū)分用戶類型,如果是管理員登錄成功,則直接跳轉(zhuǎn)至admin.php頁面;如果是普通用戶登錄成功,則跳轉(zhuǎn)至首頁即可。根據(jù)這樣的思路,小王同學(xué)再次優(yōu)化了登錄成功后的跳轉(zhuǎn)邏輯。
圖5.2.1所示為管理員登錄后查看所有會員列表的結(jié)果。圖5.2.1
管理員查看所有會員列表5.2.3了解PHP中的循環(huán)語句
1.while循環(huán)
只要指定的條件成立(運(yùn)算結(jié)果為真),就循環(huán)執(zhí)行代碼塊。其語法規(guī)則為:while(條件){要執(zhí)行的代碼;}2.do...while循環(huán)
首先執(zhí)行一次代碼塊,然后在指定的條件成立時重復(fù)這個循環(huán)。其語法規(guī)則為:do{要執(zhí)行的代碼;}while(條件);3.for循環(huán)
循環(huán)執(zhí)行代碼塊指定的次數(shù)。其語法規(guī)則為:for(初始值;條件;增量){要執(zhí)行的代碼;}4.foreach循環(huán)
根據(jù)數(shù)組中的元素來循環(huán)代碼塊,也就是遍歷數(shù)組,其語法規(guī)則為:foreach($arrayas$value){要執(zhí)行代碼;}或者:foreach($arrayas$key=>$value){要執(zhí)行代碼;}子任務(wù)5.3數(shù)據(jù)分頁5.3.1理解分頁的基本原理
分頁的基本原理是,在執(zhí)行數(shù)據(jù)表查詢時,使用limit關(guān)鍵字只讀取指定條數(shù)的記錄。通過多次讀取,最終顯示所有內(nèi)容。5.3.2制作分頁文件
分頁不光要實(shí)現(xiàn)后臺數(shù)據(jù)的按頁(指定數(shù)量)獲取,還需要在前端實(shí)現(xiàn)分頁的導(dǎo)航鏈接等相關(guān)功能。同時,分頁功能也是各個系統(tǒng)經(jīng)常使用的功能之一,可能會多次重復(fù)使用,因此,小王同學(xué)還是借鑒前面的制作方法,準(zhǔn)備單獨(dú)制作一個分頁文件。這樣,以后凡是需要使用分頁的地方,都可以直接引入此文件來實(shí)現(xiàn)分頁功能。5.3.3實(shí)現(xiàn)分頁
按照下面的步驟進(jìn)行操作,可快速實(shí)現(xiàn)數(shù)據(jù)分頁。(1)在admin.php中包含page.php文件。(2)查詢記錄表的記錄總數(shù)。(3)設(shè)置每一頁顯示多少條記錄。(4)讀取當(dāng)前頁碼。(5)引用分頁函數(shù)。(6)在SQL語句中加上limit關(guān)鍵字進(jìn)行分頁查詢。(7)在末尾加上分頁鏈接。圖5.3.1
數(shù)據(jù)分頁效果【知識儲備】1.SQL查詢中count()函數(shù)的使用(1)count(*):返回表中的記錄數(shù)(包括所有列),相當(dāng)于統(tǒng)計表的行數(shù)(不會忽略列值為NULL的記錄)。(2)count(1):忽略所有列,1表示一個固定值,也可以用count(2)、count(3)代替(不會忽略列值為NULL的記錄)。(3)count(列名):返回指定列名的記錄數(shù),在統(tǒng)計結(jié)果時,會忽略列值為NULL的記錄(不包括空字符串和0),即列值為NULL的記錄不統(tǒng)計在內(nèi)。(4)count(distinct列名):返回指定列名的不同值的記錄數(shù)(相同的記錄只統(tǒng)計1次),在統(tǒng)計結(jié)果時,會忽略列值為NULL的記錄(不包括空字符串和0),即列值為NULL的記錄不統(tǒng)計在內(nèi)。count(id)
as
total表示獲取記錄總數(shù)后,以total的別名返回,所以在第13行中可以使用$info['total']來得到記錄總數(shù)。2.變量作用域
在PHP中,變量是有作用域的。所謂變量作用域(VariableScope),是指特定變量在代碼中可以被訪問到的位置。變量必須在其有效范圍內(nèi)使用,如果超出有效范圍,那么變量會失去其意義。
PHP中包含3種類型變量,分別是局部變量(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è)置(取消)管理員頁面如圖5.4.1所示。圖5.4.1
設(shè)置(取消)管理員頁面子任務(wù)5.5管理員刪除用戶5.5.1修改前端頁面
5.5.2制作后端頁面【素養(yǎng)小貼士】
一個優(yōu)秀的程序員應(yīng)該養(yǎng)成哪些良好的習(xí)慣呢?1.寫代碼前應(yīng)該先想好思路,再規(guī)劃框架,最后才是局部實(shí)現(xiàn)。2.注重代碼風(fēng)格。3.注重代碼執(zhí)行效率。4.解決問題時,對于原理性的問題,不要面向搜索引擎編程。5.在執(zhí)行一些風(fēng)險操作時,一定要仔細(xì)檢查,并做好二次確認(rèn)。子任務(wù)5.6管理員修改會員
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲店面垃圾分類處理與環(huán)保責(zé)任合同
- 體育場館操場租賃合作合同范本
- 農(nóng)業(yè)園區(qū)生態(tài)圍墻安裝與環(huán)保監(jiān)測合同
- 餐飲店消防安全管理及合作合同
- 政策性金融支持與企業(yè)融資
- 公司組織愛心活動方案
- 公司植物燒烤活動方案
- 公司更名策劃方案
- 數(shù)字金融發(fā)展對小微企業(yè)融資瓶頸的突破
- 公司精英晚宴活動方案
- GB/T 33084-2016大型合金結(jié)構(gòu)鋼鍛件技術(shù)條件
- GB/T 17587.3-1998滾珠絲杠副第3部分:驗(yàn)收條件和驗(yàn)收檢驗(yàn)
- 半條被子(紅軍長征時期故事) PPT
- 安徽省A10聯(lián)盟2023年高一物理第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題(含答案解析)
- JP柜出廠檢驗(yàn)記錄
- 《語言學(xué)綱要》學(xué)習(xí)指導(dǎo)書習(xí)題答案
- 硫酸分裝經(jīng)營企業(yè)風(fēng)險分級管控及隱患治理資料
- icao考試圖片題飛行員ICAO描述模板
- 鹽城市區(qū)第Ⅲ防洪區(qū)水環(huán)境綜合治理PPP項(xiàng)目Ⅱ標(biāo)段“6·4”一般基坑坍塌事故調(diào)查報告
- 撥叉綜合課程設(shè)計
- 學(xué)校物業(yè)服務(wù)監(jiān)督及處罰辦法
評論
0/150
提交評論