Avatar billede tue Nybegynder
26. juli 2000 - 02:04 Der er 13 kommentarer og
1 løsning

global.asa <> Online users

Jeg for lavet følgene application i min global.asa når en bruger kommer til min side:
Application(\"User\" & Application(\"ActiveUsers\") & \"\") = \"ip=\" & request.servervariables(\"remote_addr\") & \"&tid=\" & time & \"&dato=\" & date & \"\"
-------------------------------------------------------
output:
Application(\"User5\") = \"ip=127.0.0.1&tid=01:58:15&dato=26-07-00\"
-------------------------------------------------------
Men hvordan afslutter jeg den igen når brugeren forlader siden ?
Avatar billede phylox2 Nybegynder
26. juli 2000 - 03:25 #1
Hvad er det du vil have den til at gøre ?

Skal den bare \"slette\" den application du lige har lavet, eller ksal der ændres i den ?

Ellers skal det være

Sub Session_OnEnd
Application(\"User\" & Application(\"ActiveUsers\") & \"\") = \"\"
End Sub
Avatar billede tue Nybegynder
26. juli 2000 - 03:41 #2
Den skal gerne slettet !

Min global.asa ser sådan her ud:

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

Sub Application_OnStart
    Application(\"ActiveUsers\") = 0
End Sub

Sub Session_OnStart
    Session.Timeout = 20
    Session(\"Start\") = Now
    Application.Lock
    Application(\"ActiveUsers\") = Application(\"ActiveUsers\") + 1
    Application(\"User\" & Application(\"ActiveUsers\") & \"\") = \"ip=\" & request.servervariables(\"remote_addr\") & \"tid=\" & time & \"dato=\" & date & \"\"
    Application.UnLock
End Sub

Sub Session_OnEnd
    Application.Lock
    Application(\"ActiveUsers\") = Application(\"ActiveUsers\") - 1
    Application.UnLock
End Sub

</script>
Avatar billede ricardo Nybegynder
26. juli 2000 - 09:14 #3
Hvad er det, du forsøger at opnå?
Avatar billede tue Nybegynder
26. juli 2000 - 14:07 #4
Det skal bruges til en statistik side, hvor man kan se hvilke brugere der er online på ens side !
Avatar billede tue Nybegynder
26. juli 2000 - 14:12 #5
Det skal fungere på samme måde, som på denne side:

http://stat.digiweb.dk/ss?form=statsredir&ID=thezone.dk&x=72&y=9

brugernavn: test
kodeord: test
Avatar billede tue Nybegynder
26. juli 2000 - 19:25 #6
Er der ikke nogen der kan hjælpe ?
Avatar billede sa Nybegynder
26. juli 2000 - 21:13 #7
Du støder naturligvis ind i et problem, når brugeren \"går af\" siden igen, da du ikke ved hvilken bruger det er.

Jeg har tidligere lavet noget lignende; dér registrerede jeg dog brugerne i en database samme med deres session.id samt de øvrige oplysninger såsom ip m.v.

Når brugeren så logger af igen, kan vedkommendes forekomst i databasen slettes vha. session.id nummeret.
Avatar billede tue Nybegynder
26. juli 2000 - 22:45 #8
sa >> Kan du ikke komme med et eksempel, for jeg kan sku ikke lige regne ud, hvordan du for stettet at en bruger ikke er online mere ( i databasen )!
Avatar billede sa Nybegynder
27. juli 2000 - 00:43 #9
Jeg har desværre ikke det system, som jeg lavede, liggende længere, men jeg kan da hurtigt lave en prøve, hvis det skulle være nødvendigt...

Men du skal bare have en tabel (i eks. kaldet \"online\"), hvori brugere registreres når de går online - dvs. Sub session_onstart i global.asa. - Du sørger for at registrere session.sessionid i et felt i tabellen (i eks. kaldet \"id\") samt de øvrige oplysninger såsom brugernavn, ip m.v.

Når brugeren ikke længere er aktiv (altså i Sub session_onend i global.asa) sletter du forekomste i tabellen, hvor det berørte session.sessionid er registreret - altså noget i retning af:

Sub Session_OnEnd
Set conn = Server.CreateObject(\"ADODB.Connection\")
conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=base.mdb\"
Sql = \"DELETE * FROM online WHERE id = \" & session.sessionid
conn.Execute(Sql)
conn.Close
Set conn = Nothing
End Sub
Avatar billede tue Nybegynder
27. juli 2000 - 00:55 #10
Ok, jeg prøver !
Avatar billede tue Nybegynder
27. juli 2000 - 02:04 #11
Ok, nu har jeg fået det til at virke, når en bruger kommer online !

Jeg er lavet et True/False felt i min database, og når et bruger kommer til siden, bliver feltet til True, men når han går af igen, så kan jeg ikke få den til at blive False igen !

--------------------------- global.asa ---------------------------

<script language=\"vbscript\" runat=\"server\">

Set myConn = Server.CreateObject(\"ADODB.connection\")
myConn.open \"Driver={Microsoft Access Driver (*.mdb)};DBQ=(er ikke vist pga. sikkerhed)\"

sub application_OnStart
    application(\"activeusers\") = 0
end sub

sub session_onstart
    session.timeout = 20
    session(\"start\") = now()

    strSQL = \"SELECT * FROM Users\"
        Set rs = myConn.Execute(strSQL)
   
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
        rs.Open strSQL, myConn, 3, 3

    rs.addnew
        rs(\"Ip\") = request.servervariables(\"REMOTE_ADDR\")
        rs(\"Country\") = request.servervariables(\"HTTP_ACCEPT_LANGUAGE\")
        rs(\"RefUrl\") = request.servervariables(\"HTTP_REFERER\")
        rs(\"Browser\") = request.servervariables(\"HTTP_USER_AGENT\")
        rs(\"Tid\") = time()
        rs(\"Dato\") = date()
        rs(\"Online\") = \"true\"
    rs.update
   
    session(\"id\") = rs(\"id\")
    session(\"User\") = \"IP=\" & request.servervariables(\"REMOTE_ADDR\") & \"&Tid=\" & Time() & \"&Dato=\" & date() & \"\"

    application.lock
    application(\"activeusers\") = application(\"activeusers\") + 1
    application.unlock
end sub

sub session_onend
    sqlOnline = \"UPDATE users SET Online = \'false\' WHERE id = \" & session(\"id\")
        set rsOnline = myConn.execute(sqlOnline)
    application.lock
    application(\"activeusers\") = application(\"activeusers\") - 1
    application.unlock
end sub

</script>

Hvorfor vil den ikke det ?

På forhånd tak !
Avatar billede sa Nybegynder
27. juli 2000 - 14:23 #12
Jeg mener ikke, at der skal være \' omkring false i din sql-sætning.

Hvis det ikke er det, der er problemet, må du lige sige til..
Avatar billede tue Nybegynder
27. juli 2000 - 19:50 #13
sa >> Tak for hjælpen !

Du for lidt flere point, for din gode hjælp over ICQ !
Avatar billede chris Nybegynder
16. januar 2001 - 22:16 #14
tue: jeg har rodet lidt med samme ting...

Hvordan fik du din db til false ved session_onend?
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