新聞中心

不過在設(shè)置 Cookie 之前必須了解的是,Cookie 是 HTTP 響應(yīng)頭的一部分,而響應(yīng)頭必須在頁而其他內(nèi)容之前發(fā)送,它必須最先輸出。若在 setcookie() 函數(shù)前輸出一個(gè) HTML 標(biāo)記或 echo 語句,甚至一個(gè)空行都會(huì)導(dǎo)致程序出錯(cuò)。
setcookie() 函數(shù)的語法格式如下:
setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])
參數(shù)說明如下:
- $name:設(shè)置 Cookie 的名稱;
- $value:可選參數(shù),用來設(shè)置 Cookie 的值??梢酝ㄟ^ $_COOKIE['$name'] 的形式來獲取 $value 的值;
- $expire:可選參數(shù),用來設(shè)置 Cookie 的過期時(shí)間,這個(gè)時(shí)間是 Unix 時(shí)間戳的形式。如果設(shè)置成零或者忽略該參數(shù),Cookie 會(huì)在會(huì)話結(jié)束時(shí)過期(也就是關(guān)掉瀏覽器時(shí));
- $path:可選參數(shù),用來設(shè)置 Cookie 有效的服務(wù)器路徑。 設(shè)置成 '/' 時(shí),Cookie 對(duì)整個(gè)域名 $domain 有效。 如果設(shè)置成'/foo/',則 Cookie 僅僅對(duì) $domain 中 /foo/ 目錄及其子目錄有效(比如 /foo/bar/)。默認(rèn)值為設(shè)置 Cookie 時(shí)的目錄;
- $domain:可選參數(shù),用來設(shè)置 Cookie 的有效域名/子域名。設(shè)置成子域名(例如 'c.biancheng.net'),會(huì)使 Cookie 對(duì)這個(gè)子域名和它的三級(jí)域名有效(例如 php.c.biancheng.net)。 要讓 Cookie 對(duì)整個(gè)域名有效(包括它的全部子域名),只要設(shè)置成域名就可以了(例如 'biancheng.net');
- $secure:可選參數(shù),用來設(shè)置這個(gè) Cookie 是否僅僅通過安全的 HTTPS 連接傳給客戶端。設(shè)置成 TRUE 時(shí),只有安全連接存在時(shí)才會(huì)設(shè)置 Cookie;
- $httponly:可選參數(shù),設(shè)置成 TRUE 時(shí),Cookie 僅可通過 HTTP 協(xié)議訪問,也就是說 Cookie 無法通過類似 JavaScript 這樣的腳本語言訪問。設(shè)置該參數(shù)可以有效的減少受到 XSS 攻擊的風(fēng)險(xiǎn)。
注意:如果在調(diào)用 setcookie() 函數(shù)以前產(chǎn)生了輸出,setcookie() 會(huì)調(diào)用失敗并返回 FALSE。 如果 setcookie() 成功運(yùn)行,則會(huì)返回 TRUE。
【示例】使用 setcookie() 函數(shù)創(chuàng)建 Cookie。
';
print_r($_COOKIE);
?>
運(yùn)行結(jié)果如下:
Array
(
[Website] => C語言中文網(wǎng)
[Title] => Cookie
[Url] => http://c.biancheng.net/php/
)
提示:當(dāng)?shù)谝淮芜\(yùn)行這個(gè)腳本文件時(shí)并不會(huì)有任何輸出信息,因此設(shè)置完 Cookie 后需要刷新一下頁面,這樣在下次請(qǐng)求時(shí) HTTP 頭部才會(huì)攜帶上一次設(shè)置的 Cookie 信息,這時(shí)才能讀取到 Cookie。
分享題目:PHP設(shè)置Cookie
URL網(wǎng)址:http://m.5511xx.com/article/dhjsido.html


咨詢
建站咨詢
