Avatar billede tzag_dk Nybegynder
12. marts 2004 - 10:51 Der er 11 kommentarer og
4 løsninger

Online liste for kvinder og mænd

Hej

Nu har jeg forsøgt at finde ud af hvordan en online liste den fungere, men uden held :-(

Den skal vise billede og brugernavn i listen.
Jeg har en iframe med brugerens session("id"), som der opdater hvert 30. sek.
Så jeg tænkte på man via den iframe kan sikre sig at der ikke går fx. 20 min før at brugerens session udløber.

På forhånd tak!
// Rene
Avatar billede fennec Nybegynder
12. marts 2004 - 10:59 #1
Session.Timeout = 2
så udløber session efter 2 min.
Avatar billede tzag_dk Nybegynder
12. marts 2004 - 11:13 #2
Ok... men det kommer jeg ikke meget vidre med.
Som jeg skrev i mit spm, så fatter jeg ikke lige det med online liste :-)

// Rene
Avatar billede fennec Nybegynder
12. marts 2004 - 11:30 #3
Du har altså en liste mad alle de sessions der kører i øjeblikket. Du skal så have en database hvor sessionID'et bliver knyttet sammen med en bruger. Dette bliver sat når man logger på.

"OnlineUsers"
sessionID  UserID
880771221  22
855651323  23
xxxxxxxxx  24

I din Iframe kan du så selecte de brugere som er på.
"select user.name from OnlineUsersleft join user on OnlineUsers.userid=user.id where sessionID=xxx or sessionId=xxx or...."
du skal bygge din where op for at få alle sessionID=xxx med. Når du har selected alle online brugere sletter du alle som ikke er online længre.
"delete from OnlineUsers where sessionId<>xxx and sessionID<>xxx ...."
Avatar billede tzag_dk Nybegynder
12. marts 2004 - 11:42 #4
Den er jeg ikke lige med på :-)
I iframen er det kun den enkeltes session("id") der er.
Er det ikke også usikkert at lagere online users i db?
Er man så sikker på at en bruger ER online og ikke offline?

// Rene
Avatar billede fennec Nybegynder
12. marts 2004 - 12:07 #5
Så er din første opgave at få skaffet alle aktive sessions. Det ved jeg ikke lige hvordan man gør, men mon ikke det kan findes her på E.
Jeg tror ikke du kan undvære en database, og med henhold til om man er online eller ej, er der altid en margine hvor brugeren ikke er online. Det kan du kun undgå helt ved at sende data frem og tilbage hvert sek.
Avatar billede -sofus- Nybegynder
12. marts 2004 - 17:50 #6
Jeg har et felt som hedder Lastlogin, og hver gang man klikker rundt på siden, så updater den feltet.

Online listen er så bare dem som har lastlogin inden for f.eks 1 min
Avatar billede tzag_dk Nybegynder
14. marts 2004 - 13:32 #7
Jeg tænkte på om man ikke kunne lave sådan at man laver listen ud fra sessionID, så at der kommer en liste med alle de online brugernavne.
Og hvis en session har været inaktiv i fx 5 min, så bliver man vist som offline.
Det skal ikke være session timeout, da brugeren ikke skal logges af efter 5 min.

Tror I ikke at det er muligt at lave på denne måde?

Jeg ved ikke helt hvordan det skal løses, men efter at have tænkt lidt over det, syntes jeg at det vil være den bedste løsning, men det ved jeg ikke... Hvad syntes I?

// Rene
Avatar billede fennec Nybegynder
15. marts 2004 - 08:08 #8
hvis du vil gøre det på den måde skulle du måske overveje at bruge application i stedet for session, da session kun kan læses af den enkelte klient, mens application kan læses af alle klienter.
Avatar billede tzag_dk Nybegynder
15. marts 2004 - 09:32 #9
fennec >> Kan du evt komme med et eksempel på det?
Bare så at jeg kan komme vidre. Jeg har kikket lidt på det her, og tror at det er det som jeg skal bruge, men jeg kan ikke lige se hvordan at lister brugerne med deres brugernavne.
http://activedeveloper.dk/artikler/default.asp?articleid=172

// Rene
Avatar billede fennec Nybegynder
15. marts 2004 - 10:16 #10
Jeg har desværre ikke et link, men det er lidt smart, det de gør på den side du linker til, men koden er svær at gennemskue.

Prøv at bruge det som det er, så kan du udskrive antal aktive med Application("ActiveUsers") og alle brugers session med Application("ActiveUserList"). Du kan så senere ændre de steder hvor der står Session.SessionID til session("UserName"), eller hvad den session nu hedder hvor du gemmer brugerens navn, for at gemme navnet istedet.

du skal nok ændre intActiveUserTimeout = 20 til noget mindre så der ikke skal gå 20 min før de bliver slettet.
Avatar billede tzag_dk Nybegynder
07. april 2004 - 15:54 #11
Hej igen, undskyld at jeg ikke har været her, men jeg har ikke kunne få det til at virke.
Så fennec, hvis du lige vil ligge et svar så at du kan få nogle point for din hjælp :-)

// Rene
Avatar billede fennec Nybegynder
07. april 2004 - 15:55 #12
ok.
og god påske...
Avatar billede tzag_dk Nybegynder
07. april 2004 - 16:45 #13
Tak og i lige måde :-)
Avatar billede tzag_dk Nybegynder
07. maj 2004 - 16:56 #14
fennec >> Kan du ikke også lægge et svar for din indsats?

Jeg brugte -sofus-´s forslag, og det virker super :-)
Avatar billede fennec Nybegynder
10. maj 2004 - 08:08 #15
ok...
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