Online Brugere

Tags:    php

<< < 123 > >>
Hey, jeg har det er bruger script, der funker helt fint.
Det Gemmer en session når du ligger ind, og så sletter den igen når du logger ud. Helt simpelt.
Men, nu vil jeg så gerne lave så man kan se hvem der er online.. Men jeg har VIRKELIG ingen anelse om hvordan F***** jeg skal lave det xD
Håber en kan hjælpe mig med dette :D



#Simon, ikke for noget, men, der er virkelig plat at komme med sådan en henvisning, den er lige så keglet som spørgsmålet, hvis du spørger mig (Og nej, jeg har ikke lyst til at starte en krig).

Til trådindehaveren, hvis du har problemer hvad med så at smide lidt kode op så vi kan edit lidt i det, så vi ved hvad vi har med at gøre.
Links til selve kilden kunne også gøre det :)



Det jeg hentydede til var, at første resultat på google er en artikel her fra udvikleren, som det måske kunne være en idé at læse.

Jeg ved da godt at jeg ikke altid selv kigger igennem artiklerne først, men lige netop det her findes der millioner af artikler på, og lige netop en her på udvikleren også ;)



At se hvem som er online er virkelig nemt.

I dit bruger system i databasen laver du en ekstra kolonne som hedder online

Når brugeren logger ind så ændrer du online til 1
Når brugeren logger ud ændrer du online til 0

Og så henter du bare alle brugernavnene fra bruger systemet i databasen hvor online er lig med 1 og så har du en liste over hvem som er online.



At se hvem som er online er virkelig nemt.

I dit bruger system i databasen laver du en ekstra kolonne som hedder online

Når brugeren logger ind så ændrer du online til 1
Når brugeren logger ud ændrer du online til 0

Og så henter du bare alle brugernavnene fra bruger systemet i databasen hvor online er lig med 1 og så har du en liste over hvem som er online.


Og hvordan ved man hvornår en bruger logger ud hvis brugeren ikke bruger "Log ud her" knappen/linket? :P



Kim:

Det er smart nok som du siger, men som Casper også siger, når en bruger ikke logger ud, passer det ikke længere ;)

I stedet kunne man lave et tidsstempel i en kolonne kaldet online, når en bruger så forespørger online brugere kan man sortere ud fra tidsstempler mindre end 10 min gamle f.eks.

Dette vil så dog kræve at man opdaterer dette tidsstempel hver gang brugeren laver noget som helst på siden, hvilket nok i længden er lidt tungt med trafik ;)



Casper Hansen.

Det man kan gøre er man laver en kolonne mere i databasen som eksempelvis hedder aktivitet_tid som bliver sat til det tidspunkt når du logger ind, og i toppen af hver fil bliver det tidspunkt opdateret, det smarte er så at man kan lave noget ekstra kode hvor man opdatere tiden der tjekker man også de andre brugers tidspunkter og så man kan sætte at hvis de andre brugers aktivitet_tid er mere end 2 timer gammel så opdaterer den deres online til 0, så kan man så selv bestemme hvor lang tid det skal være.



Casper Hansen.

Det man kan gøre er man laver en kolonne mere i databasen som eksempelvis hedder aktivitet_tid som bliver sat til det tidspunkt når du logger ind, og i toppen af hver fil bliver det tidspunkt opdateret, det smarte er så at man kan lave noget ekstra kode hvor man opdatere tiden der tjekker man også de andre brugers tidspunkter og så man kan sætte at hvis de andre brugers aktivitet_tid er mere end 2 timer gammel så opdaterer den deres online til 0, så kan man så selv bestemme hvor lang tid det skal være.


Lidt det samme som det jeg skrev, men igen er problemer at der nok er for meget database aktivitet...



En måde at gøre det på er at sætte et timestamp i en session når brugeren logger ind.

Når brugeren navigerer rundt på siden, har du et script som tjekker om det timestamp brugeren har er mere end 5-10 minutter gammelt. Hvis det er, betyder det at brugeren er inaktiv på siden og så sætter du hans online status (i databasen) til 0 eller hvilken værdi du nu bruger som offline.

Hvis hans timestamp ikke er 'for gammelt' opdaterer du hans timestamp.

Ved ikke om det hjalp på forvirringen? :o)



Indlæg senest redigeret d. 03.02.2010 21:04 af Bruger #15668
Simon Smith.

Det var meget morsomt vi havde samme ide til problemet :)



<< < 123 > >>
t