pepss wrote:
> "Torben Brandt" skrev
>>Jeg ville også som udgangspunkt have valgt at bruge en database, men
>>sidst jeg prøvede lykkedes det mig ikke at tilgå en database fra
>>global.asa, men det var sikkert bare mig, der ikke kunne finde ud af det.
>
> da jeg prøvede den løgsing fik jeg at vide at det ikke kan lade sig gøre med
> en Access database men goddt med en My SQL.
Jeg mener at vi tidligere her i gruppen har diskuteret det, og handlede
vist også om at Server.MapPath ikke kunne bruges i Session_onStart eller
Session_onEnd, men hvis nogle er blevet klogere i mellemtiden, så sig
endelig frem...
>>En anden metode er at omskrive online-tælleren fra
>><URL:
http://netcoders.dk/articles.asp?mode=show_article&article_id=93&tech_id=1>,
>>
>>så i stedet for at bruge Session.SessionID, så bruge
>>Session("brugernavn") og i stedet for at tælle, så kan du udskrive alle
>>navnene.
>
> ja det kunne nok godt virke! men men jeg kan ikke lige se hvordan det skal
> se ud vist jeg skal omskrive det???
> det skal jo så bare splittes op og så sammenlines med profilnavnet! men jeg
> kan godt nok ikke se hvordan man går det!
Vi erstatter
application("online_" & session.sessionID) = now
med
application("online_" & session("brugernavn")) = now
og For-løkken og linien med Response.Write lige efter For-løkken
erstatter vi med:
online = ""
For Each appvar in Application.Contents
if left(appvar, 7) = "online_" then
if IsDate(application.contents(appvar)) then
if Datediff("n", application.contents(appvar), now) < 2 then
online = online & "," & Mid(appvar, 8)
end if
end if
end if
Next
online = online & ","
' Nu indeholder online en kommasepereret liste over de
' brugernavne der er online indefor de seneste 2 min.
' Der er et komma både først og sidst for at søgning bliver nemmere
' Undersøg om brugernavn er online
Response.Write "Er " & brugernavn & "online: "
Response.Write InStr(online, "," & brugernavn & ",") > 0
Response.Write "<br><br>"
' Udskriv liste over online brugere
onlineliste = Split(online, ",")
Response.Write "Online brugere:<br>"
For i = LBound(onlineliste) + 1 To UBound(onlineliste) - 1
Response.Write onlineliste(i) & "<br>"
Next
Jeg har ikke testet det, men vil tro det virker.
Jeg er dog lidt usikker på om der skal stå +1 og -1 i sidste For-løkke.
Jeg mener at første og sidste plads i arrayet onlineliste er tom, fordi
online starter og slutter med et komma, men hvis det ikke helt virker,
så prøv at fjerne +1 og -1
PS ovenstående forudsætter at der ikke er komma i brugernavne. Ellers
skal alle kommaerne bare erstattes af et andet tegn.
/Torben