Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
3732
Tıklama
0
Öne Çıkarma
Php ile kendine özgün sayaç yapımı
H
17 yıl
Binbaşı
Konu Sahibi

Sql i oluşturun ve sayac.php de bağlantı ayarlarını yaptıktansonra local de veya internette ilgili bölümde çalıştırmanız yeterlidir.


SQL
CREATE TABLE IF NOT EXISTS `ip_sayac` ( 
`sayacid` int(15) unsigned NOT NULL auto_increment,
`tarih` date NOT NULL default '0000-00-00',
`cogul` int(10) NOT NULL default '0',
`ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`sayacid`)
)




CREATE TABLE IF NOT EXISTS `ip_sayac2` (
`sayacid` int(15) unsigned NOT NULL auto_increment,
`toplamtekil` int(10) NOT NULL default '0',
`toplamcogul` int(10) NOT NULL default '0',
PRIMARY KEY (`sayacid`)
)


CREATE TABLE IF NOT EXISTS `online` (
`zaman` datetime NOT NULL default '0000-00-00 00:00:00',
`ip` char(15) NOT NULL default '',
PRIMARY KEY (`zaman`),
KEY `ip` (`ip`)
)



sayac.php

<? 
@mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
@mysql_select_db("sayac");
?>

<?php
$gun = 0; //Ka Gn ncesine Ait Kaytlar Silinsin...
$uye_ip = getenv("REMOTE_ADDR");
$buguntarih = date('Y-m-d');
$tiklama = isset($_SESSION['tiklama'])? $_SESSION['tiklama']:'';

$kayitsorgu = mysql_query("SELECT COUNT(*) FROM ip_sayac WHERE tarih='$buguntarih' AND ip='$uye_ip'");
list($satir_sayisi) = mysql_fetch_row($kayitsorgu);

//LK KEZ GR YAPILIYORSA IP NUMARASINI KAYDET VE TEKL-COGUL SAYACI 1 ARTIR
if ($satir_sayisi == 0)
{
$ip_kayit = mysql_query("INSERT INTO ip_sayac (tarih, ip, cogul) VALUES ('$buguntarih','$uye_ip', 1)");
$sayac_artir = mysql_query("UPDATE ip_sayac2 SET toplamtekil=toplamtekil+1, toplamcogul=toplamcogul+1 WHERE sayacid=1 LIMIT 1");

//EER DAHA NCE GRMSE VE AYRI BR OTURUM AIYORSA OUL SAYACI 1 ARTIR
} else {
if (@$_SESSION['tiklama'] < 1)
{
$cogul_sayac1 = mysql_query("UPDATE ip_sayac SET cogul=cogul+1 WHERE tarih='$buguntarih'");
$cogul_sayac2 = mysql_query("UPDATE ip_sayac2 SET toplamcogul=toplamcogul+1 WHERE sayacid=1 LIMIT 1");
}
}

//GNLK TEKL VE OUL ZYARET SAYISINI ALMA
$bugun = mysql_query("SELECT COUNT(ip) AS ttoplam, SUM(cogul) AS ctoplam FROM ip_sayac WHERE tarih='$buguntarih'");
$bugun_veri = mysql_fetch_object($bugun);
$bugun_tekil = $bugun_veri->ttoplam;
$bugun_cogul = $bugun_veri->ctoplam;

//TOPLAM TEKL VE OUL ZYARET SAYISINI ALMA
$toplam = mysql_query("SELECT toplamtekil,toplamcogul FROM ip_sayac2 WHERE sayacid=1 LIMIT 1");
$toplam_veri = mysql_fetch_object($toplam);
$toplam_tekil = $toplam_veri->toplamtekil;
$toplam_cogul = $toplam_veri->toplamcogul;

//DNK TEKL VE OUL ZYARET SAYISINI ALMA
$dun = mysql_query("SELECT COUNT(ip) AS dttoplam, SUM(cogul) AS dctoplam FROM ip_sayac WHERE tarih = DATE_SUB('$buguntarih', INTERVAL 1 DAY)");
$dun_veri = mysql_fetch_object($dun);
$dun_tekil = $dun_veri->dttoplam;
$dun_cogul = $dun_veri->dctoplam;
if (!$dun_cogul) $dun_cogul = 0;

//ESK KAYITLARI SLME
if ($gun > 0)
{
$eski_kayit_sil = mysql_query("DELETE FROM ip_sayac WHERE tarih <= DATE_SUB('$buguntarih', INTERVAL $gun DAY)");
}
//OTURUMA KAYIT
$_SESSION['tiklama'] = 1;

$ip = getenv("REMOTE_ADDR");
$sure = 10; //Dakika İçinde Sayfayı Güncellemeyen Üyeleri Sil
//IP Numarasının Olup Olmadığı Kontrol Ediliyor
$ip_kontrol = mysql_query("SELECT COUNT(*) FROM online WHERE ip='$ip'");
list($ip_var) = mysql_fetch_row($ip_kontrol);

if ($ip_var > 0)
{
//IP Numarası Varsa Zamanı Güncelliyoruz
$ip_guncelle = mysql_query("UPDATE online SET zaman=Now() WHERE ip='$ip'");
} else {
//IP Numarası Yoksa Ekliyoruz
$ip_kaydet = mysql_query("INSERT INTO online (zaman,ip) VALUES (Now(),'$ip')");
}
//Güncelleme Yapmayan Üyeler Siliniyor
$sil = mysql_query("DELETE FROM online WHERE zaman < DATE_SUB(NOW(), INTERVAL $sure MINUTE)");
//Online Sayısını Alıyoruz
$sayi = mysql_query("SELECT COUNT(*) FROM online");
list($online_sayisi) = mysql_fetch_row($sayi);
?>


<?=$online_sayisi?><br>
<?=$bugun_tekil?><br />
<?=$toplam_tekil?><br />
<?=$toplam_cogul?><br />
<?=$bugun_cogul?><br />
<?=$dun_cogul?><br />
<?=$ip?>

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



B
14 yıl
Er

Sql i oluşturulmuyor hata veriyor
HATA:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `ip_sayac2` ( `sayacid` int(15) unsigned NOT NULL ' at line 12


Bu mesaja 1 cevap geldi.
S
11 yıl
Er

Tabloları şu şekilde tek tek oluştur

CREATE TABLE IF NOT EXISTS `ip_sayac` (
`sayacid` int(15) unsigned NOT NULL auto_increment,
`tarih` date NOT NULL default '0000-00-00',
`cogul` int(10) NOT NULL default '0',
`ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`sayacid`)
)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.