簡體   English   中英

PHP Cookie將到期時間設置為無

[英]PHP Cookie set expiry time to none

我正在設置一個cookie,但有一些問題。 目前cookie格式是這樣的:

setcookie("company_id", $company_id, 0, '/');

所以到期時間設置為0表示cookie永遠不會過期,但是當我試圖不設置任何到期時間時,我在第三個參數中傳遞一個空參數,如下所示:

setcookie("company_id", $_POST["company_id"], "", '/');

但這不起作用,cookie沒有得到,當我將空參數更改為0它比開始工作。 有什么建議么?

expire參數以秒為單位。 Setcookie功能

除name參數之外的所有參數都是可選的。 您也可以用空字符串(“”)替換參數以跳過該參數。 因為expire參數是整數,所以不能使用空字符串跳過它,而是使用零(0)。

因此,除非您希望它在會話結束時到期,否則您將需要具有零以外的值。

0表示如果你想讓它“永不過期”使用很​​長時間,那么cookie應該在會話結束時到期。

setcookie("TestCookie", $value, time()+3600*24*365*10, '/')

例如那將是十年。

請記住,人們可以經常清除cookie。 所以你的可能會被刪除。 Cookie也是特定於瀏覽器的,因此如果每次都需要存儲在此中的數據,那么如果用戶切換瀏覽器,除非再次設置,否則這將不再可用。

你問的是錯誤的問題。 沒有辦法設置cookie不會過期; 這不是PHP限制,它不是cookie規范的一部分(http://www.faqs.org/rfcs/rfc2965.html)。

你最好的選擇是在將來使用一個日期。 例如,要設置一個在二十年后到期的cookie:

setcookie(
  "CookieName",
  "CookieValue",
  time() + (20 * 365 * 24 * 60 * 60)
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM