12. marts 2004 - 10:51Der 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.
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å.
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 ...."
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?
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.
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?
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.
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
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.
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 :-)
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.