Я создаю сайт PPC. Когда счетчик таймера установлен на 0, код должен автоматически запускать запрос. Если пользователь закроет окно и снова нажмет кнопку, запрос не должен запускаться, пока снова не пройдет 30 секунд.
URL-адрес устанавливается в базе данных для посещения пользователями с колонкой посещений. Если для хитов установлено значение 0 или 1 по умолчанию (0), оно будет отображаться. когда страница запускается, она извлекает запись. Установите два сеанса текущего URL-адреса и предыдущего URL-адреса и обновите совпадения до 1. Оба сеанса изначально установлены одинаковыми. через тридцать секунд, когда страница загружается снова, создается первый текущий URL-сеанс, и он совпадает с обоим сеансом. Если оба сеанса отличаются, он обновит хиты до 2, сопоставив предыдущий сеанс URL-адреса и идентификатор входа.
Создание сеансов текущего URL и предыдущего URL
$_SESSION['url']=$row['url'];
$_SESSION['previousURL']=$row['url'];
Javascript используется для таймера
<script language="JavaScript" type="text/javascript">
function checklength(i) {
'use strict';
if (i < 10) {
i = "0" + i;
}
return i;
}
var minutes, seconds, count, counter, timer;
count = 30; //seconds
counter = setInterval(timer, 1000);
function timer() {
'use strict';
count = count - 1;
minutes = checklength(Math.floor(count / 60));
seconds = checklength(count - minutes * 60);
if (count < 0) {
clearInterval(counter);
return;
}
document.getElementById("countdown").innerHTML = 'Next refresh in ' + minutes + ':' + seconds + ' ';
if (count === 0) {
location.reload();
}
}
</script>
Фактический вывод, который я получаю в этом случае, если таймер не завершится и пользователь закроет окно, затем, нажав еще раз, получит предыдущий URL и установит совпадения на 2.
Ожидается, что запрос на обновление должен запускаться только после завершения таймера.