Online timer

Tags:    php

Hej.
Jeg har et community, men det eneste der mangler er et simpelt tidsystem, som tæller hvor mange online timer en bruger har været online i communityet. Nogle der kan lave det?..
Skriv endelig :)..

Mvh. Ramu
http://www.Ramu.dk



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hay Rasmus...
Det er sådan set rimlig nemt!
Jeg regner med du bruger sessions?
Men alting skal jo starte et sted :D

1 Del
Først laver du på din forside et usynligt <iframe> ligesom vist:

<iframe src="onlinetid.php" name="onlinetid" height="0" width="0"></iframe>


Derpå skal der noget javascript der opdaterer siden...
Et eks. vist her:

<script type='text/javascript'>

function updateSide()
{

document.getElementById('onlinetid').src='http://Siden med iframet.php';
setTimeout('updateSide();',60000);
}

updateSide()

</script>

NB! husk og ret "Siden med iframet.php" !!!


Så skal vi have lavet "onlinetid.php", den kan se således ud:

<?PHP

session_start();
include("DIN CONNECTER!");
$brugernavn = $_SESSION["navn som gemmer brugernavnet"];

if($_SESSION["logged_in"] == TRUE)
{

mysql_query("UPDATE users SET onlinetid=onlindtid+1 WHERE = '$brugernavn'") or die (mysql_error());

}

?>


Så er det jo bare at hente dem på din side fra tabellen... Men hov? Det kommer jo til at være i minutter! Vis du vil have den i timer, skal du igang med et regnestykke :D EKS:

$query = mysql_query("SELECT * FROM users WHERE brugernavn = '$brugernavn'") or die (mysql_error());

while($r = mysql_fetch_array($query))
{

$onlinetid = $r[onlinetid];

$udregning = $onlinetid / 60;
$timer = floor($udregning);
$minutter = ($udregning - $timer) * 60;

echo "$brugernavn har været online i $timer time(r) og $minutter minut(ter)";



Håber du kan bruge det ;)




Tror du ikke jeg må få din MSN, hvis du har?..




t