Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:36 Der er 13 kommentarer og
2 løsninger

Vis online brugere!

Jeg har fået bixet mig et brugersystem sammen som registrerer bruger vedhjælp af sessions

Og det funker også helt optimalt =))..

Nå men så vil jeg da gerne også kunne se hvilke brugere der er online altså der er aktive lige præcis på det tidspunkt som jeg nu også er der inde!

PS: Mine sessions variabler er med et loginnavn og et password!

Håber i forstår spørgsmålet! ...
og jeg er da villig til at smide et par flere point i spørgsmålet!
Avatar billede tolleboy Nybegynder
27. december 2001 - 18:38 #1
bruger du cookies???
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:38 #2
Håber på et link til en forklaring!..

Jeg aner ikk rigtig hvordan jeg skal gribe mig an!
Avatar billede wizprod.com Nybegynder
27. december 2001 - 18:39 #3
tolleboy, hmmm cookies? i en session?

Martin, prøv hellere at lære sesseion-id\'et i en mysqldb og lav en mysql_num_rows på den
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:39 #4
Nej jeg bruger ikke cookies ... men serverens sessions (serveren ligger på min egen maskine så jeg har 100% fuld adgang til alt)
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:40 #5
Wizprod -> Æhhh ? .... session_id\'et ?
Avatar billede wizprod.com Nybegynder
27. december 2001 - 18:40 #6
lagre mente jeg ...
Avatar billede barefoot Nybegynder
27. december 2001 - 18:43 #7
Du siger at du bruger sessions.
Altså har du koden session_start() i toppen af alle filer ikke?
Mit eksempel er med mysql.
Lad os sige at du har registreret en session variabel som heder $brugernavn.

I toppen af dine filer(efter session_start()) sætter du fælgende kode ind eller includer den.

if($brugernavn){
  $query = \'INSERT INTO online_brugere (brugernavn, last_move, link) VALUES(\"\'.$brugernavn.\'\", \'.time().\')\';
}


Sådan henter du online brugere:

$query = \'SELECT FROM online_brugere WHERE last_move > \'.time()-60*10;
/* henter alt hvor brugeren har været aktiv indenfor de sidste 10 minutter*/
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:45 #8
Wizprod -> altså <?=SID?> ?
Avatar billede barefoot Nybegynder
27. december 2001 - 18:47 #9
martin100ben => du bruger den metode jeg lige har vist dig sammen med session id\'et.
Altså $session_id = session_id();
Og så indsætter du den i en anden kolonne...
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:48 #10
barefoot -> ahhh okei ...

også lige lave et cronjob som sletter alle dem der fx er mere end 30 min gamle fra databasen (så den ikk fylder FOR meget ;O)
Avatar billede barefoot Nybegynder
27. december 2001 - 18:52 #11
ja lige præcis:)

Hvis du er rigtig smart giver du kolonne session_id i databasen egenskabe UNIQUE()
Så kan du skrive \'REPLACE INTO online_brugere (brugernavn, last_move, session_id, link) VALUES(\"barefoot\", et_tal, \"et lang session iud\", \"linket til den side brugeren befinder sig på\")\';

Så slipper du for først at skulle tjekke om der allerede eksisterer en session id magen til den du er ved at indsætte og du slipper for at lave en UPDATE for at ændre last_move til den nye tid...
Avatar billede martin1000ben Nybegynder
27. december 2001 - 18:53 #12
Barefoot -> Jeg vil prøve din mulighed ... jeg vender tilbage på et tidspunkt PS. der kan godt gå sin tid da der også er så meget andet der skal laves ... men hvis det virker så skal du selvfølgelig have din point =)
Avatar billede barefoot Nybegynder
27. december 2001 - 18:55 #13
jotak, jeg går ingen steder, borset fra ud og lege med sne:)
Avatar billede wizprod.com Nybegynder
28. december 2001 - 13:26 #14
Istedet for et cronjob,ville jeg lave en where klausul med WHERE DATE_SUB(NOW(), INTERVAL 30 MINUTES) > felt, det trækker så de sidste ting. Så har man også en log!
Avatar billede martin1000ben Nybegynder
30. december 2001 - 23:56 #15
Nu har jeg fået lavet det system ... og jeg kan sige jeg har brugt noget fra et andet spørgsmål her på eksperten (som egentlig ikk har en DYT med dette spørgsmål at gøre) ... men jeg ka ikk huske hvilket :O/ men nu kan i slås om pointene men jeg deler lige over!
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