Avatar billede steffansteffan Nybegynder
11. marts 2005 - 11:17 Der er 8 kommentarer og
1 løsning

Online Bruger liste

Jeg er ved at lave en online bruger liste og er kommet frem til dette resultat:

<%
Dim date
date = now()
dateMinus = DateAdd("h",-1,date)

Set connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};UID=; PWD=1321;DBQ=" & Server.Mappath("db/forum2.mdb")
sql = "Select * FROM brugere WHERE sidst_set > '"& dateMinus &"'"
Set rs = Server.CreateObject("ADODB.Recordset")
set rs = Connect.execute(SQL)

While not rs.eof

Response.Write("<a href=""profilgoto.asp?ID=" & rs("ID") & """>" & rs("Username") & "</a><br>")

rs.MoveNext
Wend
%>

Problemet er at jeg tror den ikke forstår mit dato format. Dato formatet på feltet Sidst_set er:
11-03-2005 10:31:13

OG af typen "Text"

Nogle der vil hjælpe?
Avatar billede moejensen Nybegynder
11. marts 2005 - 11:28 #1
prøv at rette feltet, så det bliver af typen date/time
Avatar billede steffansteffan Nybegynder
11. marts 2005 - 11:46 #2
Synes stadig ikke den udskriver det rigitg.

Bruger 1: 03-04-2005 23:42:44
Bruger 2: 01-08-2005 04:14:05
Bruger 3: Ingen Dato

Der er slet ikke en logisk gennem gang af dem?
Avatar billede moejensen Nybegynder
11. marts 2005 - 12:24 #3
registrere du i databsen når brugeren kommer ind på siden, og forlader siden?

hvis du bare vil have vist hvor mange brugere der er på siden, kan du bruge global.asa

tjek denne artikel: http://activedeveloper.dk/artikler/default.asp?articleid=173
Avatar billede steffansteffan Nybegynder
11. marts 2005 - 12:38 #4
Det skal være en bruger liste der viser de brugere der har været aktive på siden inden for den seneste time.
Ja jeg har et felt i databasen der hedder Sidst_set, dette bliver updateret hver gang en bruger klikker på et links. via now()
Avatar billede moejensen Nybegynder
11. marts 2005 - 12:48 #5
okay. så skulle det virke, hvis dine update virker som de skal
Avatar billede steffansteffan Nybegynder
11. marts 2005 - 12:55 #6
Jeg kan ikke få den til at virke. skriver dette her:

global.asa

<script language="VBScript" runat="server">
Sub Session_OnStart
Session.Timeout = 25
Application.Lock
Application("OnlineUsers") = ","
Application.UnLock
End Sub

Sub Session_OnEnd
If Len(session("brugernavn")) > 0 Then
  Application.Lock
  Application("OnlineUsers") = Replace(Application("OnlineUsers"), session("brugernavn") & ",", "")
  Application.UnLock
End If
End Sub
</script>

ASP fil.

<%
' --- 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
%>

<%
Call CountOnlineUsers()
%>

Den udskriver ikke noget den er bare blank. ??
Avatar billede steffansteffan Nybegynder
11. marts 2005 - 13:09 #7
Når jeg fik det til at virke:

<%
Call AddOnlineUser()
%>
<%
' --- 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
%>

<%
Response.Write CountOnlineUsers()
%>

Smæk et svar
Avatar billede moejensen Nybegynder
11. marts 2005 - 13:10 #8
det er ikke alle webhoteller der understøtter at du kan bruge global.asa
Avatar billede steffansteffan Nybegynder
11. marts 2005 - 13:21 #9
Har fået det til a t virke. men har et problem, Mit login system, ligger i en mappe ved navn Login.
Problemet er så at hvis jeg smækker
<%
Call AddOnlineUser()
%>
Ind i en fil under Login mappen, bruger den global.asa filen i Login mappen og ikke i roden som jeg ønsker det. Er der mulighed for jeg kan få den til at tage fra en? eller er det en bestemt standard man ikke kan ændre på?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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