PHP cookie和时间

时间:2013-10-01 20:10:27

标签: php cookies

我正在尝试第一次使用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;

2 个答案:

答案 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
    }
}