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

PHP關於cookie和session的分析

編輯:PHP綜合

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變量名

value:  cookie變量的值

expire: 有效期結束的時間,

path:  有效目錄,

domain: 有效域名,頂級域唯一

secure: 如果值為1,則cookie只能在https連接上有效,如果為默認值0,則http和https都可以.

例子:

<?php
$value = 'something from somewhere';setcookie("TestCookie", $value); /* 簡單cookie設置 */
setcookie("TestCookie", $value, time()+3600); /* 有效期1個小時 */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); /* 有效目錄 /~rasmus,有效域名example.com及其所有子域名 */
?>

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

1.1.2.使用header()設置cookie;

header("Set-Cookie: name=$value[;path=$path[;domain=xxx.com[;...]]");

後面的參數和上面列出setcookie函數的參數一樣.

比如:

$value = 'something from somewhere';
header("Set-Cookie:name=$value");

1.2 Cookie的讀取:

直接用php內置超級全局變量 $_COOKIE就可以讀取浏覽器端的cookie.

上面例子中設置了cookie"TestCookie",現在我們來讀取:

print $_COOKIE['TestCookie'];

COOKIE是不是被輸出了?!

1.3 刪除cookie

只需把有效時間設為小於當前時間, 和把值設置為空.例如:

setcookie("name","",time()-1);

用header()類似.

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