webForumDet fria alternativet
Logga in / Bli medlem

Utloggning

ASP

1 svar · 165 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Trådstart#1

Halloj,
Jag får inte detta att funka:

Jag vill kontrollera hur länge medlemmarna på min site har varit online, genom att använda inloggning och utloggning. Vid inloggningen ska ett fält ändras till online, och ett annat fält ska uppdateras till vid vilken tid han loggade in. Med global.asa vill jag sedan sätta online till nej, och kontrollera hur länge han var online.

login::
-----------
Session("usrID") = objRS("id")
Session("usrName") = objRS("name")
			
sSQL = "UPDATE users SET online = 'Ja', online_nu = '" & Now & "' WHERE nickname = '" & objRS("name") & "'"
objC.Execute(sSQL)

global.asa::
-----------
Sub Session_onEnd
set objC = Server.CreateObject("ADODB.Connection")
objC.Open "DSN=dsnen"
	
sSQL = "SELECT online_nu, online_tid FROM users WHERE name = '" & Session("name") & "'"
set objRS = objC.Execute(sSQL)
	
if Not objRS.EOF then
minutes = getMinutes(objRS("online_nu"))
sSQL = "UPDATE users SET online_tid = '" & cInt(objRS("online_tid")) + minutes & "', online = 'Nej' WHERE nickname = '" & Session("name") & "'"
objC.Execute(sSQL)
end if
	
objRS.Close
objC.Close
set objRS = Nothing
set objC = Nothing
	
End Sub

Jag får inga felmeddelanden eller något... Kan det bero på att jag i Session_onend kallar på Sessionen med namnet, den kanske är tom?

Hoppas nån kan hjälpa mig fort :)

[redigerat]
Jag har en funktion i global.asa, utanför någon sub. Kan det bero på det?[/redigerat]

Medlem sedan dec. 200012 464 inlägg
#2

Vid login så gör du

Session("usrName") = objRS("name")

Sen vid session_onEnd så använder du
session("name") och inte session("usrName").


sSQL = "SELECT online_nu, online_tid FROM users WHERE name = '" & Session("name") & "'"
269 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)