Avatar billede jens_k Nybegynder
19. februar 2003 - 13:29 Der er 10 kommentarer og
1 løsning

Online brugere, og hvem ?

Hej

Jeg har et login system på min hjemmeside, når brugerne logger ind, så gemmer den en session med deres BrugerID, man har så mulighed for at tilføje sine venner til en bodyliste. Når man åbner sin bodyliste skal den vise hvem der er online, og hvem der ikke er.

Hvordan får jeg det fikset ?

Der skal være en timeout på 1 min, så folk der går online ikke er "online" 20 min efter de er smuttet.

Er dette forståeligt ?

Jens K
Avatar billede longshanks Nybegynder
19. februar 2003 - 13:32 #1
Hver gang man lukker og genåbner sin browser eller, sessionen "timer out", får man tildelt et nyt Sessionsid.Så hvis du gemmer sessionsid´et kan du ikke bruge det til noget, idet du ikke kan identificere individer ud fra det.....
Avatar billede longshanks Nybegynder
19. februar 2003 - 13:34 #2
Du kan imidlertid lade folk logge ind , og skrive til en application variabel.... F.eks. en lang streng med logind navnene på alle der er online. Dette kræver dog noget arbejde i global.asa filen osv...... Jeg tror dette er den eneste mulighed.... Lytter med hvis andre har bedre forslag......:)
Avatar billede eagleeye Praktikant
19. februar 2003 - 13:51 #3
Du kan ikke umiddelbart tjekke på hvor der er online da session variablen er unik for hver bruger, og ens session kan ikke ses af andre brugere.

Der er to muligheder som jeg lige ser det.

1. Tilføje en status til databasen om man er online eller offline, denne status skal så opdateres når man logger ind og ud. Problmmet end logud er at Session_OnEnd event er lidt ustabilt.

2. Som longshanks skriver du kan gemme ID på de brugere som er online i Application variablen som kan ses af alle sessions. Den bruges på samme måde som session eks. Application("nogether") = "hej" Igen skal du så når folk logger ind og ud gemme status i Application variablen. Det medføre de samme problemmer som med database løsningen da Session_OnEnd ikke virker så stabilt.

Til databasen løsningen kan man lave et felt som indeholder tiden for hvornår man sidste har været aktiv på siden. Det vil så sige hver gang en side loades skal tiden i databasen så opdateres for den bruger. Men så kan man tjekke på ved at kigge på tidspunktet for hvornår en bruger sidst har været "aktiv" og dermed afgøre om han er online eller offline.
Avatar billede jens_k Nybegynder
19. februar 2003 - 14:22 #4
På hjemmesiden www.xplayn.com har de f.eks en "Bodylist" hvor man kan tilføje folk, når folk er online, så kan man også se hvor henne på hjemmesiden de er.

Jeg kan let lave det med at den skriver i databasen hvornår de sidst var aktiv.

Men hvordan laver jeg med den Application ? Kan i ikke et komme med noget kode ?

Jens K
Avatar billede jens_k Nybegynder
19. februar 2003 - 16:48 #5
Nu er jeg kommet lidt videre.

Jeg har et felt i databasen som hedder (LastLogin). som f.eks indeholder "19-02-2003 16:44:14"

Hvis jeg nu vil hente alle dem som er 1 min under "now()"

HVad skal jeg så skrive i min SQL streng ?

Jens K
Avatar billede oasen Nybegynder
19. februar 2003 - 17:54 #6
Select Brugernavn From Tabel Where LastLogin < #" & DateAdd("s", -60, Now) & "#
Avatar billede oasen Nybegynder
19. februar 2003 - 17:58 #7
Du kan så evt. have en lille iframe til at stå og opdatere brugerens sidste login, f.eks. hvert minut. Det gør, at en bruger vil stå som online, blot han/hun ER på siden.
Men på den anden side set, lyder det om, du vil undgå dette, set ud fra din korte timeout.
Avatar billede oasen Nybegynder
19. februar 2003 - 18:00 #8
Fik du det til at virke? http://www.eksperten.dk/spm/318854
Avatar billede jens_k Nybegynder
19. februar 2003 - 19:00 #9
Har ikke kunne få det andet spm til at virke, men skal rode noget mere med det. Lad os nu holde det inde ved det andet spm så vi ikke roder tingene sammen :)

Jens K
Avatar billede oasen Nybegynder
19. februar 2003 - 20:01 #10
Det skulle også mere betragtes som et vink med en vognstang...
Avatar billede hossein Nybegynder
19. februar 2003 - 21:04 #11
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester