JacobMedlem sedan dec. 2000503 inlägg Sub Session_OnEnd()
'del 1
Application.Lock
Application("NumSession") = Application("NumSession") - 1
Application.Unlock
'del2
If Len(Trim(Session("userid") & "")) <> 0 Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "temp"
Set datum = conn.execute("SELECT dag FROM score WHERE (userid = "&session("userid")&") AND (dag = CONVERT(char,getdate(),112))")
If datum.eof Then
conn.execute("INSERT INTO score (userid, dag) VALUES("&session("userid")&",CONVERT(char,getdate(),112))")
End If
datum.close
Set datum = Nothing
conn.execute("UPDATE score SET tid=tid+"&round(DateDiff("s", cDate(session("kom")), now)/60)&" WHERE userid="&session("userid")&" AND dag=CONVERT(char,getdate(),112)")
conn.close
Set conn = Nothing
End If
End Sub
Den första delen om applications körs men inte den andra, varför? Koden fungerar utanför global.asa.
@ndersMedlem sedan juni 200032 969 inlägg Jag skulle gissa på att sessionerna i sig har tappat sina värden iom onend, och det enda du har tillgång till är Session.SessionID.
Mvh,
JacobMedlem sedan dec. 2000503 inlägg Ok, hur gör man för att lösa det här da. Det jag vill är att användarens onlinetid ska sparas i databasen.
@ndersMedlem sedan juni 200032 969 inlägg Du får väl spara ner sessionsid till databasen också och använda det som nyckel i session_onend.
Mvh,
Alla SessionVariabler skall finnas kvar i Session_OnEnd
@ndersMedlem sedan juni 200032 969 inlägg Jo, det borde ju helt klart vara så, och det verkar också vara så.
Jag kan nog inte förstå då, varför det inte fungerar...
Mvh,
jarvkloMedlem sedan juli 20013 378 inlägg Hmm...
Hur har du dina rättigheter uppsatta för IIS ?
Med vissa inställningar på din IIS kan just Session_OnEnd köras med från ett annat UserID än dina "vanliga" sidor...
Vilket kan ge problem att komma åt t.ex. databaskoppel
Kolla http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q243828
eller sök på t.ex. google efter "Session_OnEnd bug"
pepparMedlem sedan dec. 2001873 inlägg Oj då, fel knapp, redigerar bort... :)