• 28-04-2013, 11:46:01
    #1
    Merhabalar böyle bir istatistik Sayacım Var Fakat Her Sayfayı Yenilediğimde
    Şu an sitede, Bugün Artıyor Artmasını istemiyorum ve buna bağlı olarak da Bu Ay Ve Toplamda Artıyor Acaba Sorunu Nasıl Çözebilirim Yardımlarınız için teşekkür ederim şimdiden


    <?php
    
    
    	$bugunn= gmdate("Y-m-d", time() +2*$timezone);
    
    	$blocked_ips=('66.249.64.0');	// GOOGLE ve BAZI IP LERI SAYMA
    	$default_ip_mask = '255.255.224.0';
    
    	$block_ip = '66.249.64.0';
    
    	// SAYAÇ
    
    
    
    	$id2 = $_COOKIE["id2"];
    
    
    
    	$time2=time() +2*$timezone;
    
    
    
    	$ip2=$_SERVER['REMOTE_ADDR'];
    
    
    
    	$ag2 = $_SERVER["HTTP_USER_AGENT"] ;
    
    
    
    	$tld = substr($_SERVER['HTTP_HOST'], -4, 4); 
    
    
    
    
    
    
    
    	//$mip2 = maskele($ip2,$default_ip_mask);
    
    
    
    	
    
    
    
    //if( (!$id2) && ( $mip2!=$block_ip ) )
    
    
    
    //if( (!$id2) && ( !in_array($mip2,$blocked_ips) ) )
    
    
    
    if (!$id2)
    
    
    
    {
    
    
    
    
    
    
    
    	$id2 = md5(uniqid(time()));
    
    
    
    	setcookie("id2",$id2,time()+2);
    
    
    
    	
    
    
    
    	mysql_query("INSERT INTO sayac_oturum(ip,oturum,zaman,mip,agent,tld) VALUES('$ip2','$id2','$time2','$mip2','$ag2','$tld')", $connect) or die("Hata : ".mysql_error());
    
    
    
    	mysql_query("INSERT INTO sayac_online(oturum,zaman) VALUES('$id2','$time2')", $connect) or die("Hata : ".mysql_error());
    
    
    
    
    
    
    
    	$date_a= gmdate("Y-m-d", $time2);
    
    
    
    	$date_ay= gmdate("m", $time2);
    
    
    
    	$date_yil= gmdate("Y", $time2);
    
    
    
    	
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_gun ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	
    
    
    
    	if($date_a!=$sonuc[gun]){
    
    
    
    	
    
    
    
    	$ayy=explode("-",$sonuc[gun]);
    
    
    
    	
    
    
    
    	if(intval($ayy[1])!=intval($date_ay)){
    
    
    
    	mysql_query("INSERT INTO sayac_ay(gun,buay,toplam) VALUES('$date_a',0,('$sonuc[toplam]'))", $connect) or die("Hata : ".mysql_error());
    
    
    
    	mysql_query("INSERT INTO sayac_gun(gun,bugun,buay,toplam) VALUES('$date_a',0,0,('$sonuc[toplam]'))", $connect) or die("Hata : ".mysql_error());
    
    
    
    	}else{
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_ay ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_ay SET gun='$date_a' WHERE id=$sonuc[id]", $connect) or die("Hata : ".mysql_error());
    
    
    
    	mysql_query("INSERT INTO sayac_gun(gun,bugun,buay,toplam) VALUES('$date_a',0,('$sonuc[buay]'),('$sonuc[toplam]'))", $connect) or die("Hata : ".mysql_error());
    
    
    
    	}
    
    
    
    
    
    
    
    	if(intval($ayy[0])!=intval($date_yil)){
    
    
    
    	mysql_query("INSERT INTO sayac_yil(gun,toplam) VALUES('$date_a',('$sonuc[toplam]'))", $connect) or die("Hata : ".mysql_error());
    
    
    
    	}else{
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_yil ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_yil SET gun='$date_a' WHERE id=$sonuc[id]", $connect) or die("Hata : ".mysql_error());
    
    
    
    	}
    
    
    
    	
    
    
    
    	}
    
    
    
    
    
    
    
    	$sorgu = mysql_query("SELECT id FROM sayac_gun ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_gun SET bugun=bugun+1 , buay=buay+1 , toplam=toplam+1 WHERE id=$sonuc[id]", $connect) or die("Hata : ".mysql_error());
    
    
    
    
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_ay ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_ay SET buay=buay+1 , toplam=toplam+1 WHERE id=$sonuc[id]", $connect) or die("Hata : ".mysql_error());
    
    
    
    
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_yil ORDER BY gun DESC ", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_yil SET toplam=toplam+1 WHERE id=$sonuc[id]", $connect) or die("Hata : ".mysql_error());
    
    
    
    
    
    
    
    }
    
    
    
    
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_online WHERE oturum='$id2'", $connect) or die("Hata : ".mysql_error());
    
    
    
    	if(mysql_num_rows($sorgu)>0){
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu);
    
    
    
    	mysql_query("UPDATE sayac_online SET zaman=$time2 WHERE oturum='$id2'", $connect) or die("Hata : ".mysql_error());
    
    
    
    	
    
    
    
    	}
    
    
    
    	
    
    
    
    	mysql_query("DELETE FROM sayac_online WHERE zaman<$time2-600", $connect) or die("Hata : ".mysql_error());
    
    
    
    
    
    
    
    
    
    	echo'<table width="100%">';
    
    
    
    
    
    	echo'';	
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_online", $connect) or die("Hata : ".mysql_error());	
    
    
    
    	
    
    
    
    	echo'<tr><td width="80%" >
    		<font color="#202728">Şu an sitede</font></td>
    <td align="right"  style="padding-right:20px"><b>'.mysql_num_rows($sorgu).'</b></td>
    </tr>	';	
    
    
    
    	
    
    
    
    	$sorgu = mysql_query("SELECT * FROM sayac_gun ORDER BY gun DESC", $connect) or die("Hata : ".mysql_error());
    
    
    
    	$sonuc = mysql_fetch_assoc($sorgu); 
    
    
    
    
    
    
    
    	$bugun_ziyaretci = $sonuc[bugun];	
    
    
    
    
    
    
    
    	echo'<tr><td width="80%" >
    
    		Bugün</td><td align="right"  style="padding-right:20px"><b>'.number_format($sonuc[bugun],0,'.','.').'</b></td></tr>	';	
    
    
    
    	echo'<tr><td width="80%" >
    
    		Buay</td><td align="right"  style="padding-right:20px"><b>'.number_format($sonuc[buay],0,'.','.').'</b></td></tr>	';	
    
    
    
    	echo'<tr><td width="80%" > Toplam</td>
    
    <td align="right"  style="padding-right:20px"><b>'.number_format($sonuc[toplam],0,'.','.').'</b></td></tr>	';	
    
    
    
    	echo'<tr><td  colspan="2" height="25" valign="middle" align="center">
    
    	
    
    <br/>( Online ziyaret son 10 dk içerisinde siteye girenleri kapsamaktadır. )</td></tr>';	
    
    
    
    	echo'';	
    
    
    
    	echo'</table>';
    
    
    
    
    
    ?>
  • 29-04-2013, 03:42:29
    #2
    setcookie("id2",$id2,time()+2);

    Oluşturduğunuz çerezin ömrü 2 saniye
  • 29-04-2013, 12:02:24
    #3
    Peki Kaç Yapmalıyım Acaba Onu?
  • 29-04-2013, 12:13:13
    #4
    edward adlı üyeden alıntı: mesajı görüntüle
    Peki Kaç Yapmalıyım Acaba Onu?
    Eğer sadece aynı gün içinde aynı ip'den yapılan girişler tek sayılsın istiyorsanız bir gün içerisindeki toplam saniye sayısını yazacaksınız.

    setcookie("id2", $id2, time()+86400);
    Ancak şöyle bir durum var, kodlarınız ne kadar sağlıklı ben kestiremedim. Siz mi yazdınız bilmiyorum ama bazı değişkenlere karşılık gelen değerleri göremedim. Bunlardan bir tanesi $timezone isimli değişken. Mesela kodların başlangıcında şöyle bir satır var:

    $bugunn= gmdate("Y-m-d", time() +2*$timezone);
    Burada bulunan $timezone nereden gelmektedir? Hangi değeri taşımaktadır. 2 çarpımından ne elde edilecek de time() ile dönen sayıya eklenecek vesaire. Bu sadece ilk satırdaki sorunlar. Diğer satırları saymıyorum bile, kodlar çok berbat.
  • 29-04-2013, 19:23:24
    #5
    Teşekkür Ederim.

    Kodları Buldum ben yazmadım . bildiğiniz varmı düzgün sayaç kodu acaba? yada düzelte bilirmisiniz ?