şu tabloyu oluştur;
CREATE TABLE IF NOT EXISTS `online` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`bitis` varchar(20) NOT NULL,
`ip` varchar(100) NOT NULL DEFAULT '',
`username` varchar(50) NOT NULL,
`userid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
sonra scriptine aşağıdaki kodları ekle;
//Online süre kontrol
if ($_SESSION['username'])
{
$sure_kontrol = @mysql_fetch_array(mysql_query("SELECT COUNT(id) AS kayit FROM online WHERE bitis <" . time()));
if ($sure_kontrol['kayit'] == 0)
{
mysql_query("UPDATE online SET bitis = '" . (time() + 300) ."' WHERE username = '" . $_SESSION['username'] . "'");
}
}
$online = @mysql_fetch_array(mysql_query("SELECT COUNT(id) as toplam FROM online"));
echo 'Online Üye Sayısı: ' . $online['toplam'];Bu sistem, gerçek online kullanıcı alma sistemidir online ziyaretçi değil.
$_SESSION['username'] değişkeninin yerine kendi üyelik sisteminin üye adı sessionu yada cookiesini ekleyeceksin.ör;
$_SESSION['username'] yada
$_COOKIE['username'] her neyse
.
ve son olarak üye login oldugunda sessionun yada cookiesinin kaydedildiği yere
$kontrol = @mysql_fetch_array(mysql_query("SELECT * FROM online WHERE username = '" . $sessiona_keydedilecek_username . "'"));
if ($kontrol < 1)
{
mysql_query("INSERT INTO online (bitis, ip, username, userid) VALUES('" . (time() + 300) ."', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $sessiona_keydedilecek_username . "', '{$userid}')");
}ekleyeceksin. Yani üye login oldugu zaman üye adı sessionunun kaydedildiği zaman bu sorgu çalışacak online tablosuna üyenin giriş yapıldıgını belirten kayıdı ekleyecek.