CREATE TABLE user_online (
ip char(15) NOT NULL,
expire int(10) unsigned DEFAULT '0' NOT NULL,
KEY ip (ip)
);
<?php
function user_online() {
$HOST = "localhost";
$ID = "root";
$PW = "";
$DB = "test";
$table = "user_online";
$period = 600; // in seconds
$REMOTE_ADDR = getenv("REMOTE_ADDR");
// MySQL Connect
$conn_id = mysql_connect($HOST,$ID,$PW);
mysql_select_db($DB,$conn_id);
mysql_query("DELETE FROM ".$table." WHERE expire < ".time()."");
mysql_query("UPDATE ".$table." SET expire = '".(time()+$period)."' WHERE ip='".$REMOTE_ADDR."'");
if(!mysql_affected_rows()) {
mysql_query("INSERT INTO ".$table." (ip,expire) VALUES ('$REMOTE_ADDR','".(time()+$period)."')");
}
$result = mysql_query("SELECT count(*) FROM ".$table);
return mysql_result($result,0);
}
echo user_online();
?>