1

私は初めて 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;
4

2 に答える 2

3

コードをうまく静かにできませんが、コメントしたように

if(!isset($_COOKIE['popup_timer'])) {
   //Show popup
   setcookie("popup_timer", '', time()+3600);
}

上記は、 が設定されていない場合にのみポップアップをスローします。ポップアップがスロー$_COOKIEされると、有効期限が 1 時間に設定された Cookie が設定されます。

于 2013-10-01T20:16:36.527 に答える
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
    }
}
于 2013-10-01T20:19:51.877 に答える