|
|
|
| Здрасьте!!!
Я пишу сайт типо викторины. Я уже все почти сделал осталось на главной странице поставить такую логику:
- Сперва на странице появляется таймер с обратным отсчетом времени (ну типа до начала осталось).
- Потом когда таймер по нулям - вылазит окно ввода пароля и логина (окно готово, надо только в логику вставить)
- Далее вопрос с вариантами ответа (10 вопросов, рефрешь каждые 5 мин с автоматической сменой вопроса)
- И в конце типа итог викторины.
Сама запарка состоит в том, что я изучал объектно-ориентированные языки, а теперь начал изучать РНР: скачал проги, видеоуроки. Но все таки не все там есть.
Помогите со скриптом таймера и с логикой смены информации на странице. | |
|
|
|
|
|
|
|
для: Dmitry_RM
(05.12.2008 в 08:06)
| | это вам уважаемый к JavaScript нужно обратится, ПХП с таймером вам не поможет.
Его конечно можно реализовать и на ПХП, но не стоит :)
> - Далее вопрос с вариантами ответа (10 вопросов, рефрешь каждые 5 мин с автоматической сменой вопроса)
рефрешь опять же HTML+JavaScript
PS: PHP кстати тоже объектно ориентирован :)
Собственно я бы сделал так.
Страничка со скриптом-таймером, отсчет, далее сессия авториза, скрипт-таймер спрятать, далее форма с вопросом из БД (это как раз PHP), далее пользователь ответил, перенаправляем ответ на спец скрипт PHP, скрипт отсылает обратно на форму вопроса и так далее... счетчик в куки по количеству вопросов. | |
|
|
|
|
|
|
|
для: HaJIuBauKa
(05.12.2008 в 16:10)
| | >конечно можно реализовать и на ПХП
На не перегружаемой странице и как? | |
|
|
|
|
|
|
|
|
|
для: HaJIuBauKa
(08.12.2008 в 14:12)
| | >я же говорю - не стоит :)
Да, в том-то и дело, абсолютно не к чему здесь эти функции.
Таймер отсчета, проще сделать на клиенте, а именно Javascript. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(08.12.2008 в 15:24)
| | Работает!!! Спасиб!!!
Но как я понял тут переменная содержит кол-во секунд. И какая переменная?
И как привязать событие на конец отсчета? | |
|
|
|
|
|
|
|
для: Dmitry_RM
(08.12.2008 в 16:00)
| | Вам для начала надо расписать алгоритм желаемых действий. Из всего написанного здесь и на форуме html я понял следующее:
1. Требуется создать онлайн викторину.
2. Управлять викториной должен ведущий, он же администратор.
3. Необходимо задать синхронный старт для заявившихся на участие игроков.
4. Необходима синхронная смена вопросов.
5. Кто отстал на марше - ждать не станем.
6. Обработка ответов.
7. Вывод результатов викторины. (???)
Если я что то напутал - поправьте. | |
|
|
|
|
|
|
|
для: Николай2357
(09.12.2008 в 04:10)
| | Вы меня поняли, и мне уже посоветовали точнее сформулировать желаемые действия. Новый форум:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=60716&page=1 | |
|
|
|
|
|
|
|
для: HaJIuBauKa
(05.12.2008 в 16:10)
| | Я просто в РНР и JavaScript еще очень мало знаю, но просто сайт очень нужен.
Дело в том, что мне требуется таймер один для всех, чтобы не влияло на обновление страницы и т.п. Например: я ставлю время до начала всей логики и все отсчет пошел, по окончанию таймера показывается авторизация, дальше проходят только те кто авторизовался (причем на авторизацию тоже дается определенное время - 5 минут), остальные могут только присоединится к игре. Смена вопросов происходит для всех пользователей одновременно.
Моет вы мне что-нибудь подскажите, посоветуете или может ссылку какую-нибудь. | |
|
|
|
|
|
|
|
для: Dmitry_RM
(08.12.2008 в 10:58)
| | Ну хорошо, таймер один для всех...
Это можно реализовать, это кстати уже какое-то подобие чата получается.
А зачем авторизация то только в определенное время? Авторизацию определяешь у себя на сервере, то есть можно логинится только предположим с 12:45 до 12:50 - залогинились, все ОК пошла сессия. опять же на определенное время.
Вот смена вопросов, для всех сразу, это уже сложнее, но опять же через сессии можно реализовать и автообновление странички. | |
|
|
|
|
|
|
|
для: HaJIuBauKa
(08.12.2008 в 14:21)
| | Ну я думаю что можно сделать и авторизацию не по времи, но все таки хотелось бы когда Таймер будет равен 00:00:00.
Если есть идеи буду рад.
Смена вопросов - это просто как показ слайдов, независящее никак от пользователя. Тоесть можно сказать просто смена текста на страничке (текст из БД) по таймеру. | |
|
|
|
|
|
|
|
для: Dmitry_RM
(05.12.2008 в 08:06)
| | Погуглите на тему работы с сессиями, вам очень пригодится. | |
|
|
|
|
|
|
|
для: Temnovit
(05.12.2008 в 17:28)
| | Дайте пару ссылок. | |
|
|
|
|
|
|
|
для: Dmitry_RM
(08.12.2008 в 11:00)
| | >Дайте пару ссылок.
Вам для начала нужно уяснить, что между сервером и клиентской машиной нет "телефонной" связи. Как только страница сформирована, связь прекращается и клиент отправляется на свободные хлеба. Пока браузер клинта не захочет что нибудь получить от сервера, Вы ничего не сможете ему передать. То есть командовать несколькими клиентами напрямую не получится. Единственно возможное решение - заставить клиента периодически отправлять запросы для получения новых данных. Делается это посредством javascript и называется ajax. Вот наберите это слово в гугле и получите целую кучу ссылок. | |
|
|
|
|
|
|
|
для: Николай2357
(08.12.2008 в 11:31)
| | Спасибо и за это. Но кучу ссылок я уже получил. Теперь бы разобраться в них.
Форумы для того и существуют чтобы проще и лучше найти ответ или помочь нуждающемуся. | |
|
|
|
|
|
|
|
для: Dmitry_RM
(08.12.2008 в 11:34)
| | да не нужен тут AJAX | |
|
|
|
|