• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usunięcie użytkownika z bazy, gdy zamknie okno/wyłączy przeglądarkę

VPS Starter Arubacloud
0 głosów
324 wizyt
pytanie zadane 1 maja 2017 w JavaScript przez Hubert13888 Użytkownik (750 p.)

Hejka! laugh

Chciałem zrobić sobie swój własny czat, aby poćwiczyć swoje skille w językach. Idzie mi nieźle lecz natrafiłem na mały problem. Stronka zbudowana jest tak, że na wejściu w index.php użytkownik ma podać swój nick. Nick ten jest wpisywany ajaxem i skr. php do bazy, i użytkownik może korzystać z czatu. Problem polega na tym, że chciałbym aby po wyjściu z okna / zamknięciu przeglądarki strona automatycznie połączyła się z plikiem php usuwającym usera z bazy.
Szukałem więc długo w internecie i natrafiłem w końcu na zdarzenie onunload i pewien kodzik:
onunload="$('#div').load('skrypt.php'); 
Zdarzenie to miałem rzekomo wkleić do tagu body i powinno śmigać (oczywiście zmieniłem skrypt.php na swój (delete_user.php) wink). Lecz to nie działa... testowałem w chromie i firefoxie i nic - nie usuwa z bazy po zamknięciu okna... Dodam, że usuwający skrypt php jest sprawdzony i działa.

Proszę was o pomoc w rozwiązaniu problemu/podaniu jakiegoś alternatywnego wyjścia laugh

P.S Jak potrzebujecie jakichś dod. informacji to piszcie

komentarz 1 maja 2017 przez Chess Szeryf (76,710 p.)
edycja 1 maja 2017 przez Chess

Powienieneś użyć window.onbeforeunload tak mi się wydaję.

if(window.onbeforeunload==true){window.location.href = "http://localhost/moj_skrypt.php";}

 

window.onbeforeunload = function(evt) {
        var message = 'Are you sure you want to leave?';
        if (typeof evt == 'undefined') {
            evt = window.event;
        }       
        if (evt) {
            evt.returnValue = message;
        }
        return message;
		
		// gdzieś tutaj trzeba chyba dać 
		// window.location.href = "http://localhost/moj_plik.php";
 } 

 

Teraz wyjaśniam na czym miałoby to polegać. Kod jest raczej błędny, ale napisałem go tylko poglądowo.

Jeśli ktoś wciśnie, że chcesz opuścić stronę po naciśnięciu komunikatu "Czy chcesz opuścić stronę" to gdy naciśnie "tak", to wtedy przekieruj go na stronę moj_skrypt.php.

http://stackoverflow.com/questions/503093/how-to-redirect-to-another-webpage-in-javascript-jquery

komentarz 1 maja 2017 przez Hubert13888 Użytkownik (750 p.)
No fajnie, ale co jak ktoś byłby chamem i wyłączył przeglądarkę w procesach? Jak takie coś zabezpieczyć przed śmieciami w bazie?

Dzięki za odp :)
komentarz 1 maja 2017 przez Chess Szeryf (76,710 p.)
edycja 1 maja 2017 przez Chess
komentarz 1 maja 2017 przez Hubert13888 Użytkownik (750 p.)
Kurde, nic nie działa :( Nie można po stronie serwera jakoś wykonać zapytania: "Jeżeli użytkownika nie ma (tzn. ma wyłączoną przeglądarkę/ jest nieaktywny) to usuń go z bazy"?

Chodzi o to że bez ingerencji przeglądarki użytkownika

Edit: Wiem już czemu takie coś nie działa... Bo można by było uwięzić użytkownika w witrynie i nie pozwolić mu wyjść :P

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 920 wizyt
pytanie zadane 4 maja 2017 w Systemy operacyjne, programy przez fl0w Użytkownik (510 p.)
0 głosów
1 odpowiedź 719 wizyt
0 głosów
2 odpowiedzi 255 wizyt

92,977 zapytań

141,940 odpowiedzi

321,182 komentarzy

62,303 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...