İnternet dünyasında artık merak ettiğimiz her konu hakında dersler, e-ktaplar bulmak mümkün. Çorbada benim de tuzum bulunsun diyerekten “php” programlama dilini kendi yöntemimle anlatmaya, öğretmeye çalışacağım. Benim yöntemimi açmak gerekirse tümdengelim metodu ile örnekler üzerinden anlatmayı kastediyorum. Bu bana göre php öğrenirken hem daha hızlı hem de daha pratiğe dönük hem de sıkıcı olmayan bir çözüm.
Genel Bilgi
İlk örneğimizde php ile sitemize basit bir sayaç yapacağız. Sayacımız şöyle çalışacak. Sitemizde bir metin dosyası (.txt) bulunacak ve içine bir başlangıç sayısı yazacağız. Bir kullanıcı sitemizi görüntülediği zaman dosyadan bu sayıyı okuyacağız. Bir artırdıktan sonra yeniden dosyaya yazacağız ve bu bir artırılmış halini ekrana yansıtacağız.
Bu örnekten çıkarılması gereken dersler dosyalara nasıl yazı yazılır, silinir, okunur, değiştirilir. Dosya kullanarak sayaçtan başka ziyaretçi defteri gibi bir betik de (script) yazılabilir. Önemli olan mantığı kavramanız.
Kod ve Açıklaması
Öncelikle aynı dizinde iki yeni dosya yaratıyoruz, say.txt ve sayac.php
say.txt -> Bu dosyanın içine 4 (herhangi bir sayı yazabilirsiniz) yazıp kaydedin ve dosyayı kapatın.
sayac.php -> Bu dosyamız bizim betiğimizi oluşturacak. İçine şu kodları ekleyin.
<?php $dosya = "say.txt"; // Okuma safhası $tut = fopen($dosya,"r"); $sayi = fread ($tut, filesize ($dosya)); echo "<center>Bu sayfa ".$sayi." kez görüntülenmiştir.</center>"; fclose($tut); // Yazma safhası $tut2 = fopen($dosya,"w") ; $yenisayi = $sayi + 1; $sonuc= fwrite ($tut2, $yenisayi); fclose($tut2); ?>
Şimdi de satır satır açıklayalım.
1 ve 16 – Php kodumuzun başlangıcını ve bitişini belirtir.
2 - $dosya adında bir değişkene ( php’de değişkenlerin gösterimi örnek $dosya şeklindedir) dosyamızın adını, “say.txt” atıyoruz. Artık sayacımız hangi dosyadan okuyacağını biliyor.
4 ve 10 – Bu satırlar açıklayıcı bilgidir. Görüğünüz gibi çift taksim işaretinden ( // ) sonra gelen php satırı betik tarafından okunmaz. Ek bilgileri böyle ekleyebiliriz.
5 – Dosyamızı okumak için açıyoruz ve bu açılmış halini $tut değişkeninde muhafaza ediyoruz. fopen () komutu dosyayı açmak için kullanılır. Bu satırda $dosya değişkeni ile belirlediğimiz dosyayı “r” ile açtım. “r” (read) okumak için anlamına gelir. Bu şekilde açılmış bir dosyaya yazı yazılamaz. bkz. fopen ()
6 – Bu satırda dosyadaki sayımızı elde ediyoruz. Bu da şu şekilde oluyor. $tut değişkeninde bulunan açık haldeki dosyanın içinden dosyanın boyutu kadar ( filesize() ) yani tamamını okuyup bir yazı olarak (string) $sayi değişkenine atıyoruz (fread ()). Artık ziyaret sayımızı biliyoruz ($sayi değişkenindeki sayı)
7 – Ekrana bu $sayi değişkenindeki değeri yazdırıyoruz (ekrana yazma komutu echo)
8 – $tut ile belirtilen dosyayı kapatıyoruz. (fclose ())
11 – 5. satırdaki işlemin aynısı fakat bu sefer dosyayı “w” ile yani yazmak için (write) açıyoruz ve $tut2 değişkenine atıyoruz.
12 – Okuma safhasında 6. satırda, dosyanın içindeki değeri $sayi değişkenine atamıştık. Şimdi bu sayıyı bir artırarak $yenisayi değişkenine atıyoruz.
13 – $yenisayı değişkenini $tut2 ‘deki açık halde bulunan dosyaya fwrite () komutu ile yazıyoruz.
4 – $tut2 ile belirtilen dosyayı kapatıyoruz.
Sonuç
Özetlemek gerekirse say.txt dosyasını okumak için açtık, içindeki sayıyı okuduk, ekrana yazdık, dosyayı kapadık, dosyayı yazmak için açtık, yeni sayıyı dosyaya yazdık ve kapattık.
Bu makaleyi başlangıç seviyesinde yazmaya çalıştım. Ne kadar anlaşılabilir olduğumu lütfen yorumlarınızla belirtiniz. Bundan sonraki örneklerimde de ona göre bir dil kullanacağım.
Eğer php’yi öğrenmek istiyorsanız lütfen bu anlattıklarım lafta kalmasın, bir deneyin, biraz kurcalayın. Dosyaya sayı değil de isminizi yazın ve ekrana görüntüleyin. Ne de olsa amaç daha önce belirttiğim gibi mantığını anlamak…
Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.
murat emirik
13 Haziran 2007
kardeş çok güzel anlatmışsın. denedim ama bunu sayfaya yani htmlde nasıl göstereceğimi bilemedim. yardımcı olursan sevinirim
yakuter
16 Haziran 2007
html içinde değil, bunu php içine yazmalısın. Bir php dosyasına bu kodu olduğu gibi yazarak çıktısını görebilirsin. Dene-yanıl yöntemi en güzel öetoddur bu konuda ;)
Serdar Aydar
17 Ekim 2007
evet, normalde sayaç local de çalışıyor. fakat internette yayınladığım zaman nedese yayınlanmıyor.
bu konuda yardımcı olan olursa sevinirim.
sanırım sorun bende, ama sorunun ne olduğunu anlamadım..
Serdar Aydar
17 Ekim 2007
Pardon yayınlanmıyor dedim düzeltiyorum. yayınlanıyor, ama sayfayı yenile dediğim zaman sayı artmıyor. hatta farklı IP lerden de girdirttirdim. sayı artmıyor. sorun bu. yardımcı olursanız sevinirim..
ramazan yıldız
12 Ocak 2008
arkadaşlar dosyalarınızı hosta attıgınızda chmod ayarlarınızı kontrol edin
sezgin bilketay
14 Ocak 2008
Arkadaşımızın eline sağlık.Güzel bir döküman..Fakat bana göre eksik.Çünkü bu sayacı oluşturduğunuz sayfa size sağlıklı bir bilgi vermez.. Sayfayı “her yenilediğinizde” sayacın değeri 1 artacak.Yani ne olacak? Web sitemize gelen kullanıcı, sitemizdeki yenileme haraketinde (bu linke tıklamak olarak da değerlendirilebilir..) sayaç 1 artacağından dolayı, o ziyaretçiyi birden çok kez saymış olacağız.Oysaki bizim amacımız gelen ziyaretçiyi bir kez saymak ve mevcut oturumu sırasında bir daha sayılmasını engellemek. O yüzden ziyaretçimize bir cookie göndererek, aşağıdaki şekilde bir kod oluşturmamız en mantıklısı…
Murat USTAALIOGLU
05 Şubat 2008
evet, normalde sayaç local de çalışıyor. fakat internette yayınladığım zaman nedese yayınlanmıyor.
bu konuda yardımcı olan olursa sevinirim.
sanırım sorun bende, ama sorunun ne olduğunu anlamadım..
—————————————————————————————
host aldigin serverin fopen fonksiyonu buyuk ihtimalle kapalidir o yuzden calismiyordur kardesim. fopen bir kac guvenlik nedeninden dolayi pek kullanilmayan bir kodlamadir…
lestioni
07 Haziran 2008
sayacın artması için, dosyanın yazma yetkisi açık olması gerekir.. windows sunucuda salt okunur kalkmalı, *nix ise chmod 777 gibi olmalıdır.. sonrasını zaten kod yapıyor..
Cihan
07 Eylül 2009
merhabalar anlatım için teşekkür ederim kafama birşey takıldı siteye aynı anda iki veya daha fazla kişi girerse bu sayaç başarıyla çalışırmı ?
ozanozatay
04 Ocak 2010
php de veritabanına bağlanmadan ziyaretçi sayacı yaptık. sayısal değer .dat dosyasında tutuluyor.
ziyaretçi sayacı güzel bi şekilde çalışıyor fakat bi bakıyorum dat dosyasının içeriği kendiliğinden boşalıyor.her defasında rakam girmek zorunda kalıyorum. bu sorun neden kaynaklanmış olabilir. lütfen bi yardım edin.
php kodu aşağıdaki gibidir;
hunterboy1453
24 Şubat 2010
Murat kardeş sorunun cevabı
nerde görüntülenmesini istiyorsan oranın kod kısmına
include(“sayac.php”);
yazman yeterli olacaktır.
not: tabi bilgisayarında easy php gibi bir sunucu yazılımının bulunduğunu var sayarak bunu soyledim yoksa zaten çalışmaz…
omerler
30 Aralık 2010
arkadaşlar ben bi sayac yapmak istiyorum ama becereme dim yol gosteren varmı
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
World of Warcraft için Blizzard Entertainment tarafından hazırlanmış, sizin için seçtiğimiz duvar ka...
Seçtiğiniz klasörlerdeki eski dosyalarınızı kendi belirleyeceğiniz kurallar dahilinde silmenize yara...
Sistemi yormadan çalışan uTorrent 3 ile tüm torrent dosyalarını indirebilir ve yönetebilirsiniz....
PicPick ekran görüntüsü yakalama, resim düzenleme, grafik çizim özelliklerini tek bir program ile si...
Ücretsiz kişisel güvenlik duvarı Online Armor spyware, hacker, keylogger ve virüslere karşı koruma s...
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
Ahmet Sarıtaş
11 Şubat 2012
yakuter
10 Şubat 2012
Mehmet Emre Baş
10 Şubat 2012
yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.