1年的PHP setcookie将不起作用

gblwokeq  于 2023-01-12  发布在  PHP
关注(0)|答案(6)|浏览(97)

我试图设置一个PHP cookie从用户登录后1年到期,我这样做:

setcookie("myCookie",'exampleUserName',(365 * 24 * 60) ,'/');

问题是,当我在Chrome或Firefox中使用控制台查看Cookie时,它在Chrome中显示过期Sun, 05, 2014,在Firefox中显示过期Expires = Session
任何其他网站,如谷歌或stackoverflows cookies显示正确的到期日期。
我该怎么弥补呢?

lstz6jyr

lstz6jyr1#

setcookie($cookie_name, $cookie_value, strtotime("+1 year"));
wi3ka0sx

wi3ka0sx2#

像这样...

setcookie("myCookie",'exampleUserName',time()+31556926 ,'/');// where 31556926 is total seconds for a year.
tmb3ates

tmb3ates3#

试试这个

setcookie($cookie_name, $cookie_value, time() + ( 365 * 24 * 60 * 60));
nzkunb0c

nzkunb0c4#

第三个参数是未来的时间,表示time() + time in seconds。您的365 * 24 * 60表示1971(1970 + 1),这是过去的时间。过去的Cookie将不会被使用-人们将cookie设置为过去的时间来清除cookie。完全像Shankar一样操作。

3zwtqj6y

3zwtqj6y5#

试试这个:

<?php
       setcookie("TestName", "Test Value", time()+3600 * 24 * 365);
?>

>> Here 'TestName' is name of cookie.
>> "Test Value" is value to store.
>> time()+3600 * 24 * 365 - will set cookie time till 1 year.

谢谢!

mi7gmzs6

mi7gmzs66#

别把事情搞复杂了
就做一件事
一天有86400秒所以只要乘以
以下是30天的示例

setcookie("test","value",time() + (86400 * 30));

将其概括为(86400 * 天)

setcookie("test","value",time() +(86400 * 365));

相关问题