Class: a.
PHP
<?PHP
class UsersOnline {
/* Database Bağlantı Ayarları */
var $host = 'localhost';
var $database = 'test';
var $user = '';
var $password = '';
var $timeoutSeconds = 120;
var $numberOfUsers = 0;
function UsersOnline() {
$this->refresh();
}
function getNumber() {
return $this->numberOfUsers;
}
function printNumber() {
if($this->numberOfUsers == 1) {
echo "$this->numberOfUsers User online";
} else {
echo "$this->numberOfUsers Users online";
}
}
function refresh() {
global $oturum, $PHP_SELF;
$currentTime = time();
$timeout = $currentTime - $this->timeoutSeconds;
mysql_connect($this->host, $this->user, $this->password)
or die('Error conecting to database');
mysql_select_db($this->database);
mysql_query("INSERT INTO usersonline VALUES ('$currentTime','$oturum[id]','$PHP_SELF')")
or die('Error writing to database');
mysql_query("DELETE FROM usersonline WHERE timestamp < $timeout")
or die('Error deleting from database');
$result = mysql_query("SELECT DISTINCT oturum FROM usersonline")
or die('Error reading from database');
$this->numberOfUsers = mysql_num_rows($result);
mysql_close();
}
}
?>
Örnek
PHP b.
PHP
<?PHP
include('a.PHP');
session_start();
session_register($oturum);
$oturum[id] = session_id();
$ol = new UsersOnline();
$ol->printNumber();
?>
Database Yapısı:
Alıntı:
CREATE TABLE usersonline ( timestamp int(15) DEFAULT '0' NOT NULL, oturum varchar(40) NOT NULL,
file varchar(100) NOT NULL,
INDEX (timestamp),
INDEX oturum(oturum),
INDEX file(file));
|
Kullanmak isteyen arkadaşlara ufak bir hizmet...
Kullanacağınız zaman forumda bana bir özel msg atarasanız sevinirim...
Herkese iyi çalışmalar...