Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка занятости страницу 
:(
    Опции темы
JAYBE
Дата 8.2.2012, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.3.2008

Репутация: нет
Всего: 0



Добрый день.
Необходимо реализовать такую "штуку": есть страниа, если эта страниу отркыл один сотрудник, то для друго она заблокирована. Если её закрыл первйы сотрудник, то она становистя свободна. И так далее циклически.
Как это логически реализовать через кэш?
PM   Вверх
ksnk
Дата 8.2.2012, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(JAYBE @  8.2.2012,  11:54 Найти цитируемый пост)
Как это логически реализовать

Через сервер. Javascript без поддержки сервера не пойдет.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
$дмитрий
Дата 8.2.2012, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Ставь метку на сервере
PM MAIL   Вверх
JAYBE
Дата 17.2.2012, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.3.2008

Репутация: нет
Всего: 0



Цитата($дмитрий @ 8.2.2012,  19:09)
Ставь метку на сервере

Что вы имеете ввиду?
PM   Вверх
$дмитрий
Дата 17.2.2012, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Цитата

Что вы имеете ввиду? 

При заходе на страницу прописываешь в файл/бд/куда угодно, что страница занята. При выходе затираешь метку
PM MAIL   Вверх
JAYBE
Дата 13.3.2012, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.3.2008

Репутация: нет
Всего: 0



А как я определю что юзер ушёл со страницы?
Тоесть например: закрыл окно, ушёл по другой ссылке или вообще у него сгорел компьютер и пора освободить страницу для других юзеров
PM   Вверх
ksnk
Дата 13.3.2012, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(JAYBE @  13.3.2012,  13:10 Найти цитируемый пост)
А как я определю что юзер ушёл со страницы?

По времени. Каждое действе зарегистрированного сотрудника оттягивает таймер. 10 минут простоя - считаются попыткой к бегству. Расстрел на месте без предупреждения  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
JAYBE
Дата 13.3.2012, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.3.2008

Репутация: нет
Всего: 0



Впринципе так я и сделал. Но поулчается ситуация:
2 юзера хотят редить кое-что на одной странице.
Первый отредил и закрыл... но предполагается ещё минут 5 страничка будет занята.
Второй знает что первый уже закрыл и недопопнимает почему страница занята если она закрыта...
PM   Вверх
ksnk
Дата 13.3.2012, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



У того, кто редактировал - кнопка - "страничка свободна". Ее разумно совместить с кнопкой "логаут" или "Выход". Сервер будет хранить имя текущего "редактора" и в случае, если он вышел, сразу освобождаем страницу. В случае, если у него сгорел комп на работе - выйти он не сможет и страничка освободится по времени. Неплохо бы прикрутить что-нибудь чат-подобное, чтобы сразу информировать ожидающего своей очереди редактора.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
iff
Дата 13.3.2012, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



На странице сайта располагаем такой код:
Код

<iframe style="display:none" src="timer.php">

и при этом на этой странице расположен скрипт, который читает файл mark.txt, и если записанное в нем время отличается от текущего менее чем на 5 секунд, то страница не выводится, а выводится сообщение, что страница занаята.

timer.php должен выводить такой код:
Код

<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="refresh" content="5; timer.php">
</head>
<body></body>
</html>

и записывать в mark.txt текущее время.
основная страница тоже, в принципе может записывать в mark.txt текущее время.

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="refresh" content="5; timer.php">
это можно выводить скриптом в http-заголовках

И нужно проверить, если <meta http-equiv="pragma" content="no-cache"> не помогает против кэширования, то скриптом нужно выводить вместо "timer.php" - "timer.php?cash=qwdwdqw", где qwdwdqw - случайная строка

Также нужно проверить, не будут ли пользователи взаимно блокироваться.
И нужно придумать защиту: а то кто-нибудь зайдет на сайт, и оставит его на вкладке в браузере, т.е. что-бы ограничить "сессию" 30 минутами например и выдавать сообщения об ее окончании.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0812 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.