закрытие сессии при закрытии браузера

Тема в разделе "PHP", создана пользователем B1rdEX, 10 июл 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    Необходимо выполнить запрос в бд и закрыть сессию при закрытии окна. Возможно ли?

    Уже попробывал даже на яваскрипте, но получается фигня -- попап не сделаешь (блочится браузерами), аякс тоже не проканает (окно закрылось -- стоп скриптам).. Вопрос, как же?..

    Уже подумываю создавать сессии на 5 минут, а при активности -- продлевать, но это уже не то..

    Прошу помощи.


    Так как не хватает постов, пишу в разделе для новичков (коим не являюсь) :D
     
  2. bliss

    bliss Постоялец

    Регистр.:
    29 июн 2008
    Сообщения:
    72
    Симпатии:
    8
    зашёл недавно на сайт, так по закрытии он выполнил свой javascript (с просьбой остаться). firefox это дело не пресёк. так что если поискать, думаю, такой скрипт можно будет найти.

    но для запроса к сайту нужно время. а затягивать закрытие окна — не дело. так что задача, по-моему, невыполнимая.
     
  3. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    202
    Симпатии:
    66
    Правильно ли я понял вопрос: нужно послать запрос к БД, который выполняется продолжительное время, и завершить его (запрос, скрипт) не при закрытии окна браузера, когда хочет пользователь, а когда захочет скрипт. Или нужно просто закрыть сессию браузера при закрытии окна?
    Уточните, пожалуйста.
     
  4. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    2bliss. хз, но это работает только в ИЕ (я про эвент beforeunload), в фф окно закрывается.

    2gregzem. второе, выполнить запрос в бд при закрытии окна браузера.

    Продолжаю ждать мыслей, хотя уже реализовал по-другому. Но, всё-же, может можно через яваскрипт? )
     
  5. x_omfg_x

    x_omfg_x Писатель

    Регистр.:
    27 июн 2008
    Сообщения:
    4
    Симпатии:
    0
    И как же реализовал?
     
  6. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    Отслеживаю активность и каждые 5 минут кроном сношу неактивные сессии..
     
  7. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    может так?:
    при инициализации сессии, отправь куки, которые удалятся при закрытии браузера
    PHP:
    setcookie("started""dada")
    и отправь запрос
    PHP:
    if (!$_COOKIE['started'])
        
    session_destroy();
    может прохляет
     
  8. Xenos

    Xenos Создатель

    Регистр.:
    14 янв 2008
    Сообщения:
    14
    Симпатии:
    0
    Дык если окно браузера закрыто, и страница не генерится, то когда код
    PHP:
    if (!$_COOKIE['started'])
        
    session_destroy();
    выполняться то будет? ;)

    имхо - крон или просто удаление скриптом where TS < NOW = лучшее решение.
     
  9. masto

    masto Прохожие

    Для чего такие танцы с бубном, если сессия и так сама убивается при закрытии браузера?
     
  10. Simpson

    Simpson

    Регистр.:
    22 июл 2007
    Сообщения:
    373
    Симпатии:
    36
    А запрос к бд сам выполнится?
     
Статус темы:
Закрыта.