Avatar billede agg-zeus Nybegynder
22. juli 2002 - 09:20 Der er 11 kommentarer og
1 løsning

Online User system !

Jeg har et brugersystem hvor man skal logge ind for at få adgang til funktionerne! Jeg har forsøgt at lave et script, så man kan se hvem der er Online, og hvem der er Offline og hvornår de sidst har logget ind ! Men jeg kan kun få mit eget login til at vise at jeg er Online !

Min global.asa ser således ud:

<Script Language=VBScript Runat=Server>


Sub Session_OnStart

End Sub


Sub Session_OnEnd

If Len(Session("bruger")) > 0 Then
    Application.Lock
    Application("OnlineUsers") = Replace(Application("OnlineUsers"), Session("brugernavn") & ",", "")
    Application.UnLock
End If

End Sub


Sub Application_OnStart

    Application.Lock
    Application("OnlineUsers") = ","
    Application.UnLock
   
End Sub


Sub Application_OnEnd

End Sub


</SCRIPT>

Og mit script sådan :


' --- procedure til at tilføje en online bruger ---
Sub AddOnlineUser()
    Application.Lock
    Application("OnlineUsers") = Application("Onlineusers") & Session("brugernavn") & ","
    Application.UnLock
End Sub
' --- funktion som retunerer antallet af online brugere ---
Function CountOnLineUsers()
    Dim arrUsers
    ' --- lav et array med online brugere ---
    arrUsers = Split(Application("Onlineusers"), ",")
    ' --- antallet af online brugere er altid størrelsen på arrayet -1 ---
    CountOnLineUsers = UBound(arrUsers) - 1
End Function

' --- procedure til at udskrive online brugere ---
Sub WriteOnLineUsers()
    Dim arrUsers
    Dim n
    ' --- lav et array med online brugere ---
    arrUsers = Split(Application("Onlineusers"), ",")
    ' --- udskriv liste ---
    For n = 1 To UBound(arrUsers) -1
        Response.Write(arrUsers(n) & "<br>")
    Next
End Sub


På loginsiden har jeg så sat AddOnlineUser ind, og det virker også fint hvis jeg bruger WriteOnlineUsers !
Men når jeg bruger følgende kode for at få udskrevet hvem der er Online og hvem ikke er, så virker det ikke !


sql = "Select brugere.brugernavn, brugere.email, log.dato, log.tid FROM brugere INNER JOIN log ON brugere.brugernavn = log.brugernavn Order by brugere.brugernavn"
rs.open sql, cn
Do while not rs.EOF

Dim status

    If Session("brugernavn") = rs.fields("brugernavn") Then
        Status = "Online"
    Else
        Status = "Offline"
    End If

Dim tid

    If Status = "Online" Then
        tid = "Online nu!"
    Else
        tid = "D. "&rs.fields("dato")&" kl. "&rs.fields("tid")
    End If

Response.Write "<tr><td width='100'><p>"&rs.fields("brugernavn")&"</p></td><td width='100'><a href='mailto:"&rs.fields("email")&"'>"&rs.fields("email")&"</a></td><td width='100'><p>"&status&"</p></td><td width='100'><p>"&tid&"</p></td></tr>"
rs.movenext
Loop

Nogen der kan hjælpe ?!
Avatar billede cyberkox Nybegynder
22. juli 2002 - 10:40 #1
Det er fordi, at session("brugernavn") kun er dit eget på din egen computer. Altså, session("brugernavn") oprettes kun på computeren, og ikke på hele din hjemmeside. Hvis du skal have lavet sådan noget, skal du vidst kigge lidt på denne artikel:

http://activedeveloper.dk/julekalender/julegaver/whoson.asp

//Cyber Kox
Avatar billede agg-zeus Nybegynder
22. juli 2002 - 10:43 #2
Det er den artikel jeg har kigget efter :o)
Avatar billede agg-zeus Nybegynder
22. juli 2002 - 11:11 #3
Men det funker ikke !!!
Avatar billede cyberkox Nybegynder
22. juli 2002 - 19:59 #4
Okai. Jeg har også de samme problemmer. Jeg kan ikke rigtigt forstår sammenhængen i det...
Avatar billede agg-zeus Nybegynder
22. juli 2002 - 20:05 #5
hvad gør jeg ?
Avatar billede cyberkox Nybegynder
22. juli 2002 - 20:12 #6
Hmm, jeg ved det ikke helt...

Hvis jeg ku få det til at virke, så ville jeg fortælle det ;)

Du skal nok vente på en Ekspert...
Avatar billede agg-zeus Nybegynder
22. juli 2002 - 20:14 #7
Tja.. der er nok ikke så meget at gøre... :o(
Avatar billede m-koldsgaard Nybegynder
22. juli 2002 - 22:22 #8
Nu når man snakker om online brugere, hvad er så standard for timeout ?

Jeg har lavet sådan man kan se hvem der online på mit site:
www.koldsgaard.tk
Jeg har sat timeout til 10 min.
Avatar billede agg-zeus Nybegynder
23. juli 2002 - 11:20 #9
Standard for timeout ved jeg ikke noget om :o)

Men jeg har løst mit problem, så jeg lukker spm'et
Avatar billede cyberkox Nybegynder
23. juli 2002 - 17:09 #10
Hvordan har du fået løst problemmet ?

Og hvorfor ingen point til mig ?
Avatar billede agg-zeus Nybegynder
23. juli 2002 - 20:21 #11
Jeg har løst problemet ved et svar jeg fik på Netcoders !

Dit svar hjalp mig ikke! Derfor ingen point til dig !
Avatar billede cyberkox Nybegynder
24. juli 2002 - 16:23 #12
Okai, det er bare i orden ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester