---
title: "Online"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8753-online"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "aleborg"
published: "2001-03-27T20:17:00.000Z"
updated: "2001-03-29T19:16:00.000Z"
replies: 7
views: 337
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/8753-online"
---

# Online

## #1 — aleborg, 2001-03-27T20:17Z

Jag vet att det här har varit uppe innan, men inte blivit riktigt svarat än. Hur man får fram inloggade!

Jag har ett litet problem med ett script som en polare hjälpte mig med:

global.asa

```
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
	' Set our user count to 0 when we start the server
	Application("ActiveUsers") = 0
 	Application("active_users")=""

End Sub

Sub Session_OnStart
	Session("Username")=""
' Change Session Timeout to 20 minutes (if you need to)
	Session.Timeout = 30
	' Set a Session Start Time
	' This is only important to assure we start a session
	Session("Start") = Now
	' Increase the active visitors count when we start the session
	Application.Lock
		Application("ActiveUsers") = Application("ActiveUsers") + 1
	Application.UnLock
End Sub

Sub Session_OnEnd
	' Decrease the active visitors count when the session ends.
	Application.Lock
		Application("ActiveUsers") = Application("ActiveUsers") - 1
	Application.UnLock
     un=Session("Username")
     if un<>"" and Application("active_users")<>"" then
	tmp=Application("active_users")
	idx=instr(tmp,un & "*")
tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
	Application("active_users")=tmp2
      end if

End Sub

</SCRIPT>
```

vid inloggningen(efter kontroll av username)

```
Application(”active_users”)=Application(”active_users”) & uname & ”*”
```

men nu vill jag kolla om ett username är online:

```
user_array=split(Application(”active_users”),”*”)
for t=0 to ubound(user_array)
    user=user_array(t)
     //….user innehåller nu ett användarnamn
next
```

hur gör jag då för att visa om personen är online? Försökte med det här:

```
<% If user= rs("Polare") Then
Response.Write "Online"
else
Response.Write "no"
End if
%>
```

rs("Polare") är ett användarnamn som hämtas från en "kompis" table!

Jag får bara fram "no" trots att jag sitter på min andra dator inloggad med det användarnamnet som ska visas "online"

Någon som vet?

Permalänk: https://www.webforum.nu/p/8753

## #2 — Deamer, 2001-03-28T03:25Z

user_array=split(Application(”active_users”),”\*”)
for t=0 to ubound(user_array)
user=user_array(t)
If rs("Polare") = user Then
Response.Write "Online"
else
Response.Write "no"
End if

next

Borde funka tror jag.. Annars är det bara att säga till så ska jag titta på't igen..

\[Redigerat av Deamer den 28 mar 2001\]

Permalänk: https://www.webforum.nu/p/262109

## #3 — aleborg, 2001-03-28T12:49Z

nix det funkade inte, står "nononononono" jag undrar om övrig kod är rätt?

Permalänk: https://www.webforum.nu/p/262110

## #4 — Deamer, 2001-03-29T06:58Z

För att lägga in en anvvändare:

```
Session("userNick") = oRS("nick")
Application.Lock
	Application("sUsersOnline") = Application("sUsersOnline") & usrNick & "$"
Application.Unlock
```

För att ta bort en användare i global.asa (Sub Session_OnEnd):

```
	usrNick = Session("userNick")
	sApplication = Application("sUsersOnline")
Dim arrUsers
	arrUsers = Split(sApplication, "$")

	Application.Lock
		Dim arrNewOnlineList
		arrNewOnlineList = Filter(arrUsers, usrNick, false)
		Application("sUsersOnline") = join(arrNewOnlineList, "$") 
	Application.UnLock
```

För att se om en person är online:

```
sNameToSearchFor = oRS("memberName")
Dim arrTemp
arrTemp = Split(Application("sUsersOnline"), "$")

For i = 0 To UBound(arrTemp)
	Ïf arrTemp(i) = sNameToSearchFor Then
		Response.Write "Online"
	End If
Next
```

Denna kod funkar iallafall för mig i ett av mina små projekt..

\[Redigerat av Deamer den 29 mar 2001\]

Permalänk: https://www.webforum.nu/p/262111

## #5 — nakoz, 2001-03-29T07:33Z

observera att han använt sig av Ïf istället för If som man brukar göra :e

Permalänk: https://www.webforum.nu/p/262112

## #6 — aleborg, 2001-03-29T08:47Z

:)
Jag lyckades faktiskt få ordning på min kod, han hade glömt lite saker :)

Permalänk: https://www.webforum.nu/p/262113

## #7 — nakoz, 2001-03-29T18:06Z

aleborg: då kanske de vore schysst om du postade din lösning så vi slipper dra upp detta nån mer gång?

mvh,

Permalänk: https://www.webforum.nu/p/262114

## #8 — aleborg, 2001-03-29T19:16Z

Ok, koden för att kunna se hur många som är online och vilka som är inloggade:

global.asa

```
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
	' Set our user count to 0 when we start the server
	Application("ActiveUsers") = 0
 	Application("active_users")=""

End Sub

Sub Session_OnStart
	Session("Usname")=""
' Change Session Timeout to 20 minutes (if you need to)
	Session.Timeout = 10
	' Set a Session Start Time
	' This is only important to assure we start a session
	Session("Start") = Now
	' Increase the active visitors count when we start the session
	Application.Lock
		Application("ActiveUsers") = Application("ActiveUsers") + 1
	Application.UnLock
End Sub

Sub Session_OnEnd
	' Decrease the active visitors count when the session ends.
	Application.Lock
		Application("ActiveUsers") = Application("ActiveUsers") - 1
	Application.UnLock
     un=Session("Usname")
     if un<>"" and Application("active_users")<>"" then
	tmp=Application("active_users")
	idx=instr(tmp,un & "*")
	tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
	Application("active_users")=tmp2
      end if

End Sub

</SCRIPT>
```

efter kontrollen i databasen efter inloggnings namnet:

```
uname=rs("Username")
Session("Usname")=uname
Application("active_users")=Application("active_users") & uname & "*"
```

koden för att kolla om ett användarnamn är online:

```
user_array=split(Application("active_users"),"*")
xx="<img src=pics/offline.gif width=16 height=16>"
for t=0 to ubound(user_array)
user=user_array(t)
If rs("Username") = user Then xx="<img src=pics/online.gif width=16 height=16>"
next
Response.Write xx
```

logout:

```
     un=Session("Usname")
     if un<>"" and Application("active_users")<>"" then
	tmp=Application("active_users")
	idx=instr(tmp,un & "*")
	tmp2=left(tmp,idx-1) & right(tmp,len(tmp)-idx-len(un))
	Application("active_users")=tmp2
      end if
Session.Abandon
```

för att visa antalet online:
\<%= Application("ActiveUsers") %\>

Tror jag fick med allt nu

\[Redigerat av aleborg den 29 mar 2001\]

Permalänk: https://www.webforum.nu/p/262115

---

Tråden på webben: https://www.webforum.nu/amne/asp/8753-online
