Avatar billede dm-bm Nybegynder
25. juni 2004 - 23:04 Der er 15 kommentarer og
1 løsning

Online liste

Jeg har fået lavet mig en lille tekst chat i PHP. Jeg har fået lavet nogle session variabler. Det virker også ganske fint med at logge ind og at den gemmer det, viser hvem der har skrevet de forskellige beskeder osv osv. Mit problem er så, hvordan kan jeg lave en liste over hvem der er online ud fra en session variabel? Og hvordan kan jeg evt. lave så der i chatten står hvem der logger på? Kan det overhovedet lade sig gøre at vise data fra andres sessions? (Ja, jeg er helt ny inden for dette område, men har prøvet så godt jeg kunne at læse om det.)
Jeg har prøvet at søge på diverse ting og sager, men synes ikke jeg kan finde frem til noget ang. netop det jeg efterspørger.
Avatar billede phpwiz Nybegynder
25. juni 2004 - 23:15 #1
sjovt med dette spørgsmål, jeg sidder selv og roder med en lille text chat, jeg har gjort det på den måde, at når man kommer ind på chatten, så spørger den efter et brugernavn, når det er indtastet, så gemmer den navnet + div andre ting i en db,

så kan du jo bare udskrive de navne der er i db'en.

når brugeren lukker vinduet så kører jeg et javascript som loader en php side, som så sletter brugeren fra db'en, og smider den over i en history db hvor jeg kan se hvor længe brugerne er online m.m.
Avatar billede googolplex Novice
25. juni 2004 - 23:20 #2
Måske du kan bruge dette, det er dog noget tid siden jeg har kigget det igennem, så jeg er ikke sikker:

http://udvikleren.dk/article.php?aid=148&techid=6
Avatar billede dm-bm Nybegynder
25. juni 2004 - 23:21 #3
Heh ja... men i min chat skal de være registreret på forhånd og så bliver navnet automatisk brugt i chatten. Men så er det så at jeg skal have lavet en liste over dem der har startet en session variabel eller noget... jeg er godt nok lidt lost der.
Avatar billede jaw Nybegynder
25. juni 2004 - 23:27 #4
ahv har lavet en fin artikel (som jeg selvf. bare ikke lige kan finde :( ) - der lidt modificeret vist kan bruges...
Avatar billede jaw Nybegynder
25. juni 2004 - 23:28 #5
Avatar billede jaw Nybegynder
25. juni 2004 - 23:37 #6
Nu ved jeg ikke hvor meget i ved om det - men tilføj et felt der hedder brugernavn (type: text/varchar).

I queryen der indsætter i databasen, tilføjes så $_SESSION['brugernavn'] hvis det er hvad session'en hedder. :)

For så at lave selve onlinelisten, kan så bruges:
"SELECT nick FROM tele2_online WHERE nick != ''
Avatar billede jaw Nybegynder
25. juni 2004 - 23:37 #7
tele2_online skal selvf. bare være online :)
Avatar billede phpwiz Nybegynder
25. juni 2004 - 23:39 #8
jaw : du skal så lige huske at hvis brugeren lukker chatten, så vil han stadig så som online... det skal der også lige tages højde for .
Avatar billede jaw Nybegynder
25. juni 2004 - 23:40 #9
Ja, det vil han i 5 minutter, det er korrekt...
Avatar billede jaw Nybegynder
25. juni 2004 - 23:43 #10
Men eftersom det er en chat, som jeg vil tro opdaterer rimelig ofte, kan UPDATE-queryen jo inkluderes i selve chatten, hvorfor tiden på de 5 minutter kan sættes betydeligt ned...

Mit forslag er også bygget på at jeg læste den artikel forleden dag, og synes at den faktisk er ret god...
Avatar billede dm-bm Nybegynder
25. juni 2004 - 23:44 #11
Ja, jeg kan nu godt lave så navnet bare ryger ind i en database når man logger ind, men det skal også være så navnet ryger ud af online databasen når de lukker vinduet, logger ud eller hvad de gør.
For kunne jeg bare gøre så de ryger i en database og så automatisk bliver slettet hvis de lukker vinduet, ville det være ok. Men der ville jeg hellere have at de forsvandt fra online listen når en session ikke blev holdt i live. (online listen opdaterer hver 10. sekund.) Eller noget i den stil. Jeg er bare en n00b på det område, men forestiller mig det skal være noget i den stil.
Avatar billede dm-bm Nybegynder
25. juni 2004 - 23:47 #12
<?php echo $_SESSION['online']; ?>
Men så kan jeg jo bare se at jeg selv er online.
Avatar billede thorus Nybegynder
29. juni 2004 - 14:48 #13
http://www.phpuniverset.dk/show_source.phtml?script_id=8

også laver du har en select fra db'en som counter antal :)
Avatar billede dm-bm Nybegynder
09. august 2004 - 12:16 #14
Kom med nogle svar Jaw og thorus.. jeg har strikket det sammen af lidt af hvert :)
Avatar billede dm-bm Nybegynder
08. september 2004 - 14:01 #15
Nå, men lukker spørgsmålet når i nu ikke vil have jeres point. Kan jo ikke vente evigt :D
Avatar billede jaw Nybegynder
01. november 2004 - 08:10 #16
Nej, det er forståeligt... Har været ude af landet i 3½ måned, så det er ikke fordi jeg "ikke vil have"... :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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