Arşivimde sürekli bulundurduğum işime yarayan güzel bir kod buyur; İlk olarak sql içe aktar CREATE TABLE `online` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`timestamp` int(15) NOT NULL DEFAULT '0',
`ip` varchar(40) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`file` varchar(100) COLLATE latin1_general_ci NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `ip` (`ip`),
KEY `file` (`file`),
KEY `timestamp` (`timestamp`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;
Ardından baglanti.php adında bir config dosyası oluştur içerisine MySQL bilgilerini yaz kaydet.
<?
$db_host = "localhost";
$db_user = "";
$db_pass = "";
$db_name = "";
$connect = @mysql_connect($db_host,$db_user,$db_pass);
$db = mysql_select_db($db_name,$connect);
if (!$connect) {
echo ("noconnection");
exit();
}
?>
online.php adında bir php dosyası oluştur ve içerisine şunları yaz
<?php
include('baglanti.php');
//Fetch Time
$timestamp = time();
$timeout = $timestamp - 180;
//Insert User
$insert = mysql_query("INSERT INTO online (timestamp, ip, file) VALUES('$timestamp','".$_SERVER['REMOTE_ADDR']."','".$_SERVER[PHP_SELF].'?'.$_SERVER[QUERY_STRING]."')") or die("Error in who's online insert query!");
//Delete Users
$delete = mysql_query("DELETE FROM online WHERE timestamp<$timeout") or die("Error in who's online delete query!");
//Fetch Users Online
$result = mysql_query("SELECT DISTINCT ip FROM online") or die("Error in who's online result query!");
$users = mysql_num_rows($result);
//Show Who's Online
if($users == 1) {
print("Online $users\n");
} else {
print("Online $users\n");
}
?>
Son olarak hepsini ftp ana dizine at ve bu kodu online userlerin gösterileceği yere yaz (Genel olarak sitenin Footer bölümüne yazılır.)
<span>Online Uye Sayimiz: <b><?php include('online.php');?></b></span>