设置会话/ cookie 24小时,每天只向用户显示一次

时间:2012-08-23 20:06:52

标签: php session cookies

我一直在寻找最后一小时如何做到这一点...我认为这很容易,但无法使其发挥作用。

我想每天只展示一次(AdSense)。

如果使用Cookie或PHP会话,我不知道最好的方法是什么。无论如何,你能帮助我并告诉我怎么能这样做?

提前致谢!

圣地亚哥

编辑:我认为这样我可以创建会话,但我不知道如何每24小时“重新创建”它以及如何检查该会话以显示我想要每天显示一次的内容。

if (!isset($_SESSION['adSense']) 
    $_SESSION['adSense'] = time();

if (time() - $_SESSION['adSense'] <= 60*60*24 ) {
   return true;
} else {
   return false;
}

3 个答案:

答案 0 :(得分:12)

当用户离开网站时,会话将过期,使用Cookie是您想要的:

<? if (!isset($_COOKIE['showstuff'])): ?>

    <!-- replace this whatever you want to show -->

    <?
    setcookie('showstuff', true,  time()+86400); // 1 day
    ?>

<? endif; ?>

答案 1 :(得分:4)

你可以这样做。

1

setcookie('showPopup','yes',time() + 24 * 3600); // 24 hours

2

setcookie('showPopup','yes',strtotime( '+1 days' )); // 24 hours

3

setcookie('showPopup','yes',time() + 86400); // 24 hours

检查Cookie

if(isset($_COOKIE['showPopup']))
{
     echo 'Not show pop';
}
else{           
    echo 'show popup and set cookie';
    setcookie('showPopup','yes', time() + 86400);
}

答案 2 :(得分:2)

以另一种方式做到这一点:

  • 您检查是否存在Cookie。
  • 如果它在那里,什么都不做
  • 如果它不在那里,每天做你想做的事,并创建一个24小时后过期的cookie。