3

这是我使用的强制 cookie 在 90 天后过期的代码:

setcookie("WHMCSAffiliateID", $aff, time()+90*24*60*60);

如果我希望 cookie 永远不会过期,我需要将此行更改为什么?

4

2 回答 2

0

无法将 cookie 设置为永不过期。但是,如果您定期更新 cookie,那么它们可以有效地永久存在。

就个人而言,我喜欢设置 30 天的 cookie,并每隔一段时间更新一次。这样做的一种方法可能是:

setcookie("WHMCSAffiliateID",$add,time()+30*24*60*60);
setcookie("Renew-cookies","1",time()+10*24*60*60);

然后在每次页面加载时:

if( isset($_COOKIE['WHMCSAffiliateID']) && !isset($_COOKIE['Renew-cookies'])) {
    setcookie("WHMCSAffiliateID",$_COOKIE['WHMCSAffiliateID'],time()+30*24*60*60);
    setcookie("Renew-cookies","1",time()+10*24*60*60);
}
于 2013-03-02T00:09:54.687 回答
0

怎么样

$year = 365*86400;
setcookie("WHMCSAffiliateID", $aff, time()+100*$year);

?

100年显然有点多。2年应该没问题。或者 1. 或者 10,如果你必须绝对确定并且永远不要改变你的代码。

于 2013-03-02T00:04:53.667 回答