我正在尝试第一次使用Cookie,我不认为我理解这个或者我的代码正在做一些循环的事情。有人介意帮助我回到正确的道路上吗?
我一直在阅读php.net的帮助,但我认为我现在的想法很简陋:/
$currentTime = strtotime("now");
$popup_exp = strtotime("+1 hour");
if (!isset($_COOKIE['popup_timer'])) : //does cookie exists? if not, make it
setcookie("popup_timer", $currentTime);
endif;
if( ($popup_exp > $_COOKIE['popup_timer']) ):
//show my popup
endif;
答案 0 :(得分:3)
没有让你的代码安静,但正如你评论的那样
if(!isset($_COOKIE['popup_timer'])) {
//Show popup
setcookie("popup_timer", '', time()+3600);
}
只有当$_COOKIE
未设置时,上面会抛出一个弹出窗口,一旦它弹出弹出窗口,就会设置一个设置为一小时到期的cookie。
答案 1 :(得分:1)
您应该将当前时间与存储在Cookie中的时间进行比较,例如
$currentTime = strtotime('now');
if (!isset($_COOKIE['popup_timer'])) {
setcookie('popup_timer', $currentTime);
} else {
if ($currentTime > $_COOKIE['popup_timer'] + 60 * 60) {
// If an hour has passed since cookie creation
// show your popup
}
}