Hej. Håller på med en inloggning, och för att förhindra att flera kan vara inloggade samtidigt har jag lagt till ett fält i databasen som blir 1 eller 0. Inloggningen använder sessioner.
Så, eftersom jag vill att databasen skall ändras när sessionen går ut, så skulle jag behöva veta var man ska lägga sån kod. Och finns det någon sådan funktion överhuvudtaget?
Jag tipsar att du använder senast inloggad
Om man har varit inloggad mer än 1 (2, 3, 0.5.. du bestämmer) timmar så kommer inloggningen att markeras som "offline" och man måste logga in igen för att sätta om sin inloggning! På så vis så behöver du inte använda 1 eller 0. Bara om senaste inloggning är mer än 1 (tex) timma så är man offline!
Tja, nu är det ju inte det som är problemet, utan hur jag gör kod (alltså kod för att ändra i databasen) när sessionen "dör" efter 20 minuter eller vad det nu är för tidsgräns. Det finns nämligen någon sån här funktion i ASP. Där man kan skriva kod som skall köras varje gång en session automatiskt dör.
Det finns ingen motsvarighet till asp:s "Session_OnEnd" (som man förövrigt inte ska lite helt på.. det händer titt som tätt att koden aldrig körs!) i php. Enklaste sättet är att varje gång en användare klickar på en länk/uppdaterar en sida så sparas aktuell tidpunkt ner i ett fält i databasen. När sedan en annan besökare vill logga in så får en kontroll göras mot databasen att ingen användare varit aktiv inom de senaste X minutrarna.
267 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e