Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
1

Что делать если таймер сбрасывается при обновлении страницы

26.12.2017, 22:27. Просмотров 348. Ответов 16

Доброго времени суток! У меня такая проблема. На сайте есть таймер, но проблема в том, что при обновлении страницы или переходе на другую таймер начинает отчёт самого начала. Как быть? Занести эти данные в сессию, но тогда при закрытии браузера сессия обнулится. Может как-то через куки сохранять данные таймера. Помогите пожалуйста. Вот тот сайт если вам интересно посмотреть как оно там работает --> bonus-free.ru Спасибо за внимание.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2017, 22:27
Ответы с готовыми решениями:

Можно ли делать include php ,при котором если в загружаемом файле есть ошибки,то чтобы необваливался весь скрипт в который загружается другой скрипт?
Можно ли делать include php ,при котором если в загружаемом файле есть...

При обновлении страницы кнопка сама зажимается,что делать?
http://distance-education.meximas.com/chat.php вот ссылка, зарегистрируйтесь...

Сбрасывается сессия при переходе на страницы
Добрый день! Подскажите пожалуйста в чем может быть проблема. Сделал...

Мне нужно: 1)что бы при обновлении страницы не возникало новой сесси; 2)удалять сессию с серевера после того, как клиет закрыл свое окно
У меня возникли проблемы с сессиями(не в универе :)) Мне нужно: 1)что бы при...

Переадресация при обновлении страницы
Добрый день. Есть две страницы. На одной происходит указание имени и e-mail....

16
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 06:35 2
Ну можно ещё в базу на сервере сохранить
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
27.12.2017, 12:25  [ТС] 3
Всмысли на сервер?
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 12:30 4
Ну а почему бы нет? Куки на стороне клиента всё-таки остаются, да и небезопасны иногда.
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
27.12.2017, 12:38  [ТС] 5
То есть мне нужно данные таймера хранить в куках?
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 12:45 6
Да нет же, Вы сами хотели бы так, в первом посте. Совершенно верно, что если сохранить значение таймера в переменную в
сессии, то при обновлении страницы или переходе на другую страницу (на этих страницах сессия должна стартовать), значение переменной сохранится. Однако при закрытии браузера, сессия аннигилирует. Сохранить можно и в куках, они, куки хранятся на стороне клиента, при заходе пользователя на сайт, скрипт может использовать эти куки и поднять последнее значение таймера, стартовав с него. Вам решать, что лучше использовать.
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
27.12.2017, 12:47  [ТС] 7
Ладно спасибо тогда буду через сессию
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 12:49 8
удачи
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
27.12.2017, 14:48  [ТС] 9
У меня не получается я вывожу сессию, а при обновлении теже значения становятся и всё

Добавлено через 2 минуты
Может как-то в js можно решить эту задачу
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function timer(){
*
****var hour = document.getElementById('hour').innerHTML;
****var minute = document.getElementById('minute').innerHTML;
****var second = document.getElementById('second').innerHTML;
****var end = false;
*****
****if( second > 0 ) second--;
****else{
********second = 60;
*********
********if( minute > 0 ) minute--;
********else{
************second = 60;
*************
************if( hour > 0 ) hour--;
************else end = true;
********}
****}
*
****if(end){
********clearInterval(intervalID);
        $('#pol').slideDown('#pol').css('display', 'block');
        $('.reklama').slideDown('.reklama').css('display', 'block');
        $('#timer').css('display', 'none');
****}else{
********document.getElementById('hour').innerHTML = hour;
********document.getElementById('minute').innerHTML = minute;
********document.getElementById('second').innerHTML = second;
****}
}
window.intervalID = setInterval(timer, 1000);
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 16:22 10
javascript работает на клиенте, поэтому всё пропадёт, как только будет переход, обновление страницы или закрытие браузера.
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
27.12.2017, 18:16  [ТС] 11
atanov, это я знаю, но как мне сделать чтобы он сохранялся на сервере
0
atanov
191 / 190 / 72
Регистрация: 26.05.2016
Сообщений: 1,222
27.12.2017, 18:33 12
Ну например записать в mysql с помощью коротенького скрипта php. К чему привязано значение таймера?
0
Grey
Тутошний я
1612 / 799 / 134
Регистрация: 03.11.2009
Сообщений: 2,334
Записей в блоге: 1
28.12.2017, 16:11 13
я при включении таймера, записывал в базу значение текущее время плюс время таймера. в секундах.
при перезагрузке страницы, считываю значение из базы, отнимаю от него текущее и передаю в javascript.
javascript из секунд делает секунды, минуты, часы и выводит.
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
28.12.2017, 17:28  [ТС] 14
Grey, а можно по подробнее
0
Grey
Тутошний я
1612 / 799 / 134
Регистрация: 03.11.2009
Сообщений: 2,334
Записей в блоге: 1
28.12.2017, 18:13 15
Секундомер (обратный отсчет времени)
0
Crezy PHP
1 / 1 / 3
Регистрация: 26.12.2017
Сообщений: 33
28.12.2017, 18:54  [ТС] 16
Grey,
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function time_on(t){
var intervalID;
var str;
intervalID = setInterval (function(){
* if (t <= 0){
* * str = '0:10:00';
* * clearInterval(intervalID);
* }else{
* * t--;
* * var hours = Math.floor(t/3600);
* * var minutes = Math.floor(t%3600/60);
* * var seconds = Math.floor(t%60);
* * if (minutes < 10) minutes = '0'+ minutes;
* * if (seconds < 10) seconds = '0'+ seconds;
* * str = hours+':'+minutes+':'+seconds;
* }
* $(".timer").text(str);
}, 1000);
}
Сможешь объяснить как тут работает

Добавлено через 2 минуты
Grey,
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function time_on(t){
var intervalID;
var str;
intervalID = setInterval (function(){
* if (t <= 0){
* * str = '0:10:00';
* * clearInterval(intervalID);
* }else{
* * t--;
* * var hours = Math.floor(t/3600);
* * var minutes = Math.floor(t%3600/60);
* * var seconds = Math.floor(t%60);
* * if (minutes < 10) minutes = '0'+ minutes;
* * if (seconds < 10) seconds = '0'+ seconds;
* * str = hours+':'+minutes+':'+seconds;
* }
* $(".timer").text(str);
}, 1000);
}
сможешь объяснить что да как
0
Grey
Тутошний я
1612 / 799 / 134
Регистрация: 03.11.2009
Сообщений: 2,334
Записей в блоге: 1
28.12.2017, 20:01 17
в моём случае с сервера значение времени может и меньше нуля прийти.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function time_on(t){
var intervalID;//инициируем переменные
var str;
intervalID = setInterval (function(){//включаем таймер
* if (t <= 0){//если меньше нуля
* * str = '0:00:00';//записываем значение, для вывода
* * clearInterval(intervalID);//останавливаем таймер
* }else{
* * t--;//декремент
* * var hours = Math.floor(t/3600);//часы, делим и округляем до целого меньшего
* * var minutes = Math.floor(t%3600/60);//минуты, остаток от деления делим на 60, округляем
* * var seconds = Math.floor(t%60);//секунды, остаток от деления, округляем
* * if (minutes < 10) minutes = '0'+ minutes;//если меньше десяти приписываем спереди ноль
* * if (seconds < 10) seconds = '0'+ seconds;
* * str = hours+':'+minutes+':'+seconds;//собираем в строку, для вывода
* }
* $(".timer").text(str);//выводим на страницу
}, 1000);//тикает каждую секунду
}
включение на 10 минут
Javascript
1
time_on(600);
0
28.12.2017, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2017, 20:01

как сделать чтобы при при обновлении страницы (header('location .');) попадать на ту же позицию
Например у меня есть длинный список записей, под каждой записью кнопка удалить,...

При обновлении страницы дублируются комметарии
Уже обсуждалась эта проблема в одной с моих тем,мне посоветовали создать два...

Отправка письма при обновлении страницы
Доброго времени суток. Нашел такую форму отправки номера телефона на почту,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru