php中如何創建Cookie


Cookie的創建十分簡單,只要用戶的瀏覽器支持 Cookie 功能,就可以使用 PHP 內建的函數來建立一個新的Cookie。在PHP中通過 setcookie() 函數創建 Cookie。在創建 Cookie 之前必須了解的是, Cookie是 HTTP 頭標的組成部分,而頭標必須在頁面其他內容之前發送,因此它必須最先輸出。所以即使是空格或者是空行,都不要在調用setcookie() 函數之前輸出。 若在 setcookie() 函數前輸出一個 HTML標記、echo語句,甚至一個空行都會導致程序出錯。直線電機生產廠家

 

其語法是如下的格式:

1

setcookie(name,value,expire,path,domain,secure)

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

<?php

  setcookie("username","sky",time()+60*60,"/test",".php.cn",1);

?>

說明:上例中表示建立一個識別名稱為“username” 的 Cookie,其內容值為字符串“sky”,而在客戶端的存儲有效期為1小時。參數"/test" 表示 Cookie 只有在故武器的這個子目錄或子目錄中有效。參數".php.cn" 使 Cookie能在如 php.cn 域名下的所有子域中都有效,雖然 “.” 並不是必需的,但加上它會兼容更多的瀏覽器。當最后一個參數設為 1 時,則 Cookie 僅在安全的連接中才能被設置。

使用setcookie()給的值只能是數字或者字符串,不能是其他的復雜結構。https://www.frlh168.com/news/1007.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM