Cookie和Session課件知識資料_第1頁
Cookie和Session課件知識資料_第2頁
Cookie和Session課件知識資料_第3頁
Cookie和Session課件知識資料_第4頁
Cookie和Session課件知識資料_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Cookie和Session什么是CookieCookie是Web服務(wù)器通過程序?qū)懙綖g覽器所在計算機硬盤上的一個記事本文件。能夠被同一個域的其他Web頁面檢索和使用。根據(jù)有效期限不同,Cookie分成臨時性Cookie和永久性Cookie。臨時性Cookie將信息保存在用戶計算機的內(nèi)存中,當(dāng)用戶關(guān)閉瀏覽器時自動結(jié)束。永久性Cookie將信息保存在用戶計算機的文本文件中。永久性Cookie有一個終止日期,在終止日期之后操作系統(tǒng)將刪除該Cookie。什么是CookieCookie文件的內(nèi)容包括變量名和變量值對(名/值對)。大多數(shù)瀏覽器支持最多4M的Cookie文件。大多數(shù)瀏覽器允許一個網(wǎng)站保存20

2、個Cookie??倲?shù)最多為300個。用戶可以設(shè)置瀏覽器拒絕Cookie。創(chuàng)建Cookie使用setcookie()函數(shù),該函數(shù)最多可以有6個參數(shù)。注意:Cookie信息必須在腳本的任何其他輸出之前發(fā)送。示例:setcookie(“user”,”張三”);setcookie(“age”,20);讀取Cookie當(dāng)在客戶端設(shè)置了Cookie后,客戶端瀏覽器會將請求和Cookie一起發(fā)送回Web服務(wù)器。通過$_COOKIE數(shù)組讀取Cookie變量值。echo $_COOKIE“user”;臨時性Cookie上面用setcookie(“名”,”值”)的形式創(chuàng)建的Cookie,在用戶關(guān)閉瀏覽器前,可以用

3、此瀏覽器查看站點中每個頁面,都可以得到這個Cookie的值。關(guān)閉瀏覽器后,這個Cookie值就獲取不了了,所以稱為臨時Cookie,或者Session Cookie。創(chuàng)建永久性Cookie使用setcookie的第三個參數(shù),設(shè)置Cookie的生存期或有效期即可。有效時間是一個UNIX時間戳(從1970年1月1日零時開始計算的秒數(shù))。利用兩個函數(shù)計算時間戳:time()返回當(dāng)前的UNIX時間戳mktime()計算給定日期的時間戳示例:time()+10000mktime(12,30,50,10,8,2011)2011年10月8日12:30:50創(chuàng)建永久性Cookiesetcookie(“user

4、”,”Mike”,time()+1000);使用Cookie實現(xiàn)的簡單計數(shù)器:if(isset($_COOKIEcount)$count=$_COOKIEcount+1;setcookie(count,$count,time()+100000);echo 你訪問本頁面$count 次了;刪除Cookie刪除Cookie的方法是重新執(zhí)行setcookie函數(shù),將cookie值設(shè)置為空字符串,其他與上一次調(diào)用setcookie函數(shù)時相同。將時間設(shè)置為過去時間也可以刪除Cookie。setcookie(“user”,”);setcookie(“user”,”Mike”,time()-1)課堂練習(xí)完成

5、“自動登錄”功能。PHP的SessionSession的工作原理Session:會話,從用戶登錄網(wǎng)站開始,到關(guān)閉瀏覽器或者結(jié)束會話所經(jīng)過的時間。首次啟動會話時,服務(wù)器生成一個唯一的會話標(biāo)識符(Session ID),它是一個標(biāo)識會話的長的字符串。通過這個SID,服務(wù)器與瀏覽器保持彼此之間的聯(lián)系。默認(rèn)情況下,會話標(biāo)識符存放在瀏覽器的Cookie中,這個Cookie由Web服務(wù)器自動發(fā)送到訪問它的客戶端瀏覽器。根據(jù)PHP的會話配置不同,可以將會話中的所有信息保存到服務(wù)器共享內(nèi)存、會話文件或者數(shù)據(jù)庫。會話的生命周期默認(rèn)為24分鐘,可以通過修改PHP的php.ini配置文件指令來設(shè)置。Session的

6、配置配置信息放在php.ini文件中session.save_handler = files定義用哪種存儲方式來存儲會話數(shù)據(jù),其值為文件files,共享內(nèi)存mm,SQLite數(shù)據(jù)庫sqlite和用戶自定義函數(shù)user。默認(rèn)為files。文件方式會產(chǎn)生大量的會話文件;共享內(nèi)存最快但易引起系統(tǒng)崩潰;sqlite用數(shù)據(jù)庫管理會話;user配置復(fù)雜但最穩(wěn)定功能最強大,可以自定義函數(shù),在任何媒體中存儲會話數(shù)據(jù)。Session的配置session.save_path = N;/path“如果session.save_handler設(shè)置為files,哪么這個指令用來指定存儲會話文件的目錄。如:session

7、.save_path=“d:temp”注意:指定路徑必須首先創(chuàng)建出該文件夾。Session的配置session.use_cookies = 1指定是否在客戶端用Cookie來存放會話標(biāo)識符SID,默認(rèn)為1(啟用)。如果設(shè)置為1表示用Cookie存SID,設(shè)置為0則使用URL參數(shù)傳遞SID。session.use_trans_sid = 1如果上面的選項設(shè)定了,那么為了確保SID的傳送,可以啟用本指令,則SID可以自動的附加到URL中。Session的基本使用啟動Sessionsession_start()讀寫Session變量$_SESSION“變量名”=值 /寫值echo $_SESSION

8、“變量名” /讀值刪除Session變量session_unset()刪除當(dāng)前會話中所有會話變量session_destroy()刪除會話文件,當(dāng)前會話變量還在Session的基本使用獲取或設(shè)置會話標(biāo)識符session_id() 如果瀏覽器關(guān)閉Cookie,可以通過URL傳遞SID更改會話標(biāo)識符session_regenerate_id(bool delete_old_session)重新生成一個新的SID,替換原來的,但是當(dāng)前會話的所有數(shù)據(jù)都會保留,可選參數(shù)delete_old_session表示是否刪除當(dāng)前會話標(biāo)識符對應(yīng)的會話文件,默認(rèn)為false。獲取或設(shè)置Session名稱session_name(string name) /PHPSESSID參數(shù)name可以更改Session名稱Session的基本使用編碼和解碼Session數(shù)據(jù)會話數(shù)據(jù)按一個會話變量由一個字符串組成的標(biāo)準(zhǔn)格式來存儲。例如:city|s:4:大連;由 名稱|類型:長度:”值”一般PHP自動對會話變量及其值進(jìn)行編碼自動解碼。session_en

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論