---
title: "Loop minus några för mycket"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39133-loop-minus-några-för-mycket"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jesper T"
published: "2002-03-07T02:30:07.000Z"
updated: "2002-03-10T21:26:47.000Z"
replies: 9
views: 280
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/39133-loop-minus-några-för-mycket"
---

# Loop minus några för mycket

## #1 — Jesper T, 2002-03-07T02:30Z

Loopar ut folk i en application men vissa snubbar kommer upp flera ggr. om man har otur. Går det att förbjuda loopen att visa samma användarnamn(unikt) två ggr. och i sådana fall, hur?!

MVH Jesper

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

## #2 — @nders, 2002-03-07T05:19Z

Jo, det går säkerligen. Men utan kod, ingen hjälp. ;)

Mvh,

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

## #3 — Jesper T, 2002-03-07T21:56Z

kommer här...

```
if strFirst = "" then
  strFirst = "A"
end if
   if show = "all" then
   strSQL = "SELECT * FROM users ORDER BY surname,firstname,city"
   else
  Dim strSQL
  strSQL = "SELECT  * FROM users WHERE surname LIKE '" &_
  strFirst & "%'" & "ORDER BY surname,firstname,city"
  end if
  
  Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open strSQL, conn, 3, 3
  
If rsUsers.EOF then
Response.Write "<font size=2>Användare online saknas vars efternamn börjar med "&_ 
UCase(strFirst)
Else
  
Response.Write"<font size=2>Användare online"

Do While Not rsUsers.EOF  
user_array=split(Application("active_users"),"*")
  for t=0 to ubound(user_array)

  user=user_array(t)
If rsUsers("Username") = user Then 
  count = count + 1
```

Något sådant har jag nu!
Listar tex Olle nitton ggr. om killen inte har loggat ut mellan inloggningarna.

MVH Jesper

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

## #4 — LarsG, 2002-03-07T22:12Z

Då borde du väl se till så att du inte lagrar samma namn flera gånger i din applikationsvariabel.

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

## #5 — Jesper T, 2002-03-09T23:10Z

Ok hur gör jag det?

Detta har jag i min 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 = 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("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>
```

Och detta i min loginsida:

```
<%

username = Request.Form("username")
password = Request.Form("password") 
stayloggedin = Request.Form("stayloggedin")
lastlogg = Request.Form("lastlogg")

%>
<!--#include virtual="/conn.asp"-->
<%

sql = "SELECT username,klass,kontokort,firstname,lastlogg FROM users WHERE StrCOMP(username,'" & username & "',0) = 0 AND strcomp(password,'" & password & "', 0) = 0"

Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

If (not rsUser.BOF) and (not rsUser.EOF) then
  Response.Cookies("username") = rsUser("username")
    
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "users WHERE username = '" & username & "'", conn, 3, 3

rsUser.Update
  rsUser("lastlogg") = lastlogg
  rsUser("visit") = rsUser("visit") + 1
rsUser.Update

 if cstr(stayloggedin) = "true" then
Response.cookies("auto") = rsUser("username")
Response.cookies("auto").expires = DateAdd("d",365,Now())
Response.cookies("auto2") = rsUser("password")
Response.cookies("auto2").expires = DateAdd("d",365,Now())

  end if
  uname=rsUser("Username")
Session("Usname")=uname
[b]Application("active_users")=Application("active_users") & uname & "*" [/b]

  rsUser.close
  set rsUser = nothing
  conn.close
  set conn = nothing
  Response.Redirect(page)
end if

rsUser.close
set rsUser = nothing
conn.close
set conn = nothing
response.cookies("loginErr") = "Fel på användarnamn eller lösenord!<br>Har du glömt ditt lösenord, klicka på &quot;Glömt mitt lösen&quot; ."
response.redirect("index.asp")
%>
```

MVH Jesper T

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

## #6 — solbulle, 2002-03-09T23:30Z

Hur blir man då utloggad?

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

## #7 — Jesper T, 2002-03-09T23:43Z

Så här:

```
<% 
Response.Cookies("username") = ""
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

Response.Redirect("logout.asp")
%>
```

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

## #8 — Jesper T, 2002-03-10T20:25Z

Det var så här min kod såg ut ja...

 :)

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

## #9 — LarsG, 2002-03-10T20:32Z

För att förhindra att du stoppar in samma användare flera gånger så kan du göra

```
application.lock
if  instr("*" & Application("active_users"), "*" & uname & "*") = 0 then
Application("active_users")=Application("active_users") & uname & "*" 
end if
application.unlock
```

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

## #10 — Jesper T, 2002-03-10T21:26Z

På loginsidan eller i global.asa? Äh.. Det verkar funka att lägga den på loginsidan!

Tack ;) 

Jesper

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39133-loop-minus-några-för-mycket
