Avatar billede d797fni Nybegynder
15. december 2000 - 10:32 Der er 7 kommentarer og
1 løsning

Log ud tidspunkt

Jeg har et lille log system hvor jeg registrere hvornår brugeren logger på systemet.

Jeg ville også gerne kunne registrere hvornår vedkommende logger ud, eller hvornår hans session \"dør\".
Avatar billede tdaugaard Nybegynder
15. december 2000 - 10:42 #1
Du skal bruge en \"global.asa\" fil hvori du har bl.a.

Sub Session_OnStart()

End Sub

Sub Session_OnEnd()

End Sub


ovenstående SUB\'s bliver udført når en session udløber, og vha. f.eks. at sætte Session(\"username\") = \"noget\" kan du bruge dette i din _OnEnd mener jeg til at f.eks. opdatere en database med Now()
Avatar billede lp Nybegynder
15. december 2000 - 10:45 #2
det kan du kun hvis brugeren rent faktisk trykker på \"log ud\" knappen. hvis session er inaktiv vil du ikke have mulighed for at kunne opdatere det i din database.

du kan dog lave et lille asp script som logger folk ud og tilføje et javascipt i dit frameset (hvis du kører et sådan - ellers lav et skjult) som åbner dette lille vindue onBeforeUnload=\"javascriptSomÅbnerEtLilleVindueSomLukkerSessionOgLukkerSigIgen:-)\"

dermed bliver folk logget ud (eller hvad det lille popupscript nu gør) hvis de indtaster en nu url i adressen eller lukker vinduet ned......det er da også godt for din server, den skal betjene aktive brugere :-)

Held & Lykke

/LP
Avatar billede lp Nybegynder
15. december 2000 - 10:48 #3
tdaugaard\'s løsning vil ikke skrive tidspunktet i databasen, når brugeren rent faktisk logger ud, men når brugerens session engang dør.....alt afhængig af server opsætning !
Avatar billede d797fni Nybegynder
15. december 2000 - 11:06 #4
lp: Det du siger der er yderst fornuftigt, men jeg har ingen anelse hvordan man gør !
Avatar billede ellebaek Nybegynder
15. december 2000 - 12:50 #5
du laver en anden fil der tilføjer til logfilen.

den kan f.eks. se ud som følgende:
%>
conn = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
conn = conn & \"DBQ=\" & server.mappath(\"noter.mdb\")
\'Log brugerens IP og tidspunkt
Succes = logout
bruger = session(\"Login\")
        set rsLog = Server.CreateObject(\"ADODB.Connection\")
        rsLog.Open conn   
      Tid = now()
        IP = Request.ServerVariables(\"REMOTE_ADDR\")
        Browser = Request.ServerVariables(\"HTTP_USER_AGENT\")
        SQLLog = \"INSERT INTO TLog(succes, Bruger, Tid, IP, Browser) VALUES (\'\"&Succes&\"\',\'\"&Bruger&\"\',\'\"&Tid&\"\',\'\"&IP&\"\',\'\"&Browser&\"\')\"
        rsLog.Execute(SQLLog)
   
Session.Abandon \' måske ikke stavet rigtigt :)
Response.write \"Du er nu logget ud\"
%>
Håber det kan bruges ...

-Ellebaek
Avatar billede d797fni Nybegynder
15. december 2000 - 12:58 #6
Ellebaek:tak, men igen vil dette kun virke når bruger trykker på \"log af\", hvilket jo næsten aldrig sker.
Avatar billede ellebaek Nybegynder
15. december 2000 - 15:19 #7
Det kunne du jo bare have sagt =))

... så kan du jo selvfølgelig lave siden sådan så det er en fullscreen side, hvor siden tilsidst lukker sig selv når man trykker på logud ...!

-Ellebaek
Avatar billede lp Nybegynder
15. december 2000 - 15:44 #8
nu ved jeg ikke hvor meget du kan......men jeg er ikke interesseret i at kode det hele for dig - jeg vil gerne give dig clues og kodestykker således du kan lave resten selv !

Jeg ved at nedenstående virker indsat i et frameset:

OnBeforeUnload=\"self.window.open(\'logudfil.asp\',\'LOGUD\',\'left=0,top=0,height=10,width=10,resizable=no,status=no,toolbar=no,menubar=no,location=no\')\"

så laver du en logud fil som opdaterer tidspunktet i databasen og i normal html kode skriver du:

<script language=\"javascript\">
window.close();
</script>

dette skal være placeret helt nederst på siden.......

længere er den egentlig ikke - det tager ikke så lang tid og virker godt, jeg er bekendt med flere STORE sites som benytter denne teknik!

LP
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