23. december 2005 - 12:42Der er
5 kommentarer og 1 løsning
On_SessionEnd Datebase opdateringsproblem
Hejsa
Jeg kører på en lejet server. Derfor kan jeg ikke se hvad der sker i global.asa.
Denne kode prøver jeg at eksekvere: Sub Session_OnEnd
IF Session("user_guid") = "" then else set conn = server.createobject("ADODB.connection") conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" ) UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid") conn.execute( UserOnlineUPD_RS ) end if
For det første er det ikke godt med en if blok uden noget der skal gøres, så prøv at lave dit script om til
Sub Session_OnEnd
IF Session("user_guid") <> "" then set conn = server.createobject("ADODB.connection") conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" ) UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid") conn.execute( UserOnlineUPD_RS ) end if
END SUB
Derudover er det en god idé at teste dit script inden du smider det i global.asa, så prøv at smide dit script i en asp fil og eksekver følgende (uden de linienumre jeg har tilføjet): 1. Response.Write(Session("user_guid")) 2. IF Session("user_guid") <> "" then 3. set connTest = server.createobject("ADODB.connection") 4. conn.Open("DBQ=c:\minedatabase\portal.mdb;UID=; Driver={Microsoft Access Driver (*.mdb)};" ) 5. UserOnlineUPD_RS = "UPDATE users SET user_online=false where user_guid=" & Session("user_guid") 6. conn.execute( UserOnlineUPD_RS ) 7. end if
linie 1 tester at der rentfaktisk er noget i dit sessions object, og i det tilfælde udskrives det. Er det tilfældet udføres dit script, og du vil kunne se om der kommer en runtime error.
Glemte lige at nævne du skal checke hvad din session.timeout er - typisk er den 20 min, så du skal huske at der går 20 min +/- et par minutter fra du ikke benytter din session længere, til Session_OnEnd rent faktisk kaldes.
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.