har letat lite efter ett script som listar alla medlemmar som är online på en idrottsklubbs hemsida ungefär som i ett community, men har inte hittat bågot så jag tänkte höra mig för här om det är någon som vet vart jag ska leta?
Annars har jag tänkt försöka mig på att skapa ett eget script för det men vet ej vilken metod man använder sig av...har man ett sant/falskt värde i en db som ändrar sig varje gång man loggar in/ut på sidan? hoppas på lite tips här.
Precis som du skriver är ett sant/falskt värde i en databas att föredra. Jag skulle lagra 1 för online och 0 för offline i ett fält i databasen. När någon loggar in, sätt fältets värde till 1. När någon loggar ut, sätt fältets värde till 0. Och kolla upp så att inloggade men inaktiva medlemmar inte listas.
Hur skulle det se ut i detta script om jag skapar en kollum i mdb som heter online?
<%
Function secure(txt)
txt = Replace(txt, "'", "''")
secure = txt
End Function
Session.TimeOut=120
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\webb\sat\db\admin.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
anvNamn = secure(Request.Form("anvnamn"))
losenord = secure(Request.Form("losenord"))
SQL = "SELECT niva FROM admin WHERE anvnamn='" & anvnamn & "' AND losenord='" & losenord &"'"
RecSet.Open SQL, Connect, 3, 3
If not RecSet.EOF Then
Session("niva") = RecSet("niva")
If RecSet("niva")="1" Then
strPage="joker1.asp"
elseIf RecSet("niva")="2" Then
strPage="joker2.asp"
elseIf RecSet("niva")="3" Then
strPage="joker3.asp"
elseIf RecSet("niva")="4" Then
strPage="koll.asp"
End If
' Här loggas IP när rätt lösenord och password angetts
SQL = "INSERT INTO iplogg([username],[ip],[loginstatus],[tid]) values ('"& anvnamn &"','"& Request.Servervariables("REMOTE_ADDR") &"','OK',#"& now() &"#)"
Connect.execute(SQL)
Response.Redirect strPage
else
' Här loggas IP när fel lösenrod och password angetts
query="INSERT INTO iplogg([username],[ip],[loginstatus],[tid]) values ('"& anvnamn &"','"& Request.Servervariables("REMOTE_ADDR") &"','Fail',#"& now() &"#)"
Connect.Execute(query)
end if
RecSet.Close : set recset = nothing
Connect.Close : set connect = nothing
Session("session") = "fel användarnamn eller lösenord"
Response.Redirect "index.asp"
%>
Tänk också på att det är poppulärt att ej logga ut från sidan utan många föredrar att bara gå vidare eller helt enkelt stänga fönstret...
Global.asa är till för detta men fungerar inge vidare bra.
Om användaren stänger sidan och Session_OnEnd (eller vad den nu hette?) inte körs så tror jag ändå att den proceduren kommer köras efter att maximum-tiden på sessioner är uppnåd... Sätt t.ex. max-tid till 30 minuter...
Lite idéer bara :)
256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2