Jump to content
  • 0

Поставить плюшку при уходе со страницы.


Emm
 Share

Question

Необходимо поставить плюшку с текущим mktime(), в том случае, если юзер ушел с определенной страницы по ссылке или жамкнул крестик в браузере(закрыл вкладку...),

Пробовал onunload, но он и на F5 срабатывает ;)... да и при закрытии страницы крестиком, врядли js поможет .

Слышал что это можно реализовать с помощью php-сессий, т.е. ставить сессию когда юзер на странице и убивать при его уходе, потом проверять, если сессии нет то...%) что же тогда делать.. как быть .. придется записывать время не в плюшку а в файл(база не используется)...

если кто-то с подобным сталкивался, поделитесь опытом.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0

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

-пользователь обновляет страницу.

- в базу заносится mktime

-проводится просмотр всей этой таблицы по всем пользователям.

-если после последного захода прошло допустим > 5 минут - заносим пользователю в профиль эту циферку last visit и удаляем из другой.

в общем смысл такой;)

Link to comment
Share on other sites

  • 0
то что вы хотите невозможно с той стороны что вы подходите. Как понимаю вас интересует запись о последнем заходе пользователя на сайт. обычно реализация такова.

-пользователь обновляет страницу.

- в базу заносится mktime

-проводится просмотр всей этой таблицы по всем пользователям.

-если после последного захода прошло допустим > 5 минут - заносим пользователю в профиль эту циферку last visit и удаляем из другой.

в общем смысл такой;)

Да, но на каждую такую проверку нужно запустить скрипт. Хотя можно отслеживая дейсвия (переходы) пользователя, определить, когда он перестал действовать и если при этом сессия мертва можно считать это время - временем его ухода.

Link to comment
Share on other sites

  • 0
слава, сколько раз говорить - невозможно выполнить ни одного php скрипта после закрытия браузера и тем более коннекта

Да, но нам и не нужно делать этого после закрытия браузера!

Скрипт исполняется только когда кто то заходит на эту страницу, следовательно пока пользователь бродит по сайту, каждое его действие вписывает текущее время в ячейку LAST базы данных.

Также возможно (сам не пробывал) отслеживать открыта или закрыта сессия.

И мы получаем проверку "online" статуса пользователя на сайте и время его последнего действия.

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

У меня когда то была идея, сделать игру, в которой будут накапливаться ресурсы, по n за минуту.

Я тоже думал, как же это осуществить, нужно же каждый раз перезапускать браузер. Но потом я понял, что нужно просто запомнить время последнего захода на страницу.

Когда ты заходишь, берется разница между временем последнего визита и текущим, выделяются целые минуты и вычисляется сколько ресурсов добыто за эти минуты. Дата обновляется и все прекрасно работает. Хотя это я уже так, к слову.;)

Link to comment
Share on other sites

  • 0

а ява ф-ция onunload - запускается если закрывать страничку через крестик или вообще браузер? Если запускается - то сделайте в этой ф-ции вызов простенького php скрипта, который в базе или файле будет для данного ИП-адреса обновлять время. Ну и что что он срабатывает на Ф5! Он все равно же сработает на закрытие страницы в момент ухода.

Link to comment
Share on other sites

  • 0

в последний момент отпала потребность в реализации задачи, поэтому я даже забыл про топик)), но все же решение необходимо найти, для общего развития хотябы), как ни фантазировал а оптимального пути не нашел, везде свои траблы, дело в том, что сохраненное время при выходе юзера со страницы должно использоваться скриптом при возвращении для различия изменений во время его отсутствия, ?-ма?, это по сути тоже самое что и подсветка новых сообщений на форуме, хм, нужно будет порыться в исходниках)), но, поскольку я часто замечаю глюки с этой подсветкой, врядли этот вариант оптимальный, хотя и так вариант) лучше чем ничего.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy