Intereting Posts
Публикация формы с необязательными и обязательными полями Получать случайные фразы из массива в PHP? WordPress получает подпись прикрепленного изображения php simple xml, как читать несколько узлов с разными уровнями дочерних узлов Необходимо объединить несколько PDF-файлов в один PDF-файл с разделами «Содержание» Как скрыть форму при отправке на ту же страницу? Сортировка массива по последним символам пары значений? Регулярное выражение PHP для соответствия буквенно-числовым строкам с некоторыми (но не все) пунктуациями почему я получаю фатальную ошибку PHP, когда я хочу установить расширение Импорт данных в Google Cloud SQL через CSV Использование EntityRepository :: findBy () с отношениями «многие-ко-многим» приведет к E_NOTICE в Доктрине PHP – Как заменить фразу на другую? проблема с где в codeIgniter Самый простой способ конвертировать страницу PHP в статическую HTML-страницу Как получить текущее время в миллисекундах в PHP?

PHP выполняется дважды при загрузке страницы при перенаправлении с не-www на www

Я создал php-скрипт для управления временем всплывающего окна. Я хочу, чтобы всплывающее окно отображалось только раз в 60 секунд. Сценарий устанавливает cookie при первом посещении пользователем страницы, а затем для последующих посещений скрипт проверяет файл cookie и активирует всплывающее окно только в том случае, если файл cookie истек. Всплывающее окно управляется переменной $ _SESSION ['activate_popup'].

Скрипты работают по назначению во всех случаях, кроме случаев, когда пользователь впервые посещает страницу. Файл cookie пуст, поэтому он должен установить cookie и активировать всплывающее окно в состоянии 1. Вместо этого он устанавливает cookie в состоянии 1 и отображает результат в состоянии 2.

$GLOBALS['popup_output'] .= '<!-- begin popup -->'; $domain = 'brocktonvilla.com'; $expiration = time() + 60; $time_until_expires = $_COOKIE['rc_popuup2'] - time(); $GLOBALS['popup_output'] .= '<!-- time until expires: ' . $time_until_expires . ' sec -->'; /* 1 */ if ( empty($_COOKIE['rc_popuup2']) ) { // if cookie has not been set setcookie('rc_popuup2', $expiration, $expiration, '/', $domain ); // set cookie with value of cookie equals expiration time $_SESSION['activate_popup'] = 'yes'; // activate the popup $GLOBALS['popup_output'] .= '<!-- cookie empty => show popup & set cookie -->'; } /* 2 */ elseif ( $_COOKIE['rc_popuup2'] > time() ) { // cookie has been set and cookie expiration is greater than current time $_SESSION['activate_popup'] = 'no'; // do not activate popup $GLOBALS['popup_output'] .= '<!-- cookie set and not expired => do not show popup -->'; } /* 3 */ elseif ( $_COOKIE['rc_popuup2'] < time() ) { // cookie has been set and cookie expiration is less than current time $_SESSION['activate_popup'] = 'yes'; // activate the popup setcookie('rc_popuup2', $expiration, $expiration, '/', $domain ); // reset cookie with value of cookie equals expiration time $GLOBALS['popup_output'] .= '<!-- cookie set but has expired => show popup & reset cookie -->'; } 

Вы можете увидеть скрипт в действии здесь http://www.brocktonvilla.com/ . Найдите исходный код «begin popup», и вы увидите, что cookie был установлен в состоянии 1 и отображает результат в состоянии 2 при первом посещении страницы.

Related of "PHP выполняется дважды при загрузке страницы при перенаправлении с не-www на www"