Avatar billede Slettet bruger
27. maj 2001 - 18:22 Der er 4 kommentarer og
1 løsning

Session_OnEnd??

Her er lige et let spørgsmål, for nogle ;)

Når en session lukkes, udføres den kode som står i Session_OnEnd i Global.asa
Men udføres dette FØR eller EFTER session\'en er lukket? Altså, hvis jeg ex skal bruge Session(\"brugerid\") til en SQL-statement i Session_OnEnd hvad gør jeg så hvis sessionen lukkes før koden udføres?
Avatar billede dna Nybegynder
27. maj 2001 - 18:23 #1
http://www.activeserverpages.dk/aspdigital/2001052201.asp

Der er en artikel om det problem...

dna
Avatar billede Slettet bruger
27. maj 2001 - 18:27 #2
Dette beskriver jo ikke om sessionen lukkes FØR eller EFTER koden i Session_OnEnd udføres ;)

¨lazer
Avatar billede Slettet bruger
27. maj 2001 - 18:35 #3
Problemet ligger i at jeg har lavet en liste af brugere.
Application(\"OnlineList\") starter derfor med at være:
,

Når en bruger logger ind, bliver ID\'et lagt til:
,56,

osv.

Når brugeren logger ud (session lukkes) skal brugerens ID (=Session(\"bruger\")) trækkes fra.
Men sessionen lukkes øjensynligt FØR koden udføres, idet den fjerner alle kommaer, og ikke brugerid,. Dvs. hvis man har en række brugere og bruger 56 logger ud:

,45,23,67,56,32

skal strengen være:

,45,23,67,32

Men da session\'en lukkes før koden udføres bliver denne:
4523675632

hvilket ikke er særligt bevendt ;)

Avatar billede Slettet bruger
27. maj 2001 - 18:48 #4
Sessionen lukker FØR koden udføres. Det har jeg nu fået bekræftet ;)
Avatar billede burningice Nybegynder
27. maj 2001 - 20:08 #5
det var da mærkeligt, for jeg bruger følgende kode i min global.asa, session_onend og det virker fint. Som du kan se er den afhængig af en session

Sub Session_OnEnd
Application(\"BrugereOnline\") = Application(\"BrugereOnline\") - 1

if NOT session(\"useronline\") = \"Guest\" then

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\\http\\www.zequenze.dk\\brugere\\db.mdb\"

set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM users where (username = \'\"& session(\"useronline\") &\"\')\"

rs.open strSQL, conn, 1, 3

rs.update
rs(\"logged_in\") = 0
rs(\"logged_out_time\") = now
rs.update

rs.close
set rs = nothing

conn.close
set conn = nothing

session(\"useronline\") = \"Guest\"

end if

End Sub
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