Статический таймер обратного отсчета, основанный на времени сервера [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Статический таймер обратного отсчета, основанный на времени сервера [закрыто]

Сообщение Anonymous »

Клиенту нужна страница запуска, на которой будет отображаться статический обратный отсчет, и когда обратный отсчет закончится, пользователь будет перенаправлен на другую страницу.
Запуск похож на событие для всех пользователей. , поэтому я хочу затруднить пользователю доступ к перенаправленной странице до того, как обратный отсчет достигнет нуля - поэтому я думаю, что лучше всего основывать его на времени сервера, а не на времени пользователей/клиентов, чтобы пользователь не мог возиться с время.
Обратный отсчет также должен достичь нуля примерно в одно и то же время в (двух) разных часовых поясах.
Я нашел несколько разных скрипты и подходы к этому в Интернете, но я не могу заставить это работать.
Мой код jQuery сейчас выглядит следующим образом

Код: Выделить всё

var end = new Date(Date.UTC(2020,12-1,10,12,00,00)) ;
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function serverTime() {
var time = null;
$.ajax({url: 'www.myserveradress.com/server_time.php',
async: false, dataType: 'text',
success: function(text) {
time = new Date(text);
}, error: function(http, message, exc) {
time = new Date();
}});
return time;
}

function showRemaining() {
var now = serverTime();
var distance = end - now;
if (distance < 0) {

clearInterval(timer);
window.location.href = '/surprise.html';

return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);

document.getElementById('countdown').innerHTML = days + 'dagar ';
document.getElementById('countdown').innerHTML += hours + 'timmar ';
document.getElementById('countdown').innerHTML += minutes + 'minuter ';
document.getElementById('countdown').innerHTML += seconds + 'sekunder';
}

timer = setInterval(showRemaining, 1000);
И PHP-скрипт такой: Все работает нормально (перенаправление, обратный отсчет и часовые пояса) но что не работает, так это время сервера.
Это творение Франкенштейна, состоящее из разных кодов, поэтому я почти уверен, что где-то напутал. Я предполагаю, что я напутал с функцией serverTime или в showRemaining< /em> (в частности, как переменная now должна отображать результат функции serverTime).

Подробнее здесь: https://stackoverflow.com/questions/651 ... erver-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»