Online/offline status

Tags:    php

Jeg har et loginsystem hvor jeg gerne vil kunne se online og offline status på mine brugere..

Altså på min brugerliste skal der enten stå om brugeren er online lige nu, eller hvornår brugeren sidst har været logget ind..

Jeg har følgene script der anvendes ved login:

<?php
session_start();

include("php/config.php");

$user = mysql_escape_string($_POST['user']);
$password = mysql_escape_string($_POST['password']);

if(!isset($user) || !isset($password))
{
header("location: login.php");
exit;
}
else
{
$result = mysql_query("SELECT password FROM users WHERE user = '".$user."' LIMIT 1") or die(mysql_error());

if(mysql_num_rows($result) == 1)
{
$r = mysql_fetch_array($result);

if($r['password'] == md5($password))
{
$_SESSION['user'] = $user;
$_SESSION['stamme'] = $r['stamme'];
header("location: index.php");
}
else
{
echo("Forkert brugernavn/kodeord indtastet! <a href='login.php'>Gå tilbage til login</a>");
exit;
}
}
else
{
echo "Forkert brugernavn/kodeord indtastet! <a href='login.php'>Gå tilbage til login</a>";
}
}

?>

Den skal helst automatisk sætte datoen for "sidst set online" også selvom brugeren ikke anvender logud knappen..

hvordan flækker man sådan noget sammen?



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Indsæt på alle sider lige efter den kode, der tjekker om man er logget ind:

Fold kodeboks ind/udKode 


Når du skal se om personen er online:

Fold kodeboks ind/udKode 




Jeg har et loginsystem hvor jeg gerne vil kunne se online og offline status på mine brugere..

Altså på min brugerliste skal der enten stå om brugeren er online lige nu, eller hvornår brugeren sidst har været logget ind..

Jeg har følgene script der anvendes ved login:

<?php
session_start();

include("php/config.php");

$user = mysql_escape_string($_POST['user']);
$password = mysql_escape_string($_POST['password']);

if(!isset($user) || !isset($password))
{
header("location: login.php");
exit;
}
else
{
$result = mysql_query("SELECT password FROM users WHERE user = '".$user."' LIMIT 1") or die(mysql_error());

if(mysql_num_rows($result) == 1)
{
$r = mysql_fetch_array($result);

if($r['password'] == md5($password))
{
$_SESSION['user'] = $user;
$_SESSION['stamme'] = $r['stamme'];
header("location: index.php");
}
else
{
echo("Forkert brugernavn/kodeord indtastet! <a href='login.php'>Gå tilbage til login</a>");
exit;
}
}
else
{
echo "Forkert brugernavn/kodeord indtastet! <a href='login.php'>Gå tilbage til login</a>";
}
}

?>

Den skal helst automatisk sætte datoen for "sidst set online" også selvom brugeren ikke anvender logud knappen..

hvordan flækker man sådan noget sammen?


du skal ved hver bruger tilføje et datofelt. Finden er bare, at hver gang din bruger udfører en handling på din side, så opdaterer du dette felt med tidsunktet for handlingen.
Når du så skal se om vedkommende er online eller offline, så skal du altså se hvad værdien i datofeltet er og sammenligne det med det tidsrum du tillader en person at være inaktiv før status betegnes som offline. Det kan være 5 minutter eller 2 timer.

Casper



Hmm kan du komme med et eksempel på noget kode??

Altså det jeg ikke har styr på er hvordan man laver det med at opdatere felt ved hver handling og samtidig ved jeg ikke hvordan man sætter et interval for hvor lang tid der må gå..




burde man ikke kunne bruge denne kode til at vise det så?

Fold kodeboks ind/udKode 


Den udskriver hele tiden: Sidst set: 01/01 1970 - 01:00:00



ja :)



ahh havde glemt at sætte min WHERE clause...

Den virker fint :) tak for hjælpen..



t