PHP Cookie не работает - PullRequest
0 голосов
/ 01 июля 2011

У меня есть следующий код:

    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>
       ");

    }

Что я в основном пытаюсь сделать, чтобы displayLightbox () запускался только один раз для каждого пользователя с помощью файла cookie.По какой-то причине я получаю его для каждой страницы, которую я собираюсь посетить на сайте, за исключением случаев, когда я нажимаю CTRL + F5 на странице.После использования Ctrl + F5 я больше не получаю лайтбокс.Есть идеи?

1 Ответ

1 голос
/ 01 июля 2011

Кажется, в первый раз, когда ваш cookie не установлен, событие добавляется в ваше окно (если вы не делаете CTRL + F5) и, следовательно, при каждой загрузке страницы, оно вызывает displayLightbox(). Попробуйте отменить событие в другой части вашего ЕСЛИ

Либо попробуйте изменить код JS на этот:

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...