[ mika @ 17.01.2007. 16:23 ] @
Pozdrav svima,

s obzirom da razvijam jednu aplikaciju koja je zasnovana na user login-u i sesijama, potrebno je da u jednoj tabeli čuvam podatke o aktivnosti korisnika, i vremenu logina i logouta. Principijelna struktura tabele je ovakva:

Code:

CREATE TABLE User_Activity
(user_activity_id SERIAL,
login DATETIME NOT NULL,
logout DATETIME, 
...);


Naravno, vrednost za login polje se upisuje prilikom klika na login dugme, a vrednost za logout polje - prilikom klika na logout.

Postavlja se pitanje - u slučaju da korisnik greškom izađe iz web browsera, koju vrednost tom prilikom dobija logout polje? U default slučaju, logout polje dobija vrednost NULL, što znači da se sesija nije završila, što znači da će prilikom sledećeg logina korisnik dobiti poruku o grešci.

Pitanje: da li je moguće nekako, koristeći sesije, ili DBMS, u slučaju zatvaranja browsera, "uhvatiti" kada je korisnik zatvorio browser? Ili se koristi neka druga tehnika (pretpostavljam, ispitavanje kada je sesija, ili cookie istekao, pa se to vreme upisuje kao logout)?

10x!
[ vilyu @ 17.01.2007. 18:40 ] @
Ja bih tu dodao još last_seen_time koje bi odgovaralo vremenu kada je korisnik poslednji put trazio novu stranu. Ukoliko je ugasio browser, a da se nije izlogovao, onda mu vreme računaš od logovanja do kad je poslednji put viđen. Eventualno plus neko vreme X koliko pretpostavljas da se zadržao na poslednjoj stranici.
[ mika @ 17.01.2007. 18:52 ] @
Razmišljao sam o tome, ali pošto je priroda aplikacije takva da se posle logovanja korisnik drži samo na jednom prozoru i periodično upisuje podatke (INTRANET aplikacija je u pitanju), jedino bih mogao da vrednost logout polja logout updatujem svaki put kada korisnik upiše nešto, mada ni to nije baš sigurno rešenje, jer može da se desi da korisnik u 12:30h upiše podatak a u 16h da slučajno zatvori prozor tako da je to nesigurna opcija.

Ima li ko još neki predlog?
[ dootzky @ 19.01.2007. 10:46 ] @
mislim da ce ti ovo pomoci:

1) http://www.webmasterworld.com/javascript/3213099.htm
2) http://www.google.com/search?n...;q=JS+onUnload&btnG=Search
3) http://www.w3schools.com/jsref/jsref_onunload.asp


a dalje kopaj sam, link br. 2) ti je ionako interesantan google search

znaci ideja je jednostavna: kada korisnik zatvara prozor, ti lepo pozovi neku JS funkciju, a tamo mozes vec da stavis da se otvori neki pop-up prozor (ili napravi redirekciju na brzaka), i tamo "izloguj korisnika propisno", i brzo zatvori prozor, i sve to bi trebalo da prodje neopazeno i neometano.

dakle ja bi ovako odradio, primer:

1)
<body onunload="functionLogOut();">
tekst tekst...
</body>

2) functionLogOut() { document.location = 'logMeOut.php'; }

3) logMeOut.php -> tu iz sesije znas korisnika, izlogujes ga, i onda samo window.close(); ili tako nesto, i ti si zavrsio posao.


moze taj trip da ti odradi posao, sta mislis?

poz,
dootzky
[ mika @ 22.01.2007. 17:47 ] @
HVALA!!

Probacu, i postovacu ovde kakav je rezultat!