![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 22.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Cześć wszystkim,
jest to mój pierwszy post na tym forum dlatego prosze o wyrozumiałość. Chce do swojego projektu wdrożyć funkcjonalność która będzie reagowała w momencie gdy użytkownik zamknie zakładke lub okno przeglądarki. Funkcjonalność ma zapisać takie zdarzenie do bazy danych jako wylogowanie za pomocą AJAXa. Posiadam skrypt który wykonuje tę operacje z tym że ma jeden minus. Gdy użytkownik ma otwarty system w dwóch zakładkach i zamknie jedna z nich to system traktuje to jako wylogowanie. Prawidłowo powinien zadziałać w momencie gdy nie ma już więcej otwartych zakładek z tym systemem. Poniżej zamieszczam to co udało m isie zrobić:
JS nie jest moją mocna stroną dlatego kod wygląda jak wygląda. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przegladarka(system) dobrze traktuje to tylko Ty zle to masz zaimplementowane. Przed zamykaniem zakladki oprocz zapisu tego do bazy powiniennes sprawdzic czy uzytkownik jest zalogowany/wylogowany i wtedy jesli np jest wylogowany to nie robisz inserta do bazy ale zamykasz okno bez zadnej akcji natomiast jezeli jest zalogowany to robisz insert do bazy i zamykasz okno czyli reasumujac:
1. klikasz zamkniecie zakladki 2. sprawdzasz czy w bazie danych uzytkownik jest zalogowany 3. jezeli jest zalogowany robisz insert ajaxem do bazy danych o evencie i zamykasz zakladke 4. jezeli jest juz wylogowany(bo juz np z tych dwoch zakladaek jedna zamknal) to zamykasz sama zakladke Jezeli cos zle zrozumialem co miales na mysli to mnie popraw. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 22.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Twoje rozwiązania sprawdziło by się gdybym miał problem z zdublowanymi logami wylogowania użytkownika.
1.User zalogował się do systemu (mojastrona.pl). 2.User otworzył dwa elementy systemu w dwóch zakładkach (strona główna - mojastrona.pl/index, poczta - mojastrona.pl/mail). 3.User zamyka jedną zakładke. - system sprawdza czy User ma otwartą jeszcze jedna zakładke dot. tego systemu: jeśli TAK: zamyka zakładke bez AJAXa, jesli NIE: zamyka zakładke z AJAXem = insert z info o wylogowaniu. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 4 Dołączył: 16.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
[quote name='reseet' date='22.06.2015, 13:20:37 ' post='1162570']
Gdy użytkownik ma otwarty system w dwóch zakładkach i zamknie jedna z nich to system traktuje to jako wylogowanie. Prawidłowo powinien zadziałać w momencie gdy nie ma już więcej otwartych zakładek z tym systemem. [html] może zapisać w cookie ilość otwartych sesji ? jeżeli ilość > 1 to nie wylogowuje tylko zmniejsza cookie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 22.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
@pasman to jak w takim razie wyłapać moment w którym użytkownik otwiera w nowym oknie?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 09:11 |