我正在设置一个cookie,但有一些问题.目前cookie格式是这样的:
setcookie("company_id", $company_id, 0, '/');
Run Code Online (Sandbox Code Playgroud)
所以到期时间设置为0表示cookie永远不会过期,但是当我试图不设置任何到期时间时,所以我在第三个参数中传递一个空参数,如下所示:
setcookie("company_id", $_POST["company_id"], "", '/');
Run Code Online (Sandbox Code Playgroud)
但这不起作用,cookie没有得到,当我改变它的空参数而0不是开始工作.有什么建议?
expire参数以秒为单位.Setcookie功能
除name参数之外的所有参数都是可选的.您也可以用空字符串("")替换参数以跳过该参数.因为expire参数是整数,所以不能使用空字符串跳过它,而是使用零(0).
因此,除非您希望它在会话结束时到期,否则您将需要具有零以外的值.
0表示如果你想让它"永不过期"使用很长时间,那么cookie应该在会话结束时到期.
setcookie("TestCookie", $value, time()+3600*24*365*10, '/')
Run Code Online (Sandbox Code Playgroud)
例如那将是十年.
请记住,人们可以经常清除cookie.所以你的可能会被删除.Cookie也是特定于浏览器的,因此如果每次都需要存储在此中的数据,那么如果用户切换浏览器,除非再次设置,否则这将不再可用.