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); ?>
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
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`) )