"PanicAttack" <PanicAttack.news@kandu.dk> writes:
> Jeg har lavet et login system på en hjemmeside,
> jeg ønsker at have en liste over bruger som er
> logget in på siden, lige nu.
> Hvordan kan jeg få at vide hvornår en bruger
> forlader siden ???
Kort svar: Det kan du ikke. Du ved ikke om jeg bare lukker min
browser.
Det afhænger naturligvis af hvad du mener med "forlader siden". Er det
kun en side eller er der flere?
> Systemet er lavet i PHP, men jeg fik at vide at
> det måske kunne lade sig gøre i Java!
Næppe bedre. Det eneste du skal sikre er at folk logger ud før de
skifter websted. Hvis de ikke kan fås til at gøre det manuelt, så må
du enten løbe an på timeouts (log dem selv ud hvis de ikke har bedt om
en ny side inden for fem minutter eller sådan noget) eller forsøge at
detecte at de logger ud. Det sidste er som sagt ikke sikkert.
Du kan bruge onUnload-eventen til at rapportere at personen forlader
en side (hent et 1x1 gifbillede eller sådan noget fra scriptet, det er
bare for at sende en rapport til webserveren). Man kan så logge manden
ud hvis han ikke henter en ny side lige efter (altså hvis han ikke bare
skiftede side inden for webstedet).
Jeg tror ikke onUnload bliver kørt hvis man bare lukker browseren, og
jeg har selv slået onUnload scripts fra med Proximitron, så det virker
i hvert fald ikke for mig.
Du kan også nøjes med at tilføje en "logud"-effekt til alle eksterne
links, e.g. <a href="
http://etandetsted/" onClick="logud();true">. Det
hjælper ikke hvis brugeren bare lukker vinduet eller bruger et
bogmærke.
Husk altid at tage højde for at man kan have flere vinduer til dit
websted samtidigt, og at lukke et af dem skal ikke logge hvis et andet
vindue stadig er logget ind.
> Al data bliver gemt i en Text-fil !
Hvis du bruger php er det svært at få ting kørt med fem-minutters
mellemrum, så du bliver nødt til at tjekke timeouts i forbindelse med
et andet php-script.
Held og lykke
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'