За последние 24 часа нас посетили 92445 программистов и 6208 роботов. Сейчас ищут 1315 программистов ...

Laravel сохранить время выхода из сайта пользователя

Тема в разделе "Прочие вопросы по PHP", создана пользователем T_Logon, 14 сен 2023.

  1. T_Logon

    T_Logon Гость

    С нами с:
    14 сен 2023
    Сообщения:
    1
    Симпатии:
    0
    Добрый день. Уже несколько дней бьюсь над задачей, необходимо сохранять время входа и выхода пользователя (зарегистрированного) на сайта. Время входа реализовать получилось при открытии страницы axios запросом отправляю в базу на сохранение. А вот при закрытии браузера сохранить время выхода не могу.
    Пробовал через событие window.onbeforeunload посылать axios запрос в базу для сохранении, но это работает только при закрытии вкладки. Если же закрывать полностью браузер это событие не срабатывает.
    Есть идеи? Помощь? ссылки?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.223
    Адрес:
    там-сям
    @T_Logon, не пиши в раздел для Профи.

    Строго говоря, время выхода ты достоверно знать не можешь просто потому что HTTP это протокол без поддержания соединения — "выстрелил и забыл". В большинстве случаев будет достаточно считать что пользователь отвалил если от него нет новых запросов какое-то время. То есть достаточно сохранять время последнего запроса.
    --- Добавлено ---
    Долбежка запросами из JS каждые N секунд в бекенд на PHP это плохой тон. Сам себя заДДоСишь.
    --- Добавлено ---
    Если прям надо держать руку на пульсе, то нужен WebSocket и какой-то ping-pong. Но ты в заголовке указал Laravel, а значит немного другую область. Опиши задачу в целом.