26. juli 2000 - 02:04Der 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 ?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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
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 !
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
Hvordan fik du din db til false ved session_onend?
Synes godt om
Ny brugerNybegynder
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.