PDA

View Full Version : [Q] Online status?



snoopy
29-10-2002, 09:34
Hien tai minh dang dung bien application de luu tru so user truy cap vao trang web nhung minh ko bit lam sao de huy mot user khi ho logout hoac thoat khoi trang web, xin cac ban chi giup minh voi.................

DTB
31-10-2002, 01:00
Thì làm ngược lại với khi bạn tăng lên.

Nếu trong Session_onStart bạn ghi
Application("demsonguoi")=Application("demsonguoi")+1

thì trong Session_onEnd ghi:
Application("demsonguoi")=Application("demsonguoi")-1

Như vậy thì khi logout sẽ chưa kịp trừ mặt dù sau đó, khi session onEnd thì vẫn được trừ.
Nếu muốn trừ ngay khi logout thì phải ghi nhận lại chuyện đó để cho Session_onEnd khỏi trừ nữa.
Có nhiều cách. Chẳng hạn:

Trong logout:

Application("demsonguoi")=Application("demsonguoi")-1
Session("tru_chua")="tru em nay ra roi"

và trong Session_onEnd sẽ kiểm tra trước khi trừ:

IF Session("tru_chua")="tru em nay ra roi" THEN
'khong tru them nua
ELSE
Application("demsonguoi")=Application("demsonguoi")-1
END IF

snoopy
31-10-2002, 11:27
Session_onEnd ghi:
Application("demsonguoi")=Application("demsonguoi")-1


Hichic.. cach nay minh da thu rui ban oi, dung session_onEnd de giam bien Application khi nguoi dung thoat khoi website ko co duoc. Bien co session_onEnd duong nhu ko xay ra!? Cac ban co cach nao khac ko, lam giong nhu trong diendantinhoc.com vay do, biet duoc so user online...chi giup minh nhe, thanks

DTB
01-11-2002, 01:01
Trước mắt hãy làm 2 việc:
- Giải thích kỹ hơn là làm sao biết nó "duong nhu ko xay ra" .
- Gửi file gobal.asa của bạn lên đây.

snoopy
01-11-2002, 09:01
Bài viết được gửi bởi DTB
Trước mắt hãy làm 2 việc:
- Giải thích kỹ hơn là làm sao biết nó "duong nhu ko xay ra" .
- Gửi file gobal.asa của bạn lên đây.

Sub Application_OnStart
application("count")=0
End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart
application("count")=application("count")+1
End Sub

Sub Session_OnEnd
application("count")=application("count")-1
End Sub

Minh noi vay la boi vi khi user tat browse di nhung bien application van ko giam gia tri-1???

bpmtri
01-11-2002, 10:12
Khi user tắt Browser, Web Server không có detect được liền? Chỉ sau thời gian time-out của Session thì nó mới huỷ session và gọi Session_OnEnd, khi đó biến "count" của bạn mới được giảm đi 1.

Bạn có thể giảm thời gian time-out của Session xuống 1 tí để có tốc độ "refresh" nhanh hơn một chút.

snoopy
01-11-2002, 11:18
oh, vay la su kien sessionOnEnd se thuc hien khi session time out a`. Vay con co cach nao khac ma` ko can phai giam gia tri cua session time out ko vay?
Cam on ban da tra loi nhe ;)

White_Rose
01-11-2002, 20:23
Không sử dụng Session mà lưu giữ thời gian truy xuất của một visitor (lấy IP là cái để phân biệt) trong CSDL. Nếu quá một thời gian náo đó thì coi như IP đó là cũ và nếu người ta quay lại thì là một new visitor.

snoopy
02-11-2002, 08:37
White Rose a`, ban co the chi cu the cho minh duoc ko? Boi vi minh ko bit khi lay dc IP cua user roi thi lam sao biet duoc la user do co con ket noi voi server hay ko? Cam on ban da tra loi cho cau hoi cua minh va mong nhan duoc them nhiu y kien cua ban nhe'