程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP的學習--cookie和session

PHP的學習--cookie和session

編輯:關於PHP編程

最近讀了一點《PHP核心技術與最佳實踐》,看了cookie和session,有所收獲,結合之前的認識參考了幾篇博客,總結一下~~

1. PHP的COOKIE

cookie 是一種在遠程浏覽器端儲存數據並以此來跟蹤和識別用戶的機制。
PHP在http協議的頭信息裡發送cookie, 因此 setcookie() 函數必須在其它信息被輸出到浏覽器前調用,這和對 header() 函數的限制類似。

1.1 設置cookie

    可以用 setcookie() 或 setrawcookie() 函數來設置 cookie。也可以通過向客戶端直接發送http頭來設置。

1.1.1 使用setcookie()函數設置cookie

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )
     name:   cookie的名稱,即$_COOKIE這個全局數組的鍵值
     value:   cookie變量的值,參數為空,Cookie的值為空。Cookie不能保存boolean值,應用0表示false,1表示true。
     expire:  有效期結束的時間,以秒為單位。
     path:    有效目錄,默認為“/”,即整個域名下有效。如果有需要,可以設置僅在某目錄下有效。
     domain: 有效域名,頂級域唯一,默認在本域名下。
     secure:  是否對Cookie進行加密傳輸,默認為false.如果值為true,則cookie只能在https連接上有效,如果為默認值false,則http和https都可以。
    httponly: 是否只使用HTTP訪問Cookie。如果為1或true,客戶端的javascript就無法操作Cookie,使用此參數可以減少XSS攻擊的風險,但不是所有的浏覽器都支持這個參數。此參數只在PHP5.2.0以上的版本有效。

例子:

<? = 'something from somewhere'("TestCookie", ); 
("TestCookie", , ()+3600); 
("TestCookie", , ()+3600, "/~rasmus/", ".example.com", 1); 
?>

設置多個cookie變量: setcookie('var[a]','value');用數組來表示變量,但他的下標不用引號。這樣就可以用$_COOKIE[‘var’][‘a’]來讀取該COOKIE變量。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved