[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сохранить уход пользователя с сайта
Страницы: 1, 2
anriee
Доброго времени!
Ситуация такая. Есть страница, вход на которую разрешен только зарегистрированным пользователям. На ней раз в день происходит конференция длительностью час-полтора. Каким образом можно отследить (сохранить), какой пользователь и когда покинул данную страницу (закрыл окно/разлогинился) - желательно с точностью до 10 минут.
Все, само собой, на php.
twin
Перекличку делать каждые 10 минут. На первый-второй расчитайсь!

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
anriee
Возможно, я не адепт местного юмора, но вряд ли это самое красивое решение моей проблемы.
twin
Не скажу насчет красоты... Но юмора тут почти нет.
Дело в том, что это единственно верное решение проблемы.
Даже если сделать на страничке скрипт, который каждые десять минут отправляет аяксом маячек, кто помешает открыть страничку во вкладке и уйти на другой вкладке на порнуху? Или вообще уйти, пусть компьютер сам отчитывается.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
anriee
Уже теплее. Но, возможно я не совсем точно сформулировал вопрос. Для меня не настолько актуально, является ли данная вкладка активной. Суть в том, сколько времени юзер вообще держал окно открытым. Если это можно сделать на аяксе, можно ли примерный код - в этом я не копенгаген.
twin
Аякс тут
Ставишь в таймер его, пусть шлет раз в минуту маячек. На сервере лови и по кукам смотри, кто отчитывается, тот тут. Кто не шлет маячки - смылся.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
aH6y
twin
Проще через jquery. Меньше кода.
anriee
Если хошь могу написать.

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
anriee
aH6y: буду очень благодарен. предыдущий вариант действительно громоздкий.
twin
Да вы сбесились))) В jquery меньше кода? biggrin.gif
Я дал ссылку на основы, если уж пользоваться классом, то этим.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
aH6y
anriee
Ну с использованием jquery придёться подключать дополнительную библиотеку jquery.
Вот информация:
Ссылка Сравнение jquery с другими библиотеками
twin
Нет, всё вроде нормально) Просто я ему рассказал как проще будет.

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
anriee
aH6y: я знаю, что такое jquery и что ее надо подключать)) а вот писать под нее я не умею. поэтому с нетерпением жду обещанного кода. спасибо.
twin
Помешались все на этой jquery
Держи.
<script type="text/javascript">

function
Report()
{
var a = new Date();
document.getElementById('rep').src = '/report.php?time='+a.getTime();
}
setInterval('Report()', 10000);
</script>

<img
id="rep" border="0" width="1px" height="1px" />


Файл report.php додумаешься поди как сделать?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
anriee
что-то я туплю. что делает скрипт - понятно. как его подключать - не втыкаю. извините.
aH6y
twin
Не помешались) Всё нормально.
anriee
Всё вставляешь внутрь тега body

В php файле: если есть переменная get['time'] то записываешь её в таблицу. Таким образом ты будешь знать, когда страница всё еще открыта.

_____________
Процесс написания своего велосипеда повышает профессиональный уровень программиста.
anriee
теперь понятнее. спасибо. вечером буду пробовать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.