Finns det något bra sätt att kolla om en medlem varit online 1 ex 40 minuter och om man varit det ska man bli utloggad. Detta ska hända när man loggar in.
Har en kod som inte funkar som jag vill men vill se vad ni ger för exempel.
Värdet man har när man e inloggad är status=2 och ej inloggad status=1
Status? Är det inte bättre med en boolean-kolumn för det ändamålet?
Dim inloggad
inloggad=request.cookies("logintime")
if datediff("n",inloggad,time) > 40 then
'Under 40 min, uppdatera ngn databas eller cookie eller ngt
else
'Över 40 min, logga ut snubben, eller ngt annat
response.redirect "utloggad.asp"
end if
Om man lagrar inloggningstiden i en databas kan man ju när besökaren byter sida uppdatera det värdet om han fortfarande är inloggad (är ju enklast med session)
Gissar du har en medlems-databas också. Du kan ju lägga in ett fält "last_login" eller nåt som uppdateras endast när medlemmen loggar in ;)
mm, eller så har du ett fält i databasen NOW, sen har du ett fält status. så varje gång du besöker en sida så uppdaterar du din egen tid, sen kolla igenom databasen ifall det finns några som vart innaktiva på cirka 20 minuter så ändrar du status till 2 på dem
eller om du har en online lista till höger på sidan som listar allla som e online helatiden vart än man e på sidan så kan du sätta en auto update på sidan att den reloadar om var 5:e minut, så får du färsk onlinelista, samt att du förblir inloggad tills du kryssar webläsaren då nån annan flaggar av dej som offline efter 20min
user = session("username")
SQL = "SELECT * FROM members WHERE username='"&user&"'"
RS.Open SQL, Conn, 3, 3
RS("senastnow") = now
RS.update
RS.close
SQL2 = "SELECT * FROM members"
RS.Open SQL2, Conn, 3, 3
Do Until RS.EOF
If RS("status") = "online" AND DateDiff("n", RS("senastnow"), Now) > 20 Then
RS("status") = "offline"
RS.Update
End If
RS.MoveNext
Loop
RS.close
Conn.close
249 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2