Online status af bruger

Tags:    php

Hej

Jeg har et problem med mit community. Jeg vil gerne kunne se hvilke brugere der er online. jeg har lavet et række i brugerns tabel der hedder online, og hvis den står på 1, så er de online. Når de logger ind så updater den til 1, og når de logger ud updater den til 0 igen.

Men, så er der jo et problem hvis de glemmer at logge ud, så vil de stadig stå som online. Jeg bruger sessions til at se om de er logget ind osv.

Kan jeg evt. sætte en session til at udløbe efter 20min, hvis de er inaktive og update til 0 i databasen, så de står som offline?

jeg har googlet problemet og funder nogle svar, men ikke noget jeg helt har kunne forstå.

Håber der er nogle der kan hjælpe.



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
1. Hver gang din bruger skifter side, skal du i databasen gemme tidspunktet det sker på.
2. Bagefter kan du så lave et udtræk for at finde ud af hvem der tilnærmelsesvis er online.

hjælp til selvhjælp:
1. $sql = 'UPDATE users SET lastactivity = '.time().' WHERE id = '.$id;

2. $sql = 'SELECT users WHERE lastactivity > '.time()-1800;

timeout = 1800 = 60sek x 30min;



Indlæg senest redigeret d. 29.10.2007 08:17 af Bruger #10216
<?
session_start();
chdir('layout/');
include 'settings/connect.php';
include 'settings/settings.php';

if(empty($_SESSION ['logget_in']))
{
header("Location: $side/settings/auto-tjek.php");
}
//Al din kode
?>

det har jeg på alle mine sider på www.webcommunity.dk



Jah :)

I stedet for online i din mysql tabel så brug et last active felt, også i det script hvor du skal vise hvem der online kan du bare selecte alle i tabellen hvor time()-20 minutter er mindre end deres last activity time.



Nå ja for satan :D den havde jeg ikke lige regnet ud :D

mange tak.



Du kan også lave en kode som checker om de er logget ind, på hver side.



Jamen le points sil vu plais :)



t