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

如何使用PHP操作cookie

編輯:關於PHP編程

PHP setcookie() 函數向客戶端發送一個 HTTP cookie。cookie 是由服務器發送到浏覽器的變量。cookie 通常是服務器嵌入到用戶計算機中的小文本文件。每當計算機通過浏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變量。例如,如果被發送的 cookie 名為 "name",會自動創建名為 $user 的變量,包含 cookie 的值。

必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回 false。

setcookie(name, value, expire, path, domain, secure)
  • name 必需。規定 cookie 的名稱。
  • value 必需。規定 cookie 的值。
  • expire 可選。規定 cookie 的有效期。
  • path 可選。規定 cookie 的服務器路徑。
  • domain 可選。規定 cookie 的域名。
  • secure 可選。規定是否通過安全的 HTTPS 連接來傳輸 cookie。

可以通過 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 來訪問名為 "user" 的 cookie 的值。在發送 cookie 時,cookie 的值會自動進行 URL 編碼。接收時會進行 URL 解碼。如果你不需要這樣,可以使用 setrawcookie() 代替。

程序1:

設置並發送 cookie:

<?php
$value = "my cookie value";
// 發送一個簡單的 cookie
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// 發送一個 24 小時候過期的 cookie
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>

程序2:

檢索 cookie 值的不同方法:

<html>
<body>
<?php
// 輸出個別的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// 輸出所有 cookie
print_r($_COOKIE);
?>
</body>
</html>

程序輸出:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

程序3:

通過把失效日期設置為過去的日期/時間,刪除一個 cookie:

<?php
// 把失效日期設置為一小時前
setcookie ("TestCookie", "", time() - 3600);
?>

程序4:

創建一個數組 cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// 輸出 cookie (在重載頁面後)
if (isset($_COOKIE["cookie"]))
{
  	foreach ($_COOKIE["cookie"] as $name => $value)
	{
    	echo "$name : $value <br />";
    }
}
?>

程序輸出:

three : cookiethree
two : cookietwo
one : cookieone

程序5:

/**
 * 01.cookie設置
 * */
function ssetcookie($var, $value, $life=0) {
    global $_SGLOBAL, $_SC, $_SERVER;
    setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'], $_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
}

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