Bir çok sitede ziyaretçi sayaçlarını görürüz bunları yapmak genel de kolaydır. Fakat bazen öle uzun kodlarla karşılarız ki kafalar karışır o zamanda.. Bu online ziyaretçi yapma işi de bazen kafa karıştırır. Fakat size kısa kodlarla nasıl yapılacağını şip şak göstermeye çalışacağım gayet de temiz bilgiler sunmayı düşünüyorum.
Sizin içinde iyi bir teşvik olmuştur umarım… Hemen dersimizie geçelim….
1)Phpmyadmin ile online_ziyaretci diye bir tablo oluşturalım.
2)id,ip,tarih alanlarından oluşssun….
<?php
function sayac() {
$ip =$_SERVER['REMOTE_ADDR'];
//Siteye ziyaret edenin IP'sini al
$zaman =time();
//Şu anki zamanı öğrenmemizi sağlar ve saniye cinsindendir
$sure_siniri=$zaman-60*5;
//Burada zaman 300sanitye 5 dk lik bir limit koyuyoruz ve 5 dk süre ile sitede herhangi bir işlem yapmadıysa online kısmında düşmek için bunu kullanacağız. Yani Onlie olayı 5 dk içindeki aktifliğine göre ayarlanıyor.
//Süre sınırı ile ilgi sql cümleciği
$sure_miktari= mysql_query("DELETE FROM online_ziyaretci WHERE tarih<'$sure_siniri'");
//Burada online olmayanları tablodan siliyor.
$ipsorgu=mysql_query("SELECT * FROM online_ziyaretci WHERE ip='$ip'");
//ip'li kullanıcı daha öncede sitede varmıydı diye sorgu gonderiyoruz.
$ipline =mysql_num_rows($ipsorgu);
if($ipline==0)//Eğer yok ise siteme kayıt ediyoruz.
{
$gir="INSERT INTO online_ziyaretci VALUES ('','$ip','$zaman')";
$girsor=mysql_query($gir);
}
else //Sistemde var ise tekrar girmeye gerek yoktur. Sadece zamanı güncellemek yeterlidir.
{
$guncelle=mysql_query("UPDATE online_ziyaretci SET tarih='$zaman' WHERE ip='$ip'");
}
$kac =mysql_query("SELECT id FROM online_ziyaretci");
//Sistemdeki toplam online ziyaretci sayını
$online_ziyaretci_sayisi=mysql_num_rows($kac);
//öğrenemk için mysql_num_rows() sayesinde sayısını da alarak
echo 'Web sitemizde '.$online_ziyaretci_sayisi.' online ziyaretci bulunmaktatır.';
//Ekrana bu şekilde online ziyaretci sayısını göstermiş olduk.
}
?>
Sayaç fonksiyonumuz bu şekilde oluşturmuş olduk.
Sayfamızı sayac.php şeklinde kaydeder ve tüm sayfalara include edersek sayacımız sağlıklı bir şekilde çalışacaktır.
Hasan Huseyin İŞLER
Lise yıllarında programlama ile tanışan ve Q-Basic, Pascal, C başlangıç seviyesinde öğrenenir. Üniversite de TEF-BSÖ okurken diğer dillerin yanı sıra PHP'de kendini geliştirmeye devam ederek bunların yanında CSS, JS ve Wordpress sistemiyle ilgilenir. www.phpsorunu.com'un da yöneticisi ve yazarlarındandır.
Bu arada arkadaşlar tablonun yapısını vermeyi unutmuşum. Onu da buraya ekliyeyim dedim.
[sql]
CREATE TABLE `online_ziyaretci` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(50) NOT NULL,
`tarih` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
[/sql]
Hayırlı kullanımlar…
Sanrım baglantı kurmuyor v.s ekrana herhangi birşey yazdırmıyor boş dönüyor..