Cookie的創建十分簡單,只要用戶的瀏覽器支持 Cookie 功能,就可以使用 PHP 內建的函數來建立一個新的Cookie。在PHP中通過 setcookie() 函數創建 Cookie。在創建 Cookie 之前必須了解的是, Cookie是 HTTP 頭標的組成部分,而頭標必須在頁面其他內容之前發送,因此它必須最先輸出。所以即使是空格或者是空行,都不要在調用setcookie() 函數之前輸出。 若在 setcookie() 函數前輸出一個 HTML標記、echo語句,甚至一個空行都會導致程序出錯。直線電機生產廠家
其語法是如下的格式:
1 |
|
setcookie() 函數定義一個和其余的 HTTP 標頭一起發送的 Cookie,它的所有參數是對應 HTTP 標頭 Cookie 資料的屬性。雖然 setcookie() 函數的導入參數看起來不少,但除了參數name , 其他參數都是非必須的,而我們經常使用的只有 $name , $value和 $expire 這三個參數。
setcookie() 函數的 參數說明如下:
1) name
Cookie 的變量名
可以通過 $_COOKIE["cookiename"] 調用變量名為 cookiename 的 Cookie
2)value
Cookie 變量的值,該值保存在客戶端,不能用來保存敏感數據
可以通過 $_COOKIE["values"] 獲取名為 values 的值
3) expire
Cookie 的失效時間,expire 是標准的 UNIX 時間標記,可以用 time()函數 或者 mktime() 函數獲取,單位為秒
如果不設置 Cookie 的失效時間 ,那么 Cookie 將永遠有效,除非手動將其刪除
4) path
Cookie 在服務端的有效路徑
如果該參數設置成 “ / ”,則它在整個 domain 內有效, 如果設置為 “ /11 ”,它在 domain 下的 /11 目錄及子目錄內有效。默認是當前目錄
5) domain
Cookie 有效地域名
如果要使 Cookie 在 abc.com 域名下的所有子域名都有效,應該設置為 abc.com
6) secure
指明 Cookie是否通過安全的 HTTPS,值為 0 或 1
如果值為1,則 Cookie 只能在 HTTPS 連接上有效;如果值為默認值 0,則 Cookie 在 HTTP 和 HTTPS連接上均有效。
如果只有$name 這一個參數,則原有此名稱的 cookie 選項將會被刪除,也可以使用空字符串來省略此參數。參數$expire 和 $secure 是一個整數,可以使用 0 來省略此參數,而不是使用空字符串。但 參數$expire 是一個正規的 UNIX 時間整數,由time()或者 mktime()函數傳回。 參數 $secure 指出此 Cookie 將只有在安全的 HTTPS 連接時傳送。
使用 setcookie() 函數的全部參數設置,實例代碼如下的顯示
1 2 3 |
|
說明:上例中表示建立一個識別名稱為“username” 的 Cookie,其內容值為字符串“sky”,而在客戶端的存儲有效期為1小時。參數"/test" 表示 Cookie 只有在故武器的這個子目錄或子目錄中有效。參數".php.cn" 使 Cookie能在如 php.cn 域名下的所有子域中都有效,雖然 “.” 並不是必需的,但加上它會兼容更多的瀏覽器。當最后一個參數設為 1 時,則 Cookie 僅在安全的連接中才能被設置。
使用setcookie()給的值只能是數字或者字符串,不能是其他的復雜結構。https://www.frlh168.com/news/1007.html