function check_user($remodeAddr, $strDate) {
		$result = mysql_query("SELECT COUNT(strIP), id FROM _COUNTER WHERE strIP = '{$remodeAddr}' AND strDate = '{$strDate}'");
		if($result) {
			$row = mysql_fetch_array($result);
			return ((int)$row[0] > 0 ? (int)$row[1] : 0);
			mysql_free_result($result);
		}
	}

	function counter() {
		$strDate	=	Date('Y-m-d');
		$strIP		=	$_SERVER['REMOTE_ADDR'];
	
		/* Saydırma ve ekleme işlemi */
		$ret_val = check_user($strIP, $strDate);
		if($ret_val == 0)
			$result = mysql_query("INSERT INTO _COUNTER (strDate, strIP) VALUES ('{$strDate}', '{$strIP}');");
		else
			$result = mysql_query("UPDATE _COUNTER SET iVisit = iVisit + 1 WHERE id = {$ret_val}");

		/* Sayaç bilgileri */
		$result = mysql_query("SELECT COUNT(strIP), SUM(iVisit) FROM _COUNTER WHERE strDate = '{$strDate}'");
		if($result) {
			$row = mysql_fetch_array($result);
			
			$iVisits	=	number_format((int)$row[0]);
			$iViews		=	number_format((int)$row[1]);
			
			return "Bugün içerisinde toplam {$iVisits} adet tekil, {$iViews} adet çoğul ziyaretçi mevcut.";
			
			mysql_free_result($result);
		}
	}

	echo counter(); // Sayaç bilgilerini ekrana yansıtıyor, ve saydırma işlemi yapıyor.
Sizin bu kod içerisinde tek yapmanız gereken, IP yerine REF bilgisi girmeniz.

$strIP		=	mysql_real_escape_string($_GET['ref']);
http://www.test.com/index.php?ref=Nero

şeklinde gelirse Nero refine saydırma yapacaktır, eğer siteye göre yapmak istiyorsanız.

if(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']))
$strIP		=	$_SERVER['HTTP_REFERER'];
else
return;
ayrıca _COUNTER tablosundaki strIP uzunluğunu değiştirmeniz gerekir.

buda tablo için mysql sorgusu
CREATE TABLE IF NOT EXISTS `_COUNTER` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `strDate` date NOT NULL,
  `strIP` varchar(16) NOT NULL,
  `iVisit` int(11) DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;