Hej, jag har lite problem med kursen som ska göra en lista över aktiva användare, tror att det är denna kod som e knasig... Problemet uppstår när man stänger ner explorer och sedan loggar in igen, man får dubletter och det borde kunna härledas till koden nedan. fixade det själv =)Probelem med att se aktiva användare (utan cookies)
Jättebussigt om någon vet eller har tid att ta en titt på detta, jag använder inte cookies så det e ett problem vet jag.
Session("UserID") är satt innan detta och det borde vara samma värde som ligger i rstActiveUsers("userid")
--------------------------------
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveFirst
'Check if user already exist, to walk around dubblets
Online=0
Do While Not (rstActiveUsers.EOF or rstActiveUsers.BOF)
If rstActiveUsers("userid") = Session("UserID") then
'orginalkodraden är nedan (bortkomenterad)
'If rstActiveUsers("userid") = Request.Cookies("userid") then
Online = 1:Exit Do
End If
'tycker att den borde få igenom ovan ifsats men det gör det inte...
rstActiveUsers.MoveNext
Loop
'if the users dont exist, add the user
If online = 0 then
rstActiveUsers.AddNew
rstActiveUsers("id") = Session.SessionID
rstActiveUsers("started") = Now()
rstActiveUsers("userid") = Session("UserID")
rstActiveUsers.Update
End If
'point on first post again
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveLastSv: Probelem med att se aktiva användare (utan cookies)
koden nedan e det som fungerar bättre om man inte vill lägga en cookie på klienten:
' peka på första raden om det finns poster i den
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveFirst
' kolla om användaren redan finns, för att slippa dubbellagring
Online=0
Do While Not (rstActiveUsers.EOF or rstActiveUsers.BOF)
If cint(rstActiveUsers("userid")) = cint(Session("UserID")) then
Online = 1:Exit Do
End If
rstActiveUsers.MoveNext
Loop
' finns inte användaren, addera
If online = 0 then
rstActiveUsers.AddNew
rstActiveUsers("id") = Session.SessionID
rstActiveUsers("started") = Now()
rstActiveUsers("userid") = Session("UserID")
rstActiveUsers.Update
End If
' peka på första posten igen
If Not rstActiveUsers.EOF Then rstActiveUsers.MoveLast