Skulle vilja veta mer om hur en sån onlinetabell, som LAMP och Erik Juhlin fungerar skrivit om i denna tråd, fungerar i detalj.
Jag har gjort så att när användaren loggar in så sparas "1" i ett fält som heter intStatus, om man inte är online så är intStatus en nolla: "0". Men jag antar att jag måste byta detta system om jag ändrar till en onlinetabell? Vilken är då den smartaste lösningen?
aha :)
det håller jag inte med om :)
global.asa har alltid fungerat för mig...
men man måste inse att global.asa låter inte sessionen ta slut förrän 30 min efter senaste gången man gjorde nånting aktivt på servern (eller den session.timeout man har satt).
Vill man vara nitisk, så kan man om användaren inte loggar ut, ha ett lite script när han stänger ner fönstret som gör att en liten popup kommer upp som dödar sessionen och sen stängs - detta är jävligt fult dock och jag tror på att fixa koda ordentligt så ska global.asa funka utan några problem (har nog haft 10 olika webbhotell och aldrig haft problem med den).
Kanske det är smart att köra med en onlinetabell för att ta reda på hur länge folk är online och sedan sätta dem offline mha global.asa. Vad tror du om det, Jymdis? :D
Jo, men med onlinetabellen så ger jag ju inte 20 gratisminuter till folk som bara låter sidan vara öppen. Aja, får se hur det blir. Skulle vilja veta mer om global.asa's pålitlighet innan några såna beslut tas.
Gör ett test på servern - sätt timeouten till 5 min å kolla upp d.. inte så svårt.. Kan du säkert köra nån sorts statistik på eller nåt..
I vilket fall som helst - 20 gratisminuter får du nog leva med - eller rättare sagt - du kan ju ställa ner session.timeouten men det är ju en avvägning mellan hur länge en användare ska kunna läsa en text exempelvis utan att bli utloggad eller som du säger, hur länge användaren ska kunna vara inloggad utan att göra nåt.
helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.
helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.
Jag lägger till ett fält som heter t.ex. strLatestAction som jag uppdaterar med now() på varje sida. Sedan skulle man kolla om folk var online genom att kolla i databasen efter senaste action, lägga på 10 min på det och kolla om den tiden varit.
Vad tror ni om det? *Hoppas denna lösning är lika bra i vaket tillstånd* :D
helt ärligt - nu när jag läser LAMPs inlägg på en annan sida så är det jävligt mycket som ska göras varje gång en användare laddar en sida - inte bara ett par sql kommandon.. jag kan lätt säga att jag skulle inte kodat så.
Vad är det mer som ska göras, än något sql-kommando extra?
Det är inte servern som håller reda på det, utan det är du och dina SQL-frågor. Istället för att fråga ett Applicationobjekt vilka som är online så ställer du en fråga mot en tabell och frågar "Vilka har varit aktiva de senaste 10 minutrarna?".