Yazar GİRİŞİ

Son eklenen makale ve haberler

  Programlama » PHP

php ile ziyaretçi sayacı



php ile ziyaretçi sayacı bir çok forumda sıkıntı olmuş bir konudur.Ancak her nedense,kullanıcılar yazılan scriptlerin uzun olması ve açıklayıcı olmaması nedeniyle,ziyaretçi sayaçlarını anlamazlar.

Ben şimdi size bu konuyu bir bir açıklayarak çok basit olduğunu anlatmaya çalışacağım.Şimdi ilk olarak yapacağımız işlem şu.Phpmyadmin'ininizi açın ve online isminde bir tablo oluşturun.Daha sonra tabloyu oluşturduktan sonra.id,ip,tarih olmak üzere 3 alan açın,dikkat etmeniz gereken tarih alanını int yapın.

Tamamdır ilk işlemimiz bitti.Şimdi aşağıdaki fonksiyonu,web sitenizin tüm sayfalarına include edin,Bakın dikkat,tüm sayfalarda olması gerekecek,sağlıklı yöntem budur.fonksiyon şeklinde vereceğim için,include etmeniz yeterli.Kod saglıklı bir şekilde sayfalarınıza girip çıkan ziyaretçiyi sayacaktır.




<?php
function sayac() {

$ip=$_SERVER['REMOTE_ADDR'];
$time=time();
$limit=$time-60*5;
$kota= mysql_query("DELETE FROM online WHERE tarih<'$limit'");

$ipsorgu=mysql_query("select*from online where ip='$ip'");
$ipline=mysql_num_rows($ipsorgu);

if($ipline==0) {

$gir="insert into online values ('','$ip','$time')";
$girsor=mysql_query($gir);

}
else {
$update=mysql_query("update online set tarih='$time' where ip='$ip'");

}

$kac=mysql_query("select id from online");
$kacline=mysql_num_rows($kac);

echo 'su an sitede '.$kacline.' ziyaretci bulunmakta';

}

?>




Şimdi açıklamaya çalışalım kodumuzu;

$ip=$_SERVER['REMOTE_ADDR']; bu komut ile ;sayfaya giren kişinin ip adresi alınır.(ip ne demek onu biliyorsunuz sanırım).

$time=time();
bu komut ile sayfaya giren kişinin o anda ki zamanı alınır.(saniye cinsindendir),$limit=$time-60*5; bu komut ile 5 dakkalık bir kota(limit) belirliyoruz.eğer ziyaretçi hiç bir linke 5 dakka boyunca tıklamazsa bu limit ile onu online tablomuzdan atmamız gerekecektir.

İşte limiti belirledikten sonra delete komutumuzu yazalım.O da şöyle; $kota= mysql_query("DELETE FROM online WHERE tarih<'$limit'"); evet ziyaretçi 5 dakka boyunca hiç bir değişiklik yapmazsa bu yöntemle tablodan sildik.

Şimdi gelelim ziyaretci sayfamıza girerse onu online tabloya eklemeye; ilk önce sorgu yapıyoruz;online tablomuzda ip alanımız ne durumda.$ipsorgu=mysql_query("select*from online where ip='$ip'");
$ipline=mysql_num_rows($ipsorgu);

Daha sonra if($ipline==0) { eğer oline tabloda sayfaya giren kişinin ip adresi hiç yoksa; $gir="insert into online values ('','$ip','$time')";

$girsor=mysql_query($gir); onu online tablosuna ip ve tarihini olmak üzere kaydet diyoruz.Eğer ki online tabloda aynı ip hala varsa yani sitemde ise ve sürekli linklere tıklıyor delete olmuyorsa (yani online ise) ; $update=mysql_query("update online set tarih='$time' where ip='$ip'"); onun ip sindeki zaman bilgisini şu ana göre güncelle.İşte bu kadar arkadaşlar.

Daha sonra ise; $kac=mysql_query("select id from online");
$kacline=mysql_num_rows($kac); online tabloda herhangi bir alanı saydırarak kaç kişi varmış sitede;

echo 'su an sitede '.$kacline.' ziyaretci bulunmakta'; şu şekilde baskılayarak öğrenebiliyoruz.

Sağlıcakla


deathisonitsway 28.01.2008

co.mments  del.icio.us  digg  Furl  NewsVine  Reddit  Spurl  TailRank  Wists   



Rating : 10 üzerinden 7.94
 



Tümünü Göster / Sadece Başlıklar Yorumlar

deathisonitsway kulp takın hadi
saygı deger bazı kendini bilmiş coderler yuzunden,basit mantıkla hazırlanmıs php session ile şifreli sayfalar yapmak konusunu cevizden kaldırıyorum...kaldı ki,makaleyi rezil yontemle camur atcaklarına,yanlıs olan tarafı eleştirmelerini bir tarafa bırakmıslar...işte en rezil yöntemde budur zaten....kaldı ki makalenin eleştirilcek hiç bir tarafı da yoktu...hadi bakalım bu makaleye de bir kulp bulun...yanlıs deyin...calısmaz bu deyin...atış serbesttir...
 
hey hey çalışmıyor
atıyorum ben bunu çalışmıyor.yanlış bu.
 
deathisonitsway evet evet
evet evet calısmıyor,ama her ne hikmetse aynı kod benim sitemde canavar gibi calısıyor.tek bir virgulu bile değişik değil...tamamen aynı kod he ne hikmetse benim sitemde tum ziyaretcileri sayıyor..hayret dogrusu.
 
yunus sayac
gercekten cok yararlı bir uygulama tesekkur ederim
 
kimisi çalışıyor kimisi çalışmıyor dior denemdim ne desem yalan olur ama önemli olan paylaşmaktır denemekten zarar gelmes zaten bu işi böle öğrenmedikmmi??
 
deathisonitsway script çalışıyor
arkadaşlar script çalışıyor...bakmayın siz bazı insanlara...sırf inat olsun diye yapıyorlar bunu...script denenmiştir ve oyle ceviz.net e konulmuştur...her sayfanıza upload edin.script sitenizde çalışacaktır...cunku aynı scripti ben calıstırıyorum.

sevgi ve dua ile
 
robenn teşekkürler
Makale için teşekkürler. Gayet açıklayıcı olmuş. Bu makale üzerinden üyeleri ve ziyaretçileri kontrol eden sayaç hazırladım. Ziyaretçi ip noları yerine session_id leri ile kayıt tutsam sorun çıkarır veya güvenlik riski oluşturur mu?
 
okan php ile iletişim ve yazı gönderme formu nasıl yapılır
php ile şiteme iletişim ve yazı gönderme formu nasıl yapılır.Bilgilendirirseniz memnun olurum.
okan
 
okan php ile iletişim ve yazı gönderme formu nasıl yapılır
Fontpage ile site yaptım. Fakat sitemin iletişim ve yazı ve resim gönderme formları çalışmıyor. PHP İLE İletişim, yazı ve resim gönderme formları nasıl yapılır, bilgilendirirseniz memnun olurum ..Okan
 
CiZiK Emeğe Saygı
deathisonitsway önceki makaleni görmedim ve merak ettim doğrusu. Bu tarz eleştirileri önlemek için bir üyelik sistemi getirilmeli bence. Yani üyeler yorum yapsın diye. Bu makaleye gelince eline sağlık, çalışmalarının devamını dilerim ;)

(o makale elindeyse bana mail atarsan çok sevinirim)
 
eXceed Emeğe Saygılı Olalım
Arkadaşlar bir kod kolay kolay ortaya çıkmıyor, bir kodu oluşturmak için zaman harcanıyor, insanlar saatlerce düşünerek yeni yöntemlerle birşeyler ortaya çıkarıyor yani emek veriliyor hiç olmazsa buna saygılı olun, copy paste cilere diycek birşeyim yok zaten o adam emek harcamamıştır üstüne daha iyi bir kod bulup yorum yapmak kolay gelir, çalışıyo çalışmıyor.. Acaba o kodun yazılırken hangi mantıkla yazıldığını biliyormu???
 
pasadagli kafa basmayınca
deathisonitsway,ya benim anlayamadıgım niye $limit te eksi koyuyoruz,bir turlu sorguda bunu koymayı anlıyamıyorum,bunun mantıgı ne?
 
serpil teşekkürler
teşekkürler,bilgisayar programlama 1.sınıf öğrencisiyim,iyi ve gerçekten teknik bir anlatım olmuş,kodu çok rahatlıkla kullanabiliyorum.emeğinize sağlık.
 
nikimikediyedi emeğine sağlık
sen bakma bazı gereksizlere..sen yolunda devam et üstad..hatırlarsan arama örneğini okuyup pm atmıştım buda bir o kadar dehşet bir anlatım olmuş.o kadar çok php anlatım okuyorum.senin gibi anlatanı görmedim diyebilirim.öğretmen olacak adamsın!teşekkürler
 
ismim dikkat edin
veri tabanına bağlanıması gerektiğini atlamışssınız..biride çalıştıramıyorum dıyorsa özür dilerim unutmuşum diceksin dalga geçmiceksin gerizekalı.
 
nikyok deathisonitswayi taşlayanları protesto ediyorum
bazı densizler görüyorum aramızda,db bağlantısını niye içine koymadın diye,arkadasım db bağlantısı zaten web sayfalarında ahireten include edilir,bu fonksiyonun icine niye adam mysql baglantısı koysun,ne alıp veremediğiniz var sizin deathisonitsway den,biraz emeğe saygı lutfen,paylaşılmasaydı,daha mı iyiydi sizce.bu arada ettiğiniz cumleler sizin kişiliğinizi yansıtıyor,yapamayan varsa duzgunce sorusunu sorar.deathisonitsway de yanıtlar.iyi bir niyeti bu kadar suistimal etmeye hiç kimsenin hakkı yok.
 
h4ckinger çalışmıyor
yaptıgın bir işte doğru çalışsın be kardeşim. hep bilmişlik hep bilmişlik başka bişey yok !
 
esma tesekkurler
tesekkurler,ben calıstırdım.Allah razı olsun.calısmıyor diyenlerin herhalde sana garezi var,arkadasım.bence aldırma.ben calıstırdım.
 
bazı insanlara upload ettiğim video cevap olacaktır.

http://uploaded.to/?id=w8x4yg


boş boş konusanlar indirip izlesinler de gorsunler ayıplarını..diğer arkadaslarıma tesekkur ediyorum.

iyi calısmalar...
 
Günçağ Yıldız Eline Sağlık
Dostum eline sağlık açılıklayıcı bir çalışma olmuş
video yuda izledim fakat bazı arkadaşların çalıştıramamısnın nedeni sanırım db.php
dosyası
db e giriş vermedikleri için çalıştıramıyor olabilir şahsi fikrim bir yere tüm dosyaları upload edersen yorumlar ortadan kalkar sanırım...
 
Arkadaşlar buyrun
Denzib.com
adresinin sabihi yolladı bu dosyaları
bir iki değişiklik yapıp upload eddim
güle güle kullanın...

http://rapidshare.com/files/98391070/ziyaretci_defteri.rar
 
xslt iyilik suistimali
bu adamın ne kadar iyi biri oldugunu,birilerine bir şeyler öğretmek için ne kadar çok çırpındıgını bir görseniz,dediğiniz laflardan utanırdınız.ziyaretci sayacı calısıyor arkadaşlar,1000 kusur kişi okumus mesajı;bundan sonra okuyacaklara da sesleniyorum.ziyaretci sayacı calısıyor.bundan daha basitini de bulamazsınız. include ("sayac.php"); echo sayac(); su kadarcık kodla calısıyor hemde.biraz emege saygı.
 
mucahid1986 tebrikler
arkadaşlar denemedim ama ders cok gusel olmuş hem kod kalabalığı yok hemde gerçekten satır satır acıklayıcı omuş arkadaşımın ellerine sağlık denemedim derken copy pasteye karşıyım bilgi paylaşılır ama tembellie hayır tekrardan teşekkürler cok yardımcı oldun
 
yagizz Çalışır...
Ali Abi Yaptıysa çalışır... ;)
 
jojoo0 tşkrler
kardes elıne saglık.Ama ben kodu çalıstıramadım.Yinede bu kdr uğraşmıssın ve bizimle paylaşmıssın.
Sen bazı DİNGİL DENGESİZlerin ÇAPULCULARIN SAYGISIZLIKLARINA bakma ve yolunda dewam. Basşıralarının dewamını dılerım...
 
experience Eline sağlık
yazdığın kodu denemedim fakat çalışıp çalışmaması da okadar önemli deil burada önemli olan senin uğraş vererek bunları bizimle paylaşmış olman,satır satır okadar iyi anlatmışın ki tşk, sen bazı arkadaşların terbiyesizliklerine bakma
 
deathisonitsway upload ettim
bir onceki mesajımda kodu upload ettim arkadaslar.calıstıramıyorum diyenler izlesin bir videoyu.tesekkurler iyi niyetleriniz icin
 
Hackinger doğru dürüst yap
bir tane doğru dürüst bilgi verdigin yok tek yazı yazmışsın hemen yazar yapmışlar adalet bu adamın hiç kimseye faydası yok coderlerin eziği lamer coder bu kolay gelsin
 
sistemci ezik hackinger
hackinger kardeş sen tam bir eziksin.başka tarifi yok.yahu adam susasın diye video cekmiş,lutfedip izlemeye bile yeltenmeden saçma sapan yazıyı kirleten yazılar yazıyorsun.yazıklar olsun sizin gibilere.arkadaşlar kod çalışıyor.inanmayın bu gibi eziklere.
 
dogru calısan kod
dogru calısan koda hangi mantıkla bazı arkadaslar calısmıyor diye isnatlarda bulunuyorlar.milleti bari yanlıs yonlendirmeyin.sacma sapan yorumlarla doldurmak yerine bir şeyler katmayı deneseniz daha yararlı olursunuz.kod cok sade ve kullanıslı.tek kusuru var,toplu yerlerden aynı ip ile birden cok kullanıcı girdiğinde bu kod tek kişi olarak gösterir onları.onun icinde bilgisayar adı alınması gerekir.ancak kodun bu hali bile kullanışlıdır.lutfen içinizdeki öfkeyi yenin ve emeğe saygı gösterin.
 
bosverin arkadaslar...takan yok zaten.siz ne desenizde o yazar zaten kendi kafasına.ben diyecegimi dedim.eger kod calısmıyor diyen varsa,kulliyen yalan soyler ve bana gıcık giden biridir zaten.sallayın gitsin.calıstırmak isteyene video yukledim.izlesin gorsun...

iyi calısmalar...
 
ASHES Teşekkürler
Dostum çok saol. Çalışmıyo diyenler ya veritabanı bağlantısı yapmayı unutmuş yada fonksiyonu çalıştırmak için sayac(); yazmayı unutmuş :P
Tekrar saol, gayet güzel çalışıyor..
 
chesterx saygısızlık
adam oturmuş uğraşmış ne biçim insansızın siz buraya yorum bölümü yazarlara hakaret edin diye konulmamış insan müsveddeleri..
 
Makaleus Çalışıyor
Çalışmıyor diyenler db bağlantısı olmadığı için direk kullanmıştır o yüzden öle demiştir.Artık onuda yapmayı bilmeyen kullanmasın kodları
 
isder sayaç
hata verse yanmayacağım ama ÇALIŞMIYOR
 
deathisonitsway fitneciler bitmez
yeryuzunden fitneci fesatcı bitmez...yeryuzu yasadıgı surece fitneci fesatcı yasayacaktır...takmayın sallayın...elbet bir gun cıkar hesabı...alısmak lazım.en guzel cevap susmaktır.
 
emre denyoluğa gerek var mı
"yeryuzunden fitneci fesatcı bitmez...yeryuzu yasadıgı surece fitneci fesatcı yasayacaktır...takmayın sallayın...elbet bir gun cıkar hesabı...alısmak lazım.en guzel cevap susmaktır."

budur işte... takmayın denyoları, kod çalışsın çalışmasın, önemli olan buradaki paylaşımın bir değerinin olup olmadığıdır. Kodu payş,laşan kişiyi tanımam etmem ama ÇEmkireceğinize kıçınız yiyorsa kodun neresinde hata var bulun söyleyin öpelim elinizi derim.
 
SeCdE Saçmalamayın :@
Saçmalamayın allah aşkına. Çalışırmı bu kod :D. Daha MySQL kullancı adı, şifre girilecek yeri yok nasıl MySQL ile veri alış verişi yapacak ?
 
makaleus Çalışmıyor
Mysql kodlarını da yazdım çalışmadı arkadaşlar.
 
deathisonitsway mysql ayarı
he he :) gece gece cok komik geldi yaa...la biz ilk okul cocuguna emzik satmıyoruz.bilmeyen adamla ne isimiz var bizim.hayret bir şey ...:) topigin icine ettiniz haa.harbiden.
 
valla o kadar cok guluyorum ki buradaki yorumlara.iyi ki mal takımı mevcut bu dunyada.calıstıran bal gibi calıstırıyor.siz de calıstırmıyı verin...ohhh ne guzel valla...calısmıyor iste...kimse kullanamasın insallah...adam gibi adam zaten kullanacaktır.kodu dunya kadar yerde zerresine dokunmadan calıstırıyorum.:):):) hadi iyi eglenceler size...
 
webulent gülüyorum...
Merhabalar,
bu kodu calıstıramayanlara sesleniyorum... bu kod calısmıyor diye cırpınacagınıza, neden calıstıramadığınıza yogunlassanız kendinize daha faydalı olursunuz. calıstıramayan arkadaslarımın mysql ve php den bi haber oldukları kanısındayım.. bu kodu calıstırmak için bir veri tabanınızın olması gerekiyor.. umarım bunun bilincindesinizdir. localde calıstıracaksanız, önce apache serverı kurun sonra mysqli kurun.. sonra yazılan koddaki veri tabanını oluşturun. daha da sonrasında server ana dizinine php uzantıılı sayfanızı ekleyin.. kodlar bu sayfa içinde olacak.. hmm.. fakat siz mysql kullanıcı adı ve şifresi bölümünde de takılacaksınız.. yorulmaya gerek yok. öncelikle kendinizi bilgi konusunda tartmalısınız.. cok buyuk bi havuzdasınız.. karşıya yuzmek için caba sarf etmeyin. sizi karşıya gecirecek bilgiler zaten mevcut. bu bilgiler php dökümanları... çalışmanızı öneririm. kolay gelsin.. kodu yazan arkadaşıma saygılar.
 
Kodlar Kodlar çalışmıyor
Kodları yazan kişi neden mysql kodlarınıda yazmıyor madem.Başka biyerde buldum çalışıyor.shoq yapmayalım.
 
kural calısıyor
kodlar arkadasım yazmıs.mysql kodlarınıda yazmıyor diye.o ne demek kodlar kardes bir acıklasana bize.:)
 
mrt çalısıyor da
hocam eline saglık emegine saglık da ben de bi sorun var..silme de prolem var galiba..artıyor ama eksilmiyor...veritabanına baktım tarih bölümünde 838:59:59 gibi garip degerler var.ve hepsi de aynı hemen hemen...yanlıslık nerede acaba? time ile ilgili bi problem var ama anlamadım
 
mrt ok no problem
ya bi an bakmıstım hep aynı hep aynı dedim bi problemmi var acaba ama baktım şimdi eksiliyor...ama hala o tarih degerini anlamadım...neyse tekrar emegine saglık
 
en©in ilginç
bu adam ya bukadar olumsuz yorum ypana bişey yapmış yada ceviznette makale yazıp yormasın kimse kendisini bu ne saygısızlık insanı bilgi vermek için kendilerini yırtan adamları bezdireceksiniz sana yararı yoksa sus.Elbet yaralanan olur.
Biliyorsan konuş alim sansınlar bilmiyorsan sus adam sansınlar.
 
ali oygur mütevazi bir anlatım süper bir makale
birader süper denedim çalışıyor zaten biraz bir programlama bilgisine sahip bir insan kodu denemedende anlayabilir çalışıp çalışmadığını

herkez gibi böyle entellektüel cümleler kurup anlatmaman çok açıklayıcı oluyor türküz türkçe anlatırız hesabı emeğine sağlık

saygılarımla
 
ali gereksiz..
Arkadaşım bu kadar koda + ip almaya ne gerek var ki? Onun yerine veritabanına sadece 1 sayıyı kaydet, sayfa açıldığında veritabaınında o sayıyı çekip 1 ekleyip tekrar veritabanına atsın. ben sıfır verdim kusura bakmayın ama acemice olmuş biraz. Ve bana daha iyisini yaz demeyin boşuna çünkü yazdım ve ondan sonra söylüyorum..
 
JeT_On! teşekkür
deathisonitsway eline sağlık kod çok ta güzel çalışıyor. bu arada bi çok kişi deathisonitsway ustune geliyor ama kusura bakmasınlar çalıştıramıyorlarsa kendilerinin eksikliğidir. birde şunu unutmıyalım burda verilen kodun bir önemi yok önemli olan kodların ne işe yarıyıp yaramadığını güzel bir dille anlatılmasıdır.ve bunuda bence çok güzel başarmıştır deathisonitsway arkadaş. birde böyle kod çalışmıyor yok nebişim kod yazmıssın diye söylenen arkadaşlara bir çift lafım var hazır aldığın kodun ustune yatıcağına kodu geliştirmeyi düşün ne yaparsam bu kod çalışır die düşün beceremiyorsan çıkan hatayı bari yazda bi yazım hatası varmı yokmu o görülsün çalışmıyor diyorsunuz ortada hata raporu yok işte burdanda çalışmamasının sebebi çıkıyor zaten beceremiyorsunuz o zaman siz bırakın bu işi...
 
deathisonitsway aliye cevap
ali kardes gereksiz adlı konusunda...bir sayı kaydet demis...afferim sana...her yenileyiste sayı yukseltcen...sayi birden buyukse online 1 den kucukse out mu olacak :) bir şeyi acıklayacaksanız...sisteme ek yapın ek...soz dalasınla hiç kimseye faydalı olamazsınız...100 mesajın 90 ı aptalca mesajlar...ve inanın galeye bile almıyorum...kendi kendinize yazıyorsunuz...kodu kullanan kullanıyor...kullanamayanda mailimi ekliyor soruyor...siz burda yazmaya devam edin...bu arada iyi dilekleriyle mesaj yazanlara cok cok tesekkur ediyorum...
 
olcay mysql
tabloda auto_increment ve primery key hangileri bunları belirlemek önemlimi hocam??
 
(php ile ziyaretçi sayacı bir çok forumda sıkıntı olmuş bir konudur) denilmiş ve bu sıkıntılara çözüm bulmak için faydalı bir makale yazılmış ancak sql bilmeyen için pek bi faydası olacağını sanmıyorum. 2 satır sql koduda yazılmış olsa herkeze faydası olurdu.
 
okuyanus ellerinize sağlık
yeni başlamış biri olarak rahatlıkla bu kodu çalıştırdım.bu kadar açıklamadan sonra çalıştırmasaydım yuh derdim kendime.çok ama çok sağ olun.EMEĞE SAYGI
 
Arkadaşlar gayette güzel çalışıyor ellerinize sağlık. Çalışmıyor diyenler bunları bunları yeni bir php sayfasında denemıyeceksınız daha onceden olan mysql e bağlantısı olan sayfalarda denıyeceksınız. yenı php syfasında denıyeceksenız mysql e baglantı kurunuz...
 
özko Tşk
teşekkürler...
 




yorum Yorum ekle
İsminiz:
Mailiniz:
Yorum Konu:
Soru: Cumhuriyetimizin kuruluş yılı?
Cevap :
Bütün alanları doldurmanız gerekmektedir.

 
XHTML 1.0 CSS 2.1
Ceviz Reklam