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 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
php ziyaretçi sayacı, ziyaretci sayaci kodu, ziyaretçi sayacı php, php ile ziyaretçi sayacı, php full site sayacı online üyeler, ziyaretçi sayacı, php de ziyaretçi sayısı, php bir alanın tarih ol, php ziyaretçi sayısı, php su an ziyaretci sayisi
Benzer Konular:
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…
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…
atıyorum ben bunu çalışmıyor.yanlış bu.
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.
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??
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
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?
php ile şiteme iletişim ve yazı gönderme formu nasıl yapılır.Bilgilendirirseniz memnun olurum.
okan
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
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)
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???
deathisonitsway,ya benim anlayamadıgım niye $limit te eksi koyuyoruz,bir turlu sorguda bunu koymayı anlıyamıyorum,bunun mantıgı ne?
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.
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.
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ı.
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
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 !
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.
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…
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ı.
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
Ali Abi Yaptıysa çalışır… ;)
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…
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
bir onceki mesajımda kodu upload ettim arkadaslar.calıstıramıyorum diyenler izlesin bir videoyu.tesekkurler iyi niyetleriniz icin
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
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 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…
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..
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..
kodlar arkadasım yazmıs.mysql kodlarınıda yazmıyor diye.o ne demek kodlar kardes bir acıklasana bize.:)
Ç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ı
hata verse yanmayacağım ama ÇALIşMIYOR
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.
“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.
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 ?
Mysql kodlarını da yazdım çalışmadı arkadaşlar.
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…
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ı yazan kişi neden mysql kodlarınıda yazmıyor madem.Başka biyerde buldum çalışıyor.shoq yapmayalım.
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
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
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.
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
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..
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…
tabloda auto_increment ve primery key hangileri bunları belirlemek önemlimi hocam??