




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第13章 Cookie與Session在Web系統(tǒng)中,常常需要記錄用戶(hù)的有關(guān)信息,以供用戶(hù)再次以此身份對(duì)Web服務(wù)器提起請(qǐng)求時(shí)進(jìn)行確認(rèn)。在PHP中,通常采用的方式就是使用Cookie或Session來(lái)保存用戶(hù)信息。13.1 概述Web系統(tǒng)是采用HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)?。而該協(xié)議是一個(gè)無(wú)狀態(tài)協(xié)議,無(wú)法得知用戶(hù)的瀏覽狀態(tài),也就是說(shuō),客戶(hù)端與服務(wù)器的每一次連接都被當(dāng)成是一次單獨(dú)的操作。用戶(hù)在前一張網(wǎng)頁(yè)的數(shù)據(jù)將不能在第二張網(wǎng)頁(yè)上使用。因此,產(chǎn)生了兩種用于保持連接狀態(tài)的技術(shù),它們就是Cookie和Session。13.1.1 CookieCookie是一種在遠(yuǎn)程瀏覽器端儲(chǔ)存數(shù)據(jù)并以此來(lái)跟蹤和識(shí)別用戶(hù)的
2、機(jī)制。當(dāng)相同的計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求一個(gè)頁(yè)面時(shí),原先存儲(chǔ)的cookie也會(huì)發(fā)送到服務(wù)器。由于Cookie是保存在客戶(hù)端的,因此可以隨意的設(shè)置Cookie的保存時(shí)間。為了能夠永久的保持用戶(hù)信息,使用Cookie是最為便捷的方式。13.1.2 SessionSession是保存用戶(hù)信息另一種方式。它將用戶(hù)信息以文件的形式存儲(chǔ)在服務(wù)器,然后通過(guò)客戶(hù)端提交的session_id識(shí)別客戶(hù)端的信息。使用該方式,訪(fǎng)問(wèn)網(wǎng)站的每一位來(lái)客將會(huì)被分配一個(gè)唯一的標(biāo)識(shí)符,即所謂的SessionID。它可以存放在客戶(hù)端的Cookie中,也可以經(jīng)由URL進(jìn)行傳遞。13.2 Cookie操作Cookie可用于使用保存用戶(hù)狀態(tài)。
3、在PHP中,可直接對(duì)Cookie進(jìn)行操作,例如將狀態(tài)信息寫(xiě)入Cookie、從Cookie讀取狀態(tài)信息、設(shè)置用戶(hù)狀態(tài)等信息的保存時(shí)間等操作。這一節(jié)將對(duì)Cookie的操作作詳細(xì)的講解。13.2.1 設(shè)置Cookie在PHP中,對(duì)Cookie的操作基本都是通過(guò)setcookie函數(shù)實(shí)現(xiàn)的。其語(yǔ)法格式如下所示。bool setcookie(string $name, string $value, int $expire, string $path, string $domain, bool $secure, bool $httponly)13.2.2 訪(fǎng)問(wèn)Cookie設(shè)置的Cookie在其有效期內(nèi)均可
4、直接進(jìn)行訪(fǎng)問(wèn)。13.2.3 刪除Cookie對(duì)于已設(shè)置的Cookie,可直接進(jìn)行刪除。刪除Cookie使用一個(gè)空值Cookie即可實(shí)現(xiàn),即在調(diào)用setcookie函數(shù)時(shí)不指定屬性value的值。13.2.4 Cookie全局?jǐn)?shù)組在PHP中,提供了一個(gè)全局?jǐn)?shù)組$_COOKIE用于存儲(chǔ)PHP的Cookie變量。系統(tǒng)所有的Cookie都保存在這個(gè)全局?jǐn)?shù)組中。設(shè)置Cookie就是把所有的Cookie都以值對(duì)的形式存入該數(shù)組。訪(fǎng)問(wèn)Cookie實(shí)質(zhì)就是訪(fǎng)問(wèn)該全局?jǐn)?shù)組。刪除指定的Cookie就是從該數(shù)組中將指定Cookie的值刪除。13.3 Cookie應(yīng)用前面講到PHP中Cookie的使用,這一節(jié)將通過(guò)對(duì)
5、一個(gè)使用Cookie進(jìn)行登錄驗(yàn)證的實(shí)例的分析,對(duì)在PHP中Cookie的實(shí)際應(yīng)用進(jìn)行詳細(xì)的講解。13.3.1 登錄頁(yè)面登錄頁(yè)面也即需要用戶(hù)填寫(xiě)相關(guān)的信息的頁(yè)面,然后將用戶(hù)填寫(xiě)的信息提交至服務(wù)器。在用戶(hù)填寫(xiě)登錄信息時(shí),讓其選擇Cookie的保存時(shí)間。13.3.2 驗(yàn)證頁(yè)面難于用戶(hù)輸入的用戶(hù)名和密碼須進(jìn)行驗(yàn)證,這里采用固定的用戶(hù)名和密碼進(jìn)行驗(yàn)證。等學(xué)習(xí)了數(shù)據(jù)庫(kù)一章時(shí),可從將用戶(hù)輸入的用戶(hù)名和密碼與數(shù)據(jù)庫(kù)保存的用戶(hù)和密碼進(jìn)行對(duì)比,即可驗(yàn)證用戶(hù)輸入是否正確。通過(guò)驗(yàn)證后,根據(jù)用戶(hù)選擇將用戶(hù)登錄信息保存至Cookie中。13.3.3 歡迎頁(yè)面歡迎頁(yè)面為用戶(hù)登錄成功后的頁(yè)面。若用戶(hù)未登錄時(shí)瀏覽到該頁(yè)面,將給
6、出要求登錄的提示信息。13.4 Session操作與Cookie一樣,在PHP中一樣可以直接對(duì)Session進(jìn)行操作。例如設(shè)置Session的存儲(chǔ)位置、檢測(cè)變量是否在Session注冊(cè)、設(shè)置Session的生命周期等操作。這一節(jié)將詳細(xì)講解在PHP中如何對(duì)Session進(jìn)行相關(guān)操作。13.4.1 開(kāi)始使用Session如果使用了Seesion,或者在PHP文件要使用Session 變量,那么就必須在調(diào)用之前啟動(dòng)Session。啟動(dòng)Session只需要在PHP腳本中使用session_start()函數(shù)。其它的都不需要進(jìn)行設(shè)置了,PHP將自動(dòng)完成Session文件的創(chuàng)建。該函數(shù)語(yǔ)法格式如下所示。b
7、ool session_start(void)13.4.2 Session檢測(cè)與注銷(xiāo)對(duì)于存儲(chǔ)在Session中的變量,可使用isset函數(shù)進(jìn)行檢測(cè),該函數(shù)語(yǔ)法形式如下所示。bool isset(mixed $var, mixed $var, $.)13.4.3 Session全局?jǐn)?shù)組與Cookie類(lèi)似,PHP提供了一個(gè)超全局?jǐn)?shù)組用于存儲(chǔ)所有的Session數(shù)據(jù)。系統(tǒng)所有的Session都保存在這個(gè)超全局?jǐn)?shù)組中。設(shè)置Session就是把所有的Session都以值對(duì)的形式存入該數(shù)組。訪(fǎng)問(wèn)Session實(shí)質(zhì)就是訪(fǎng)問(wèn)該全局?jǐn)?shù)組。注銷(xiāo)指定的Session就是從該數(shù)組中將指定Session的值刪除。13.
8、5 Session應(yīng)用在學(xué)習(xí)了PHP中關(guān)于Session的操作后,這一節(jié)將以改寫(xiě)本章第三節(jié)的一個(gè)實(shí)例,講解如何在PHP應(yīng)用中使用Session。13.5.1 登錄頁(yè)面登錄頁(yè)面需要用戶(hù)輸入其用戶(hù)名和密碼,然后由表單將用戶(hù)所填寫(xiě)的信息提交至服務(wù)器。由服務(wù)器端接收數(shù)據(jù)進(jìn)行驗(yàn)證。13.5.2 驗(yàn)證頁(yè)面驗(yàn)證頁(yè)面用于接收表單提交的用戶(hù)所填寫(xiě)的數(shù)據(jù),然后進(jìn)行數(shù)據(jù)的驗(yàn)證。并根據(jù)驗(yàn)證結(jié)果執(zhí)行相應(yīng)的操作。驗(yàn)證成功,將登錄信息存儲(chǔ)于Session中,然后頁(yè)面跳轉(zhuǎn)至歡迎頁(yè)面;驗(yàn)證失敗,則顯示錯(cuò)誤信息。13.5.3 歡迎頁(yè)面歡迎頁(yè)面為用戶(hù)登錄成功的頁(yè)面。當(dāng)用戶(hù)直接瀏覽頁(yè)面時(shí),需判斷用戶(hù)是否已登錄,如未登錄則顯示提示信息,要求用戶(hù)登錄。13.5.4 注銷(xiāo)頁(yè)面注銷(xiāo)頁(yè)面為用戶(hù)登出后的頁(yè)面,該頁(yè)面將把用戶(hù)的當(dāng)前Session清空。13.6 本章實(shí)例在Web系統(tǒng)中,通常需要使用Session用于記錄當(dāng)前會(huì)話(huà)狀態(tài),記錄一些數(shù)據(jù)。使用最多的就是采用Session進(jìn)行登錄驗(yàn)證。13.7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能農(nóng)業(yè)作物損壞賠償與病蟲(chóng)害防治服務(wù)協(xié)議
- 二零二五醫(yī)療事故賠償協(xié)議書(shū)撰寫(xiě)要點(diǎn)解析
- 2025年度智能化住宅房屋租賃定金合同模板范文
- 二零二五年度知識(shí)產(chǎn)權(quán)戰(zhàn)略布局專(zhuān)利代理合同
- 二零二五年度主播才藝展示及經(jīng)紀(jì)管理協(xié)議
- 二零二五年度能源合同可撤銷(xiāo)條款與節(jié)能減排合同
- 二零二五年度全新辦公區(qū)轉(zhuǎn)租協(xié)議合同:商務(wù)辦公空間租賃權(quán)轉(zhuǎn)讓
- 二零二五年度合同管理制及流程圖編制與執(zhí)行標(biāo)準(zhǔn)合同
- 2025年度智能醫(yī)療設(shè)備研發(fā)團(tuán)隊(duì)技術(shù)人員勞動(dòng)合同
- 二零二五年度新材料專(zhuān)利共享許可協(xié)議
- 4.2基因表達(dá)與性狀的關(guān)系2表觀遺傳高一下學(xué)期生物人教版必修2
- 10以?xún)?nèi)連加減口算練習(xí)題完整版205
- 11BS4排水工程華北標(biāo)圖集
- 四年級(jí)上冊(cè)道德與法治學(xué)科質(zhì)量分析報(bào)告
- 湖北省武漢市漢陽(yáng)區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
- 混合痔疾病查房課件
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- 2024年武漢市東西湖自來(lái)水公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024年南京旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 湖北省武漢市2024年七年級(jí)下學(xué)期期末數(shù)學(xué)試題附答案
- 遼寧省撫順市順城區(qū)2023-2024學(xué)年下學(xué)期八年級(jí)物理期中考試題
評(píng)論
0/150
提交評(píng)論