一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php setcookie(name, value, expires, path, domain, secure) 參數(shù)詳解

php setcookie(name, value, expires, path, domain, secure) 參數(shù)詳解

2020-05-04 14:58PHP教程網(wǎng) PHP教程

本篇文章是對php setcookie(name, value, expires, path, domain, secure) 參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

setcookie() 定義一個和其余的 HTTP 標(biāo)頭一起發(fā)送的 cookie。和其它標(biāo)頭一樣,cookie 必須在腳本的任何其它輸出之前發(fā)送(這是協(xié)議限制)。這需要將本函數(shù)的調(diào)用放到任何輸出之前,包括 <html> 和 <head> 標(biāo)簽以及任何空格。如果在調(diào)用 setcookie() 之前有任何輸出,本函數(shù)將失敗并返回 FALSE。如果 setcookie() 函數(shù)成功運行,將返回 TRUE。這并不說明用戶是否接受了 cookie。
函數(shù)定義:
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
setcookie() 參數(shù)詳解

參數(shù)       

說明

舉例

name

cookie的名字

使用 $_COOKIE['cookiename'] 調(diào)用名為 cookiename 的 cookie。

value

cookie的值,存放在客戶端,不要存放敏感數(shù)據(jù)

假定 name 是 'cookiename',可以通過$_COOKIE['cookiename'] 取得其值。

expire

Cookie 過期的時間。這是個 Unix 時間戳,即從 Unix 紀(jì)元開始的秒數(shù)?! ?/span>

換而言之,通常用 time() 函數(shù)再加上秒數(shù)來設(shè)定 cookie 的失效期。

或者用mktime()來實現(xiàn)。

time()+60*60*24*30 將設(shè)定 cookie 30 天后失效。

如果未設(shè)定,cookie 將會在會話結(jié)束后(一般是瀏覽器關(guān)閉)失效。

path

Cookie 在服務(wù)器端的有效路徑。

如果該參數(shù)設(shè)為 '/' 的話,cookie 就在整個 domain 內(nèi)有效,

如果設(shè)為 '/foo/',cookie 就只在 domain 下的 /foo/ 目錄及其子目錄內(nèi)有效,例如 /foo/bar/。

默認(rèn)值為設(shè)定 cookie 的當(dāng)前目錄。

domain

該 cookie 有效的域名。

要使 cookie 能在如 example.com 域名下的所有子域都有效的話,該參數(shù)應(yīng)該設(shè)為 '.example.com'。

雖然 . 并不必須的,但加上它會兼容更多的瀏覽器。

如果該參數(shù)設(shè)為www.example.com 的話,就只在 www 子域內(nèi)有效。

細(xì)節(jié)見Cookie 規(guī)范中的 tail matching。

secure

指明 cookie 是否僅通過安全的 HTTPS 連接傳送。

當(dāng)設(shè)成 TRUE 時,cookie 僅在安全的連接中被設(shè)置。默認(rèn)值為FALSE。

0 或 1


例子 1. setcookie() 發(fā)送例子

復(fù)制代碼 代碼如下:


$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value,time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1); 


注意 cookie 中值的部分在發(fā)送的時候會被自動用 urlencode 編碼并在接收到的時候被自動解碼并把值賦給與自己同名的 cookie 變量。如果不想這樣并且在使用 PHP 5 的話,可以用 setrawcookie() 來代替。下面這個簡單的例子可以得到剛才所設(shè)定的 cookie 的值:

復(fù)制代碼 代碼如下:


<?php
// 輸出單獨的 cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];
// 另一個調(diào)試的方法就是輸出所有的 cookie
print_r($_COOKIE);
?>


要刪除 cookie 需要確保它的失效期是在過去,才能觸發(fā)瀏覽器的刪除機制。下面的例子說明了如何刪除剛才設(shè)置的 cookie:
例子 2. setcookie() 刪除例子

復(fù)制代碼 代碼如下:


// 將過期時間設(shè)為一小時前
setcookie("TestCookie", "", time() - 3600);
setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1); 


也可以通過在 cookie 名稱中使用數(shù)組符號來設(shè)定數(shù)組 cookie,可以設(shè)定多個 cookie 作為數(shù)組單元,在腳本提取 cookie 時所有的值都放在一個數(shù)組種:
例子 3. setcookie() 中使用數(shù)組的例子

復(fù)制代碼 代碼如下:


<?php
// 設(shè)定 cookie
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// 刷新頁面后,顯示出來
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\n";
    }
}
?>


上例將輸出:
three : cookiethree
two : cookietwo
one : cookieone

總結(jié):cookie的基本使用不難,這篇文章記錄的重點主要是掌握path的路徑設(shè)置和domain的域名設(shè)置。
 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品一区久久精品 | jiuse视频 | 大ji巴好好爽好深网站 | 99国产精品 | 国产成人精品视频频 | 国产麻豆麻豆 | 免费网址在线观看入口推荐 | 高h孕交 | 亚洲午夜久久久久久91 | 毛片资源 | 色婷婷婷婷| 单身男女韩剧在线看 | 双夫1v2 | 国产一级毛片外aaaa | 日本黄色影院 | 369手机看片 | 91在线高清视频 | 日本一在线中文字幕天堂 | 日本免费一区二区三区 | 久久久无码精品亚洲A片软件 | 欧美精品一区二区三区免费观看 | 四虎影剧院| 男人最爱看的网站 | 亚洲精品九色在线网站 | 国产第7页| 午夜秀场在线观看 | 成人福利网站含羞草 | 亚洲香蕉网久久综合影院3p | 天堂成人在线视频 | 激情综合 | 8x8x极品国产在线 | 99久久免费看精品国产一区 | www.男人的天堂 | 国产普通话对白露脸流出 | 色综合久久夜色精品国产 | 国产日韩欧美在线一区二区三区 | а天堂中文最新版在线 | 4438成人网 | 人人干国产 | chinese国产老太性 | 亚州在线视频 |