PHP程序設計基礎(微課版)(第2版)課件 1.PHP co kie_第1頁
PHP程序設計基礎(微課版)(第2版)課件 1.PHP co kie_第2頁
PHP程序設計基礎(微課版)(第2版)課件 1.PHP co kie_第3頁
PHP程序設計基礎(微課版)(第2版)課件 1.PHP co kie_第4頁
PHP程序設計基礎(微課版)(第2版)課件 1.PHP co kie_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

7.1cookie技術陳學平CONTENTS1cookie技術1.1php中Cookie的功能和用途Cookie的功能Cookie應用范圍Cookie有哪些用途呢?1.3php中如何讀取Cookie目錄011cookie技術021.1php中Cookie的功能和用途03Cookie的功能Cookie的功能Cookie是由服務器端生成,發(fā)送給User-Agent(一般是瀏覽器),瀏覽器會將Cookie的key/value保存到某個目錄下的文本文件內,下次請求同一網(wǎng)站時就發(fā)送該Cookie給服務器(前提是瀏覽器設置為啟用cookie)。04Cookie應用范圍Cookie應用范圍Cookie常用于以下的3個方面:記錄訪客的某些信息。如可以利用Cookie記錄用戶訪問網(wǎng)頁的次數(shù),或者記錄方可曾經(jīng)輸入過的信息。另外,某些網(wǎng)站可以使用Cookie自動記錄訪客上次登錄的用戶名。在頁面之間傳遞變量。瀏覽器并不會保存當前頁面上的任何變量信息,當頁面被關閉時頁面上的所有變量信息將隨之消失。如果用戶聲明一個變量id=6,要把這個變量傳遞到另一個頁面,可以把變量id以Cookie形式保存下來,然后在下一頁通過讀取該Cookie來獲取該變量的值。將所查看的Internet頁存儲在Cookie臨時文件中,可以提高以后瀏覽的速度。Cookie應用范圍注意:一般不要用Cookie保存數(shù)據(jù)集或其他大量的數(shù)據(jù)。并非所有的瀏覽器都支持Cookie,并且數(shù)據(jù)信息是以明文文本的形式保存在客戶端計算機中,因此最好不要保存敏感的、未加密的數(shù)據(jù),否則會影響網(wǎng)絡的安全性。05Cookie有哪些用途呢?Cookie有哪些用途呢?最根本的用途是Cookie能夠幫助Web站點保存有關訪問者的信息。Cookie的作用就類似于名片,它提供了相關的標識信息,可以幫助應用程序確定如何繼續(xù)執(zhí)行。使用Cookie能夠達到多種目的,所有這些目的都是為了使Web站點記住訪問信息。例如,一個實施民意測驗的站點可以簡單地利用Cookie作為布爾值,表示訪問的瀏覽器是否已經(jīng)參與了投票,從而避免重復投票;而那些要求用戶登錄的站點則可以通過Cookie來確定訪問者是否已經(jīng)登錄過,這樣就不必每次都輸入憑據(jù)。1.2php中如何創(chuàng)建CookieCookie的創(chuàng)建十分簡單,只要用戶的瀏覽器支持Cookie功能,就可以使用PHP內建的函數(shù)來建立一個新的Cookie。在PHP中通過setcookie()函數(shù)創(chuàng)建Cookie。在創(chuàng)建Cookie之前必須了解的是,Cookie是HTTP頭標的組成部分,而頭標必須在頁面其他內容之前發(fā)送,因此它必須最先輸出。所以即使是空格或者是空行,都不要在調用setcookie()函數(shù)之前輸出。若在setcookie()函數(shù)前輸出一個HTML標記、echo語句,甚至一個空行都會導致程序出錯。其語法是如下的格式:1.2php中如何創(chuàng)建Cookiesetcookie()函數(shù)定義一個和其余的HTTP標頭一起發(fā)送的Cookie,它的所有參數(shù)是對應HTTP標頭Cookie資料的屬性。setcookie()函數(shù)的導入?yún)?shù)看起來不少,但除了參數(shù)name,其他參數(shù)都是非必須的,而經(jīng)常使用的只有$name,$value和$expire這三個參數(shù)。setcookie()函數(shù)的參數(shù)說明如下:nameCookie的變量名可以通過$_COOKIE["cookiename"]調用變量名為cookiename的CookievalueCookie變量的值,該值保存在客戶端,不能用來保存敏感數(shù)據(jù)可以通過$_COOKIE["values"]獲取名為values的值expireCookie的失效時間,expire是標準的UNIX時間標記,可以用time()函數(shù)或者mktime()函數(shù)獲取,單位為秒如果不設置Cookie的失效時間,那么Cookie將永遠有效,除非手動將其刪除pathCookie在服務端的有效路徑如果該參數(shù)設置成“/”,則它在整個domain內有效,如果設置為“/11”,它在domain下的/11目錄及子目錄內有效。默認是當前目錄domainCookie有效地域名如果要使Cookie在域名下的所有子域名都有效,應該設置為(6))secure指明Cookie是否通過安全的HTTPS,值為0或1如果值為1,則Cookie只能在HTTPS連接上有效;如果值為默認值0,則Cookie在HTTP和HTTPS連接上均有效。如果只有$name這一個參數(shù),則原有此名稱的cookie選項將會被刪除,也可以使用空字符串來省略此參數(shù)。參數(shù)$expire和$secure是一個整數(shù),可以使用0來省略此參數(shù),而不是使用空字符串。但參數(shù)$expire是一個正規(guī)的UNIX時間整數(shù),由time()或者mktime()函數(shù)傳回。參數(shù)$secure指出此Cookie將只有在安全的HTTPS連接時傳送。domain使用setcookie()函數(shù)的全部參數(shù)設置,實例代碼如下的顯示說明:上例中表示建立一個識別名稱為“username”的Cookie,其內容值為字符串“sky”,而在客戶端的存儲有效期為1小時。參數(shù)"/test"表示Cookie只有在故武器的這個子目錄或子目錄中有效。參數(shù)"."使Cookie能在如域名下的所有子域中都有效,雖然“.”并不是必需的,但加上它會兼容更多的瀏覽器。當最后一個參數(shù)設為1時,則Cookie僅在安全的連接中才能被設置。使用setcookie()給的值只能是數(shù)字或者字符串,不能是其他的復雜結構。061.3php中如何讀取Cookie1.3php中如何讀取Cookie如果Cookie設置成功,客戶端就擁有了Cookie文件,用來保存Web服務器為期設置的用戶信息。在客戶端使用了Windows系統(tǒng)去瀏覽服務器中的腳本,Cookie文件會被存放在“C:\DocumentsandSettings\用戶名\Cookies”文件夾下。從PHP5之后,任何從客戶端發(fā)送過來的Cookie信息,都會被自動保存在$_COOKIE全局數(shù)組中,所以在每個PHP腳本中都可以從該數(shù)組中讀取相應的Cookie信息。$_COOKIE全局數(shù)組存儲所有通過HTTP傳遞的Cookie資料內容,并以Cookie的識別名稱為索引值、內容值為元素。1.3php中如何讀取Cookie在設置Cookie腳本中,第一次讀取它的信息并不會生效,必須刷新或到下一個頁面才可以看到Cookie值,因為Cookie要先被設置到客戶端,再次訪問時才能被發(fā)送過來,這是才能被獲取。所以要測試一個Cookie是否被成功設定,可以再其到期之前通過另外一個頁面來訪問其的值。在PHP中可以直接通過超全局變量數(shù)組$_COOKIE[]來讀取瀏覽器端的Cookie值。實例1使用$_COOKIE[]讀取瀏覽器端的Cookie實例代碼如下:代碼如下所示:1.3php中如何讀取Cookie在上面的代碼中,首先使用isset()函數(shù)檢測Cookie文件是否存在。如果不存在,則使用setcookie()函數(shù)創(chuàng)建一個Cookie,并輸出相應的字符串;如果Cookie文件存在,則使用setcookie()函數(shù)設置文件失效的時間,并輸出用戶上次訪問網(wǎng)站的時間,最后在頁面輸出本次方位網(wǎng)站的當前時間。首次運行實例時,由于沒有檢測到Cookie文件,運行結果如下所示:第一次訪問本次訪問的時間為:19-05-2721:48:58如果用戶在Cookie設置失效的時間(上面的實例為60秒)前刷新或者再次訪問該網(wǎng)頁,運行結果如下:1.3php中如何讀取Co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論