Sitede kaç kişi online tespiti?
4
●9.355
- 20-05-2015, 19:07:51Merhaba arkadaşlar. Sitemde o an kaç kişi online öğrenmek istiyorum. Hatta kimler hangi sayfada öğrenmek istiyorum ve bu verileri kullanmak istiyorum. Analyticsten açıp bakabiliyorum ancak o verileri kullanıcılara gösteremiyorum o yüzden işime yaramıyor. Whos gibi hazır siteler de kullanmak istiyorum. Php ile bunu kendim nasıl yapabilirim?
- 20-05-2015, 19:30:08Üyeliği durdurulduArş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>