![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 9.08.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Wymyśliłem sobie ostatnio żeby dopisać do sktyptu logowania statystykę. Wszystko zapisywane byłoby w bazie tj.: identyfikator logującego, IP, czas zalogowania. Dodakowo w przyszłszości zamierzam dodać śledzenie użytkowników. Wszystko wygląda fajnie i wogóle tylko pojawia się jeden mały problem. Gdy użytkownik zechce się wylogować kliknie sobie ładny button wyloguj, co wywoła funkcję które zapisze aktualny czas do bazy i zamknie sesje. Jeśli jednak się nie wyloguje (zamknie okno przeglądarki) sesja zostanie sama zamknięta po określonym czasie i czas wylogowania nie zostanie zapisany do bazy ![]() Może ktoś już walczył z podobnym problem. Będe wdzięczny za wskazówki. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
A moze zakonczenie sesji po przez dluga nieaktywnosc = czas wylogowania ? Czyli czas wylogowania = czas ostatniej aktywnosci starszy niz np 30 minut?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 9.08.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
No jest to jakis sposób. Znalazłem jednak funkcje session_set_save_handler
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(relaxant @ 2005-07-26 11:19:18) No jest to jakis sposób. Znalazłem jednak funkcje session_set_save_handler ![]() AFAIK to tak nie przejdzie. Funkcja destroy jest wykonywana przy niszczeniu sesji, a nie przy usuwaniu ich przez garbage collector czy usunięciu ciastka z identyfikatorem sesji. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Pro -> php
Pozatym czegoś takiego jak zamknięcie sesji w razie wyłączenia przeglądarki nie da się uzyskać. Było już o tym dość dużo na forum. -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@relaxant Zaimplementuj session_set_save_handler i dodatkowy wykorzystaj to co Ci pisalem wczesniej, mysle ze osiagniesz to co chciales.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym spróbował JS onunload="zapisz()"
A w funkcji zapisz coś takego Kod function zapisz() { var httpReq = new XMLHttpRequest(); httpReq.open("POST", 'url_do_skryptu_php',false); httpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); httpReq.send('np costakigo: timestamp=<?php time() ?>); httpReq.responseText; } A w skrypcie normalnie zapisujesz do bazy Sam używam HttpRequesta do innych rzeczy, a tu na szybko sklecilem taką funkcyjkę (proszę o uwagi). -------------------- ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
set_session_save_handler i odpowiednie stworzona funkcja gc powinna zalatwic sprawe
-------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@bieniek Twoj pomysl jest ok, ale nie zawsze skuteczny.
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 6.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
@SongoQ Jak byś mógł to napisz w jakich przypadkach może zawieść. Dodam jeszcze tylko, że uzależnienie od przeglądarki mam jak najbardziej zrobione, to jest okrojona wersja
![]() -------------------- ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
- wylaczenie JS
- zamkniecie PC - wywalenie przegladarki ![]() - zabicie procesu i wiele innych. -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 9.08.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
SongoQ ma racje JS to nie najlepsze rozwiązanie choć przyznać trzeba że pomysł ciekawy. Jednak staram się jej unikać jak ognia więc raczej nie skorzystam, ale dzieki za odpowiedź.
Będe próbował z funkcją gc. Dzięki Ten post edytował relaxant 26.07.2005, 19:10:49 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 03:31 |