setcookie

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"; // 傳送一個簡單的

cookiesetcookie("TestCookie",$value);

?>

<html>

<body>......

<?php$value = "my cookie value"; // 傳送一個 24 小時候過期的

cookiesetcookie("TestCookie",$value, time()+3600*24);

?>

<body>

<html>

例子 2

檢索 cookie 值的不同方法:

<html>

<body>

<?php

// 輸出個別的

cookieecho $_COOKIE["TestCookie"];echo "<br />";

echo $HTTP_COOKIE_VARS["TestCookie"];

echo "<br />"; // 輸出所有

cookieprint_r($_COOKIE);

?>

</body>

</html>

輸出:

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

例子 3

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

<?php

// 把失效日期設定為一小時前

setcookie ("TestCookie", "", time() - 3600);?>

<body>

<html>

例子 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 />";

}

}

?>

<body>

<html>

輸出:

three : cookiethreetwo : cookietwoone : cookieone

javascript

cookie設定

function setcookie(name,days)

{

var url = document.domain;

var exp = new Date();

exp.setTime(exp.getTime() + days*24*60*60*1000);

document.cookie = name + "="+ escape(url) +";expires="+ exp.toGMTString();

}

cookie取得

function getcookie(name)

{

var arr = document.cookie.match(new RegExp("[sS]*"+ name +"=([^;]*)"));

alert(arr);

if(arr != null)

return unescape(arr[1]);

return null;

}

相關詞條

相關搜尋

熱門詞條

聯絡我們