Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Таймер с обратным отсчетом времени
 
 автор: Dmitry_RM   (05.12.2008 в 08:06)   письмо автору
 
 

Здрасьте!!!
Я пишу сайт типо викторины. Я уже все почти сделал осталось на главной странице поставить такую логику:

- Сперва на странице появляется таймер с обратным отсчетом времени (ну типа до начала осталось).
- Потом когда таймер по нулям - вылазит окно ввода пароля и логина (окно готово, надо только в логику вставить)
- Далее вопрос с вариантами ответа (10 вопросов, рефрешь каждые 5 мин с автоматической сменой вопроса)
- И в конце типа итог викторины.


Сама запарка состоит в том, что я изучал объектно-ориентированные языки, а теперь начал изучать РНР: скачал проги, видеоуроки. Но все таки не все там есть.

Помогите со скриптом таймера и с логикой смены информации на странице.

   
 
 автор: HaJIuBauKa   (05.12.2008 в 16:10)   письмо автору
 
   для: Dmitry_RM   (05.12.2008 в 08:06)
 

это вам уважаемый к JavaScript нужно обратится, ПХП с таймером вам не поможет.
Его конечно можно реализовать и на ПХП, но не стоит :)

> - Далее вопрос с вариантами ответа (10 вопросов, рефрешь каждые 5 мин с автоматической сменой вопроса)

рефрешь опять же HTML+JavaScript

PS: PHP кстати тоже объектно ориентирован :)

Собственно я бы сделал так.
Страничка со скриптом-таймером, отсчет, далее сессия авториза, скрипт-таймер спрятать, далее форма с вопросом из БД (это как раз PHP), далее пользователь ответил, перенаправляем ответ на спец скрипт PHP, скрипт отсылает обратно на форму вопроса и так далее... счетчик в куки по количеству вопросов.

   
 
 автор: AcidTrash   (05.12.2008 в 22:14)   письмо автору
 
   для: HaJIuBauKa   (05.12.2008 в 16:10)
 

>конечно можно реализовать и на ПХП
На не перегружаемой странице и как?

   
 
 автор: HaJIuBauKa   (08.12.2008 в 14:12)   письмо автору
 
   для: AcidTrash   (05.12.2008 в 22:14)
 

http://www.php.su/functions/?sleep
и
http://www.php.su/functions/?flush

я же говорю - не стоит :)

   
 
 автор: Dmitry_RM   (08.12.2008 в 14:21)   письмо автору
 
   для: HaJIuBauKa   (08.12.2008 в 14:12)
 

Интересные ссылки! Посмотрю может что-то пригодится.

А через JavaScript что-нибудь подсказать можете?
http://softtime.ru/forum/read.php?id_forum=4&id_theme=60692&page=1
http://softtime.ru/forum/read.php?id_forum=4&id_theme=60697&page=1

СПАСИБО!!!

   
 
 автор: AcidTrash   (08.12.2008 в 14:56)   письмо автору
 
   для: HaJIuBauKa   (08.12.2008 в 14:12)
 

>я же говорю - не стоит :)
Да, в том-то и дело, абсолютно не к чему здесь эти функции.
Таймер отсчета, проще сделать на клиенте, а именно Javascript.

   
 
 автор: Dmitry_RM   (08.12.2008 в 15:04)   письмо автору
 
   для: AcidTrash   (08.12.2008 в 14:56)
 

http://softtime.ru/forum/read.php?id_forum=4&id_theme=60692&page=1
http://softtime.ru/forum/read.php?id_forum=4&id_theme=60697&page=1

   
 
 автор: AcidTrash   (08.12.2008 в 15:24)   письмо автору
 
   для: Dmitry_RM   (08.12.2008 в 15:04)
 

Так подойдет?
<div id=time style=font:15></div>
<script>
onload=function(){Dphp=(new Date()).getTime()+3600*1000;
    dKlientM=(new Date()).getTimezoneOffset();
    setInterval(clock1,999);clock1();
    }
function clock1(){var D;
    document.getElementById('time').innerHTML=
    (D=new Date(Dphp-(new Date()).getTime()+dKlientM*60000)).getHours()+':'
    +(D.getMinutes()/100).toFixed(2).substr(2)+':'+(D.getSeconds()/100).toFixed(2).substr(2);
}
</script>

   
 
 автор: Dmitry_RM   (08.12.2008 в 16:00)   письмо автору
 
   для: AcidTrash   (08.12.2008 в 15:24)
 

Работает!!! Спасиб!!!

Но как я понял тут переменная содержит кол-во секунд. И какая переменная?
И как привязать событие на конец отсчета?

   
 
 автор: Николай2357   (09.12.2008 в 04:10)   письмо автору
 
   для: Dmitry_RM   (08.12.2008 в 16:00)
 

Вам для начала надо расписать алгоритм желаемых действий. Из всего написанного здесь и на форуме html я понял следующее:
1. Требуется создать онлайн викторину.
2. Управлять викториной должен ведущий, он же администратор.
3. Необходимо задать синхронный старт для заявившихся на участие игроков.
4. Необходима синхронная смена вопросов.
5. Кто отстал на марше - ждать не станем.
6. Обработка ответов.
7. Вывод результатов викторины. (???)
Если я что то напутал - поправьте.

   
 
 автор: Dmitry_RM   (09.12.2008 в 07:09)   письмо автору
 
   для: Николай2357   (09.12.2008 в 04:10)
 

Вы меня поняли, и мне уже посоветовали точнее сформулировать желаемые действия. Новый форум:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=60716&page=1

   
 
 автор: Dmitry_RM   (08.12.2008 в 10:58)   письмо автору
 
   для: HaJIuBauKa   (05.12.2008 в 16:10)
 

Я просто в РНР и JavaScript еще очень мало знаю, но просто сайт очень нужен.

Дело в том, что мне требуется таймер один для всех, чтобы не влияло на обновление страницы и т.п. Например: я ставлю время до начала всей логики и все отсчет пошел, по окончанию таймера показывается авторизация, дальше проходят только те кто авторизовался (причем на авторизацию тоже дается определенное время - 5 минут), остальные могут только присоединится к игре. Смена вопросов происходит для всех пользователей одновременно.

Моет вы мне что-нибудь подскажите, посоветуете или может ссылку какую-нибудь.

   
 
 автор: HaJIuBauKa   (08.12.2008 в 14:21)   письмо автору
 
   для: Dmitry_RM   (08.12.2008 в 10:58)
 

Ну хорошо, таймер один для всех...
Это можно реализовать, это кстати уже какое-то подобие чата получается.
А зачем авторизация то только в определенное время? Авторизацию определяешь у себя на сервере, то есть можно логинится только предположим с 12:45 до 12:50 - залогинились, все ОК пошла сессия. опять же на определенное время.
Вот смена вопросов, для всех сразу, это уже сложнее, но опять же через сессии можно реализовать и автообновление странички.

   
 
 автор: Dmitry_RM   (08.12.2008 в 14:26)   письмо автору
 
   для: HaJIuBauKa   (08.12.2008 в 14:21)
 

Ну я думаю что можно сделать и авторизацию не по времи, но все таки хотелось бы когда Таймер будет равен 00:00:00.
Если есть идеи буду рад.

Смена вопросов - это просто как показ слайдов, независящее никак от пользователя. Тоесть можно сказать просто смена текста на страничке (текст из БД) по таймеру.

   
 
 автор: Temnovit   (05.12.2008 в 17:28)   письмо автору
 
   для: Dmitry_RM   (05.12.2008 в 08:06)
 

Погуглите на тему работы с сессиями, вам очень пригодится.

   
 
 автор: Dmitry_RM   (08.12.2008 в 11:00)   письмо автору
 
   для: Temnovit   (05.12.2008 в 17:28)
 

Дайте пару ссылок.

   
 
 автор: Николай2357   (08.12.2008 в 11:31)   письмо автору
 
   для: Dmitry_RM   (08.12.2008 в 11:00)
 

>Дайте пару ссылок.

Вам для начала нужно уяснить, что между сервером и клиентской машиной нет "телефонной" связи. Как только страница сформирована, связь прекращается и клиент отправляется на свободные хлеба. Пока браузер клинта не захочет что нибудь получить от сервера, Вы ничего не сможете ему передать. То есть командовать несколькими клиентами напрямую не получится. Единственно возможное решение - заставить клиента периодически отправлять запросы для получения новых данных. Делается это посредством javascript и называется ajax. Вот наберите это слово в гугле и получите целую кучу ссылок.

   
 
 автор: Dmitry_RM   (08.12.2008 в 11:34)   письмо автору
 
   для: Николай2357   (08.12.2008 в 11:31)
 

Спасибо и за это. Но кучу ссылок я уже получил. Теперь бы разобраться в них.
Форумы для того и существуют чтобы проще и лучше найти ответ или помочь нуждающемуся.

   
 
 автор: HaJIuBauKa   (08.12.2008 в 14:14)   письмо автору
 
   для: Dmitry_RM   (08.12.2008 в 11:34)
 

да не нужен тут AJAX

   
 
 автор: Dmitry_RM   (09.12.2008 в 07:16)   письмо автору
 
   для: Dmitry_RM   (05.12.2008 в 08:06)
 

ТЕМА ЗАКРЫТА!!!

Загляни на эту:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=60716&page=1

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования