Jag vill på en sida kunna presentera användare som är online med namn. Jag har därför gjort så att när de loggar in sätts en variabel i ett Recordset till "yes": Varför inte blanda in lite javascript? Ja, när man loggar ut ändras den. Det är när tex. webläsaren stängs som den hänger kvar. Då presenteras användaren som online fast han inte är det. >> <b>Varför inte blanda in lite javascript?</b> Det har du helt rätt i. När jag tänker efter så finns det egentligen mycket enklare sätt att kolla om någon är utloggad genom att använda VBS. (Fast jag har inte fått det att fungera, men det BORDE vara enklare :o)) Ja, som svar på mitt eget påsående har jag gjort en kontroll för det. Den kollar om värdet är satt till 1 för inloggad. Är det 1 så skickas man vidare till en sida som talar om att man har loggat ut "fel", samt att man får logga ut på "riktigt". Sedan loggar man in normalt igen.Presentera användare som är online
Rs("Online") = "yes"
Rs.Update
För att lista inloggade användare gör jag följande:
<%
SQL = "Select * From Users WHERE Online = yes order by fullname"
rs.Open SQL, Connection, adOpenStatic, adLockOptimistic
%>
Inloggade användare:
<%Do Until Rs.EOF%>
<%=Rs("fullname")%>
<%rs.MoveNext
Loop%>
När användarna loggar ut ser det ut så här:
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
Session.Abandon
Rs("Online") = "no"
Rs.Update
rs.Close
Connection.Close
Allting fungerar fint, de presenteras med namn när de är online, databasen uppdateras rätt när de loggar på/av.
Problemet kommer när de avslutar sessionen mot servern utan att logga ut. Som att tex. stänga webläsaren. Då ligger variabeln att de är online kvar i databasen. Hur ska jag göra för att den ska sättas till "no" när sessionen avslutas?
Jag är inne på att man får trixa till det med Global.asa och Sub Session_OnEnd, men då uppstår ett annat problem...
Hur vet man vilken variabel som ska tas bort? Då måste man ju styra det när användaren skapar en session mot servern, men det är ju ointressant eftersom jag vill veta vem som är inloggad.
Nu verkar det lite virrigt, men om ni inte förstår vad jag menar så säg till så ska jag försöka förklara bättre.
Tack på förhand/Magnus
Som tillägg kan jag meddela att jag fick ändra från textvariabel till numerisk variabel eftersom alla presenterades som online vare sig det stod yes eller no i variabeln. Nu kör jag med 1 eller 0 och det fungerar bättre.Sv: Presentera användare som är online
onUnload tex, där kan du skickas till en sida (popup ev.) som kollar om man har loggat ut, om man inte har det så gör den det åt en, sedan stängs sidan automatiskt.Sv: Presentera användare som är online
Sv: Presentera användare som är online
> <b>Det är ju en variant. Ska kolla på det. Tackar! </b>
Att blanda in JavaScript för funktionen på en site kan vara riktigt farligt. Ca 10% kör med JavaScript avslaget i sina Webbläsare.
En site bör ha hela sin funktion fungerande utan JavaScript. JavaScript ska mer ses som "grädde på moset" för de som använder det.Sv: Presentera användare som är online
Sv: Presentera användare som är online