PHP Cookie无效

时间:2011-07-01 17:40:53

标签: php cookies

我有以下代码:

    if ($_COOKIE['lightbox'] != "1") {
        setcookie("lightbox", "1", time()+3600);
        echo("
        <script type='text/javascript'>
        if (window.addEventListener) { // Mozilla, Netscape, Firefox
            window.addEventListener('load', WindowLoad2, false);
        } else if (window.attachEvent) { // IE
            window.attachEvent('onload', WindowLoad2);
        }

        function WindowLoad2(event) {
            displayLightbox();
        }
        </script>
       ");

    }

我基本上试图通过使用cookie为每个用户运行displayLightbox()一次。出于某种原因,我将在网站上的每个页面上获取它,除了我在CTRL + F5页面时。使用ctrl + f5后,我不再获得灯箱。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这似乎是第一次没有设置你的cookie,事件被添加到你的窗口(除非你做一个CTRL + F5),因此在每次加载页面时,都会调用displayLightbox()。尝试取消IF中ELSE部分的事件。

或者,尝试将您的JS代码更改为:

if ($_COOKIE['lightbox'] != "1") {
    setcookie("lightbox", "1", time()+3600);
    echo("
        <script type='text/javascript'>
        displayLightbox();
        </script>
    ");
}

希望这有帮助。