Bruger online system
Er der lige en der kan hjælpe mig med nedenstående kode.jeg kan ikke lige få den til at hente Session.SessionID ud når den når intActiveUserTimeout.
Det den skal er at, sætte online = 0 i tabellen bruger når den når intActiveUserTimeout.
Sub LogActiveUser
Dim strActiveUserList
Dim intUserStart, intUserEnd
Dim strUser
Dim strDate
strActiveUserList = Application("ActiveUserList")
'response.write strActiveUserList
If Instr(1, strActiveUserList, Session.SessionID) > 0 Then
Application.Lock
intUserStart = Instr(1, strActiveUserList, Session.SessionID)
intUserEnd = Instr(intUserStart, strActiveUserList, "|")
strUser = Mid(strActiveUserList, intUserStart, intUserEnd - intUserStart)
strActiveUserList = Replace(strActiveUserList, strUser, Session.SessionID & ":" & Now())
Application("ActiveUserList") = strActiveUserList
Application.UnLock
Else
Application.Lock
Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
Application("ActiveUserList") = Application("ActiveUserList") & Session.SessionID & ":" & Now() & "|"
Application.UnLock
if sessionbrugerlogin = "jada" then
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM bruger Where brugernr = '" & sessionbrugernr & "'"
rs.Open SQL, strDSN, 1, 3
rs("online") = 1
rs.update
rs.close
SQL = "SELECT * FROM bruger_online Where (id=0)"
rs.Open SQL, strDSN, 1, 3
rs.addnew
rs("sid") = Session.SessionID
rs("brugerid") = sessionbrugernr
rsm.update
rs.close
set rs = nothing
end if
End If
End Sub
Sub ActiveUserCleanup
Dim ix
Dim intUsers
Dim strActiveUserList
Dim aActiveUsers
Dim intActiveUserCleanupTime
Dim intActiveUserTimeout
intActiveUserCleanupTime = 1
intActiveUserTimeout = 2
If Application("ActiveUserList") = "" Then Exit Sub
If DateDiff("n", Application("ActiveUsersLastCleanup"), Now()) > intActiveUserCleanupTime Then
Application.Lock
Application("ActiveUsersLastCleanup") = Now()
Application.Unlock
intUsers = 0
strActiveUserList = Application("ActiveUserList")
strActiveUserList = Left(strActiveUserList, Len(strActiveUserList) - 1)
aActiveUsers = Split(strActiveUserList, "|")
For ix = 0 To UBound(aActiveUsers)
If DateDiff("n", Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), ":") + 1, Len(aActiveUsers(ix))), Now()) > intActiveUserTimeout Then
aActiveUsers(ix) = "XXXX"
Else
intUsers = intUsers + 1
End If
Next
strActiveUserList = Join(aActiveUsers, "|") & "|"
strActiveUserList = Replace(strActiveUserList, "XXXX|", "")
Application.Lock
Application("ActiveUserList") = strActiveUserList
Application("ActiveUsers") = intUsers
Application.UnLock
End If
End Sub
