Basit veritabanı uygulamaları yapmak, web sitesi ziyaret logları oluşturmak, basit ziyaretçi defteri yapmak için dosya işlemlerini kullanabilirsiniz.
Konular
Dosyalarla çalışmak için öncelikle dosyanın açılması gerekmektedir.
$f=fopen(“dosyayolu/dosyaadi.uznt”,$acmasekli);
$acmasekli, fopen fonksiyonun dosya erişiminde kullanacağı yöntemi belirler.
Dosya okuma için açıldıktan sonra, fread komutu yardımı ile, dosyadan okuma işlemi gerçekleştirilir. fread komutu okuduğu verileri eşitlendiği değişkene aktararak kullanıma sunar,. Bu veriler üzerinde istenilen işlemler gerçekleştirilebilir.
Kullanımı:
$f=fopen(“dosyayolu”,”r”);
$fs=filesize($f); //Dosya Boyutunu bu şekilde öğrenebiliriz.
$okunan=fread($f,$fs);
fread komutu iki parametre alır; Birinci parametre açılan dosya tutucusudur ($f), İkinci parametre, okunacak olan veri miktarını byte türünde belirler. Dosyanın tamamını okumak yerine, belirli bir miktarını okuma imkanı sağlar. Dosyanın tamamının okunabilmesi için filesize($f) komutu ile açmış olduğumuz dosyanın boyutunu öğrenebiliriz.
İşimiz bittikten sonra açmış olduğumuz dosyayı kapatmayı unutmayalım.
Dosyaya veri yazmak için öncelikle dosyamızı yazılabilir şekilde açmamız gerekmektedir. Daha sonra dosyaya yazmak istediğimiz veriyi fwrite komutu ile dosyaya aktarabiliriz.
Kullanımı:
$f=fopen(“dosyayolu”,”w”); veya $f=fopen(“dosyayolu”,”a”)
fwrite($f,$veri);
fwrite komutu iki parametre alır; birinci parametre açılan dosya tutucusudur ($f), ikinci parametre ise dosyaya yazılacak olan veriyi içerir ($veri).
Burada dikkat edilmesi gerekn nokta, dosyayı açarken kullanacağımız açma türüdür. w türünde açılan dosyalara yeni bir veri yazıldığı zaman eski veriler silinecektir. a türünde açılan dosyalara yeni veri yazıldığında; yazılan yeni veri eski verinin sonuna eklenir.
İpucu: Log kayıtları gibi verileri dosyaya yazarken a (sonuna ekleme) türünde, Sayaç gibi yenilenen veriler kullanılacaksa w (üzerine yazma) türünde açmak aha faydalı olacaktır.
Dosya okuma işlemi yapmadan önce dosyanın varlığını kontrol etmek, yapılması gereken en önemli işlerdendir. Bunun için; file_exists fonksiyonu kullanılır.
Kullanımı:
if(file_exists(“dosyayolu”))
echo “Dosya var”;
else
echo “Dosya bulunamadı”;
file_exists fonksiyonu sadece dosya yolunu parametre olarak alır. Eğer dosya var ise; Doğru (true), dosya yok veya ulaşılamaz ise Yanlış (false) değerini döndürür.
Dosyanın varlığı doğrulandıktan sonra, dosyanın okunabilir mi, yazılabilir mi olduğunu öğrenmemiz gerekiyor. Bunun için is_readable (okunabilir mi), is_writable (yazılabilir mi) fonksiyonları kullanılabilir.
is_readable: Dosya yetkileri kontrol edilerek, dosyayı okuma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyayı okuma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.
is_writable: Dosya yetkileri kontrol edilerek, dosyaya yazma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyaya yazma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.
Örnek:
$dosya=”deneme.txt”;
if(file_exists($dosya))
{
if(is_writable($dosya))
{
$f=fopen($dosya,”a”);
fwrite($f,”\nYeni Eklenen Veri”);
fclose($f);
echo “Veri dosyaya yazıldı”;
}
else if(is_readable($dosya))
{
$f=fopen($dosya,”r”);
$v=fread($f,”1000″);
fclose($f);
echo “Dosyadan okunan veri: “.$v;
}
else
echo “Dosyayı okuma/yazma iznimiz bulunmamaktadır.”;
}
fseek komutu, fopen ile açılan bir dosya içerisinde bulunulan konumdan istenilen başka bir konuma gitmeyi sağlar. Dosyadan veri okunduktan sonra, işaretçi yerinin değiştirilmesi için kullanılır.
Kullanımı:
fread($f,2600);
fseek($f,2790); //2600. baytta yer alan işaretçinin 2790. bayta ilerlemesini sağlar.
fseek($f,0); //2790. baytta yer alan işaretçinin dosya başına konumlandırılmasını sağlar.
PHP’de bir dosya ile işlem yapabilmek için dosyayı açmamız gerektiğini söylemiştik. Dosyayı açma işlemi bu dosyayı diğer paylaşımcıların erişimine karşı kilitleyeceği için kullanımımız sona erdikten sonra dosyayı kapatmamız gerekmektedir. Bunun için fclose komutunu kullanmalıyız.
Kullanım:
$f=fopen(“dosyayolu”,”r”);
fclose($f);
touch: Bir dosyanın son erişim zamanının ayarlanmasını sağlar. Olmayan bir dosyanın oluşturulmasını sağlar. bool touch($dosyayolu);
unlink: Dosya silme işlemi yapar. bool unlink($dosyayolu);
file_get_contents: Dosya içeriğinin tamamını bir dizgiye aktarmayı sağlar. $veri=file_get_content($f);
]]>Bu yazımızda PHP programlama dilinde fonksiyon yazımı, fonksiyon çeşitleri ve kullanımını öğreneceğiz.
PHP kodlarınızı http://www.compileonline.com/execute_php_online.php adresinde deneyebilirsiniz.
Öncelikle fonksiyon çeşitleri ile işe başlayalım. Programlamada fonksiyonlar 3 kategoride incelenebilir:
Bir fonksiyon aynı anda birden fazla kategoriye dahil olabilmektedir.
Fonksiyonlar özette belirttiğimiz gibi, istenilen işlemlerin belirli bir isim altında kaydedilip, daha sonra kullanılmasına imkan tanıyan yapılardır.
Yapı:
function fonksiyon_adi([parametreler])
{
//yapilacak işlem(ler);
//return sonuc;
}
Bu tür fonksiyonlar verilen / önceden tanımlanan değerler üzerinde bazı işlemler yapıp, işlemler sürecinde bazı değişkenlerin değerlerini değiştirme, ekrana çıktı verme gibi işlemler yaparlar. Değer gönderme gibi bir durumları olmadığından değişkenlere atanamazlar.
Örnek 1:
function merhabadunya()
{
echo “Merhaba Dünya”;
}
Bu örnekteki fonksiyonumuz, Hizmet Döndüren, Parametre Almayan bir fonksiyondur (Function with no arguments and no return value).
Bir PHP sayfasında;
… önceki kodlar …
merhabadunya();
… sonraki kodlar …
şeklinde kullanılır.
Bu fonksiyonların amacı; verilen / daha önceden tanımlanan değerler ışığında bazı işlemleri gerçekleştirip, bu işlemlerin sonucunu başka bir değişkene göndermektir. ECHO deyimi ile birlikte ekrana çıktı almak için kullanılabileceği gibi, doğrudan bir değişkene değer olarak da atanabilir.
Örnek 2:
function topla($a,$b)
{
$c=$a+$b;
return $c;
}
Bu fonksiyonumuz da Değer Döndüren Parametre Alan bir fonksiyondur (Function with arguments and return value).
Bir PHP sayfasında;
… önceki kodlar …
echo topla(3,5);
… sonraki kodlar …
yada
… önceki kodlar …
$c=topla(3,5);
echo $c;
… sonraki kodlar …
şeklinde kullanılır.
Bu tip fonksiyonlar, programın özelliğine göre kendi kendini tekrar çağırarak bir nevi döngü oluşturan fonksiyonlardır. Faktöryel, Fibaonacci Saydırma, Asal Sayı Bulma, Bölme, Çarpma, Üs Alma bu türe örnek verilebilir.
Örnek 3:
function usal($sayi,$us)
{
if($us>=1) return $sayi*usal($sayi,$us-1);
else if($us<0) return “undefined”;
else return 1;
}
Bu örnekteki fonksiyonumuz, $sayi değerini, $us değeri bir azaltılmış fonksiyonun sonucu ile çarpıyor. Burada dikkat edilmesi gereken noktalardan bir tanesi IF yapılarıdır. Bu yapılar, fonksiyonun ne zaman ne yapacağını belirlemektedirler. İkinci nokta ise return deyimidir. Fonksiyon return deyimini çalıştırdığı anda sona erer. Bu nedenle return deyiminin nerede kullanılacağına dikkat edilmesi gerekmektedir.
else if($us<0) return “undefined”; satırında; $us değerinin 0’dan küçük olması durumunda tanımsız bir değer gönderiyoruz.
else return 1; satırında üssü 0 olan sayının değeri 1 olduğu için 1 değerini gönderiyoruz.
Fonksiyonun çalışmasını tabloda gösterecek olursak;
Fonksiyon | Sayı | Üs | Return | Açıklama |
usal(3,3) | 3 | 3 | 3*usal(3,2); | //usal(3,2)=9 olduğunu alt satırda görüyoruz. Bu nedenle Return=27 olur. |
usal(3,2) | 3 | 2 | 3*usal(3,1); | //usal(3,1)=3 olduğunu alt satırda görüyoruz. Bu nedenle Return=9 olur. |
usal(3,1) | 3 | 1 | 3*usal(3,0); | //usal(3,0)=1 olduğunu alt satırda görüyoruz. Bu nedenle Return=3 olur. |
usal(3,0) | 3 | 0 | 1 | //else return 1; satırından dolayı Return=1 olur. |
Başka bir örnekle devam edelim:
Faktöryel: 1’den kendisine kadar olan sayıların çarpımına verilen addır. Ünlem (!) işareti ile tanımlanır.
3!=1*2*3=6
7!=1*2*3*4*5*6*7=5040 şeklindedir.
function faktoryel($sayi)
{
if($sayi<0) return false;
else if($sayi==0) return 1;
else return $sayi*faktoryel($sayi-1);
}
Bir sonraki örneğimiz, 50’den küçük Fibonacci sayılarını ekrana yazalım.
Fibonacci Sayıları: ilk iki sayısı 1 ve 1 olan, her sayının kendisinden önceki iki sayının toplamına eşit olduğu sayı dizisidir.
İlk 6 elemanı: 1, 1, 2, 3, 5, 8
$a=1;
$b=1;
$c=0;
while($a<50)
{
fibo();
}function fibo()
{
global $a,$b,$c; //global deyimi fonksiyon dışındaki değişken üzerinde işlem yapabilme imkanı sağlar.
echo $a.”-“;
$c=$a+$b;
$a=$b;
$b=$c;
}
Bir sonraki örneğimiz, herhangi bir sayının Asal Olup Olmadığını belirleme.
Asal Sayı: Kendisi ve 1 dışında başka herhangi bir sayıya bölünemeyen sayılardır. Asal sayıyı belirlemek için farklı yaklaşımlar mevcuttur. Biz, sayıyı kendisinden küçük tüm sayılara bölerek kontrol edeceğiz.
function asalmi($sayi)
{
if($sayi<1) return false; //FALSE değeri, mantıksal yanlış anlamına gelir.
else if($sayi==1) return true; //TRUE değeri, mantıksal doğru anlamına gelir. Bölen 1 ise
else
{
//1 eksiğinden başlatıyoruz, çünkü kendisine kesinlike bölünür.
for($i=$sayi-1;$i>1;$i–) //1’e bölmüyoruz, çünkü tüm sayılar 1’e bölünür.
{
if($sayi%$i==0) return false; //eğer bölünüyorsa ASAL DEĞİLdir.
}
return true; //eğer döngüden çıkabilmişse hiçbir sayıya bölünmemiş demektir, yani ASALdır.
}
}
$sayi=13;
if(asalmi($sayi)) echo “$sayi sayısı ASALdır”;
else echo “$sayi sayısı ASAL DEĞİLdir”;
]]>
Döngüler, genel olarak; bir başlangıç değeri, bir artım kodu ve bir koşul ile birlikte çalışırlar.
Başlangıç Değeri; döngü başlamadan önce kontrol edilecek olan değişkene değer atama işlemidir.
Artım Kodu; döngü içerisinde, işlemlerin kaç defa tekrarlandığının hesaplanmasını sağlamak için Başlangıç Değeri atanan değişkeninin değerini arttırma veya azaltma işlemidir.
Koşul; değeri sürekli değiştirilen kontrol değişkeninin, belirtilen koşullara uyup uymadığını kontrol etme işlemidir. Koşul bölümü için; Boolean türünde bir değer kullanılabileceği gibi, 0 veya 1 sayıları da kullanılabilir.
PHP’de kullanılan döngüler;
FOR döngüsü, belirtilen bir başlangıç değerinin, belirli düzeylerde arttırılması ile bitiş değerine ulaşana kadar kodların tekrarlanmasını sağlayan döngü yapısıdır.
FOR(başlangıç_değeri;koşul;artım_değeri) {
yapılacak_işlemler;
}
FOR($sayac=0;$sayac<$son;$sayac++)
{
//yapılacak olan işlem(ler);
//Eğer tek bir komut verilecekse; bloklama işareti olan {, } işaretleri kullanılmayabilir.
}
For döngüsü doğru planlandığında tam olarak istenilen sayıda tekrar yapar. En sık kullanılan döngü türüdür.
Örnek:
//1’den 10’a kadar olan sayıları yazan döngü
for($i=1;$i<=10;$i++)
{
echo “Şu anki değer: $i<br>”;
}
//10’dan 1’e kadar olan sayıları yazan döngü
for($i=10;$i>0;$i–)
{
echo “Şu anki değer: $i<br>”;
}
//Sonsuz döngü
for($i=0;;$i++)
{
echo “Şu anki değer: $i<br>”;
}//Burada koşul belirtmediğimiz için döngümüz sonsuza kadar devam edecektir.
DO…WHILE döngüsü, PHP döngüleri arasında en az bir defa çalışan tek döngüdür. DO deyiminden sonraki blok içerisine yazılan kod, en az bir defa çalıştırıldıktan sonra WHILE ile koşul kontrolü yapılır ve eğer koşul doğru ise döngü tekrar çalıştırılır.
başlangıç_değeri;
DO
{
//yapılacak olan işlemler
artım_değeri;
}WHILE(koşul);
Örnek:
$i=0;
do
{
echo “Şu anki değer: $i<br>”;
$i++;
} while($i<10);
WHILE döngüsü, FOR döngüsü gibi çalışır, yalnız başlangıç değeri döngüye girilmeden önce; artım değeri döngü içerisinde, komutların sonuna; bitiş değeri ise koşul bölümüne yazılır.
başlangıç_değeri;
WHILE(koşul)
{
yapılacak_işlemler;
artım_değeri;
}
Örnek:
]]>$i=0;
while($i<10)
{
echo “Şu anki değer: $i<br>”;
$i++
}
Uzun bir aradan sonra PHP derslerimize devam ediyoruz. Bir önceki konumuz Değişkenler idi. Bu derste, Karar Yapılarını anlatmaya çalışacağım. Karar yapıları, program sürecinde, değişkenlerin değerlerini veya kullanıcı tarafından girilen verileri kontrol ederek, bunun sonucuna göre işlem yapabilmemizi sağlayan yapılardır.
PHP’de kullanılan karar yapıları:
yapılarıdır.
IF…ELSE yapısı Türkçe’de Eğer cümlesine tekabül etmektedir.
Kullanım Şekilleri:
IF…ELSE yapısı yukarıda da görüldüğü gibi farklı şekillerde kullanılabilir. IF…ELSE yapısında kullanılan koşullar birbiri ile bağlantılı olmak zorunda değildir. Her bir IF cümleciğinde, farklı bir koşul kullanılarak birbirinden bağımsız durumları tek bir IF…ELSE yapısında birleştirmemiz mümkündür.
Örnek verecek olursak;
$sayi=12;
if($sayi>10) echo “sayınız 10 değerinden büyüktür”;
$sayi=12;
if($sayi>=10) echo “sayınız 10 değerinden büyüktür veya 10 değerine eşittir.”;
else if($sayi%2==1) echo “sayınız tek sayıdır.”;
else echo “seçtiğiniz sayı 10 değerinden küçük bir çift sayıdır.”;
SWITCH…CASE yapısı; IF…ELSE ‘in aksine sadece tek bir değişkenin farklı değerlere eşit olup olmadığını kontrol edebilmeyi sağlar.
SWITCH (DEĞİŞKEN)
{
case DEĞER1: Değişkenin değeri Değer1’e eşitse, yapılacak olan işlemler; break;
/*
break komutu yapılacak işlemlerin sonlandırılmasını sağlar. Sonlandırma işlemi yapılmazsa, diğer değerlerin doğruluğuna bakılmaksızın, break komutu bulunana kadar tüm işlemleri gerçekleştirir.
*/
case DEĞER2: Değişkenin değeri Değer2’ye eşitse, yapılacak olan işlemler; break;
default: Değişkenin değeri üstte belirtilmemişse, yapılacak olan işlemler;
/*
default bölümü için break komutu kullanılmaz.
*/
}
]]>switch($yas)
{
case 7: echo “Okula başladınız.”; break;
case 18: echo “Artık bir yetişkinsiniz. Oy kullanabilirsiniz.”; break;
case 21: echo “Askerlik çağınız geldi.”; break;
case 25: echo “Milletvekili seçilme yaşına eriştiniz.”; break;
case 65: echo “Emeklilik yaşınız da gelmiş.”; break;
default: echo “Hiçbiri değilse bu komut çalıştırılır.”;
}
Bir önceki yazıda Bitcoin nedir? sorusunu cevaplamış, Bitcoin terimleri hakkında kısa bir bilgi vermiştik. Şimdi bu Bitcoin nasıl kazanılır, nerede, nasıl harcanır? sorularının cevaplarına geldi. Elimden geldiğinden anlatmaya çalışayım.
Bitcoin kazanmak için internet üzerinde farklı yöntemler bulunmakta;
İlk olarak; daha önce de bahsettiğimiz Hayrat (Faucet) siteleri: Bu siteler, küçük miktarları belirli zaman aralıklarında dağıtarak, insanları Bitcoin e erişmesini sağlayan sitelerdir. 1 Satoshi ile 1000Satoshi arasındaki tutarları ziyaretçilerine hediye ediyorlar. Yalnız daha önce de belirttiğim gibi sitenin dağıtıma devam edebilmesi için reklamların tıklanması veya siteye bağış yaparak (Donate) destek olunması gerekiyor. Yoksa hayrat kuyusu 2 günde kuruyabiliyor. Örnek Hayrat Siteleri: Praticcoin, Landofbitcoin, BTCRock, Bitcoin Zebra , FreeBitco.in vb.
İkinci yöntem; PTC dediğimiz tıklama başına ödeme yapan siteler: Bu siteler, klasik ödeme yapan siteler gibi çalışmasına rağmen Bitcoin üzerinden ödeme yaptıkları için, konumuza dahil olabiliyorlar. Örneğin: BitVisitor, Visitbit vb.
Üçüncü yöntem; Anket doldurma, Video izleme siteleri: Bu siteler, size verilen belirli görevleri yerine getirerek, ödeme alabileceğiniz bazı sitelerdir. Ancak minimum ödeme tutarına erişmeden ödeme alamayacağınız için, ödeme alma süresi biraz uzun olabilir.
Dördüncü yöntem; ülkemizde yasal olmayan kumar siteleri aracılığı le kazanmayı deneyebilirsiniz. Örneğin: BitCasino.io
Beşinci yöntem; işlerinizi Bitcoin ödemesi ile yapmak; bunun için, Bitcoin ödemesi yapacak işverenler bulmanız gerekiyor. Veya hali hazırda internette bulunan Bitcoin ödemeli işlere girebilirsiniz. Forumlarda soruları cevaplamak gibi (Rugatu.com)
Altıncı yöntem; web siteniz üzerinden kazanmak; Web sitenize koyacağınız, Bağış butonu ile yardım kabul edebilir, Bitcoin kazanabilirsiniz.
Bitcoin hakkında daha bilgi için takip etmeye devam edin.
]]>Bitcoin üretimi aslında, herhangi bir bilgisayar tarafından yapılabilecek, basit bir hesaplamadan ibaret. Bu hesaplama ile ortaya çıkan veriye hash adı veriliyor. Hash’lerin birleşmesiyle oluşan block lar, Bitcoinlerin üretiminde ve takibinde kullanılıyor. Bu Hash üretme işlemine Bitcoin Madenciliği (Bitcoin Mining) adı verilmekte. Ancak, gereğinden fazla Bitcoin üretilmesini engellemek amacıyla, Satoshi Nakamoto tarafından konulan bir dizi güvenlik önlemi nedeni ile Bitcoin üretimi her gün daha da zorlaşmakta. Bu nedenle Bitcoin Madenciliği artık herhangi bir bilgisayarın yapabileceğinden daha zor bir iş haline geldi. İlk başlarda sadece bir işlemci yardımı ile yapılabilen madencilik (CPU Mining), daha sonra Ekran Kartı işlemcilerinin de (GPU Mining) kullanılabileceğinin keşfedilmesi ile yaygın bir hal aldı. Ama Hash üretiminde zorluk derecesinin gün geçtikçe artması; artık işin daha üst seviyelere çıkarılmasını sağladı. ASIC denilen cihazlar yardımı ile çok yüksek hızlarda, Hash üretimi mümkün olabiliyor (ASIC Mining). Hatta, sırf bu iş için özel üretim tesisleri bile ortaya çıkmış durumda.
Peki, bu tarz cihazlara sahip olamayan kişiler Bitcoin kazanmak için neler yapmalılar:
İsterseniz; bir madencilik sitesi aracılığı ile Bitcoin Madenciliğinin bulut boyutuna katılıp, üretimdeki yerinizi alabilirsiniz.
Veya; elinizde bulunan nakit paranızla Bitcoin satın alıp, kullanabilirsiniz.
Yada; Hayrat (Faucet) denilen web sitelerine uğrayarak günlük, saatlik, tıklamalar ile Bitcoin kazanma işine girebilirsiniz. Yalnız bu sitelerden kazanabileceğiniz tutarlar, Satoshi düzeyinde olacaktır.
Yeri gelmişken; Bitcoin Para Biriminin alt birimlerini de tanıtalım.
1 Satoshi = 0.00000001 Bitcoin
1µBTC (mikroBTC) = 0.000001 Bitcoin
1mBTC (miliBTC) = 0.001 Bitcoin şeklindedir. Yani en küçük Bitcoin birimi Satoshi, Bitcoin’in 100 milyonda 1’idir.
Tabii, tüm bunlardan önce Bitcoin işine girecekseniz, bir bitcoin cüzdanına ihtiyacınız olacak, peki bu cüzdan nedir, nereden alınır?
Cüzdan, Bitcoinlerinizi transfer ederken, Bitcoin ödemesi alırken kullanacağınız adresi temsil ediyor.
Bitcoin Adresi temin etmek tamamen ücretsizdir. Yalnız dikkat edilmesi gerekn en önemli nokta, aldığınız adresin Private Key denilen Gizli Anahtarıdır. Bu anahtara sahip olan kimse, cüzdanınız ile her şeyi yapabilir. Cüzdan temin etmek için 3 farklı yolu deneyebilirsiniz.
Bilgisayarınıza Cüzdan Uygulaması yükleyerek,
Bitcoin Core, Multibit, Hive, Armory, Electrum
Cep Telefonunuza veya Tabletinize Cüzdan Uygulaması yükleyerek,
Bitcoin Wallet, Mycelium Wallet
Online Cüzdan siteleri aracılığı ile;
BlockChain, Coinbase, BitGo, GreenAddress, Coinkite
Cüzdanınızı aldığınız zaman; 1LLRGkoaPCkQkUqEof8vyqkd2qSrFroxuM e benzer bir cüzdan adresiniz olacak, bu adresi karşınızdaki kişiye vererek veya adresinizin kare kodunu (QR Code) okutarak, size bitcoin göndermesini sağlayabilirsiniz.
Bu Benim adresimin kare kodu.
Dilerseniz yukarıda bahsettiğim hayrat siteleri aracılığı ile ilk ücretsiz bitcoinlerinizi kazanabilirsiniz. Ama bu noktada açılan sitelerdeki reklamlara tıklamanız hayratların devamlılığını sağlayacak olan gelir kaynaklarıdır. Tekrar bitcoin alabilmek için, reklamlara tıklamayı unutmayın.
Örnek bir Hayrat sitesi: http://www.praticcoin.com
]]>
Önceki dersimizde ilk php sayfamızı hazırlamış ve yayınlamıştık. Şimdi PHP’de değişken tanımlama, değişken türleri ve değişkenlere değer atama gibi konuları anlatacağız.
Öncelikle değişken ne demektir, onu bir öğrenelim. Değişkenler; program içerisinde farklı zamanlarda farklı değerlere sahip olabilen program ögeleridir. Bir bakıma Matematik’teki x gibidirler. Sorunun başında belirli bir değerleri yok iken, sonunda en değerli nesne olurlar :D.
PHP’de değişkenleri başlarına eklenen $ işaretinden tanıyacağız. Bir dizenin değişken olarak işlem görebilmesi için bazı kurallar var.
$ad, $soyad, $adres, $telefon_no1, $telefon_no2 isimleri değişken ismi olarak kullanılabilir, ama $1ad, $ad-soyad, $tc no, $123 gibi isimler değişken ismi olarak kullanılamaz.
Değişkenlerin değerleri eşittir işareti ile belirlenir. Değişkenlere değer ataması yapılırken, alfa sayısal içerikler tırnak işareti içerisinde yazılmalıdır. Sayısal değerleri yazarken tırnak işaretine ihtiyaç duymuyoruz.
$isim=”halil”; $yas=12;
Toplu değer atama için;
$ad=$isim=$name=”halil”;
kullanılabilir. Buradan şunu da anlıyoruz, bir değişkeni başka bir değişkene eşitleyebiliriz.
Sabitler, değişkenlerin bir türüdür. Fakat program boyunca genellikle değerleri hiç değiştirilmez. Ve yapı olarak da farklıdırlar. Sabitlerin başına $ işareti konmaz. Bu şekilde bir kural olmasa da, genel olarak uygulanan, sabitlerin tümünün büyük harfle yazılmasıdır.
Sabitlerin tanımlanması, define fonksiyonu ile yapılır ve tanımlama esnasında tırnak içerisinde yazılırlar.
define(“SITE_OWNER”,”TÜRKOĞLU”); şeklinde. Burada SITE_OWNER sabitine “TÜRKOĞLU” değerini atamış olduk.
Kullanımı: echo SITE_OWNER; şeklindedir.
Diziler, değişkenlerin gelişmiş halleridir. Birden fazla değeri barındırabilirler. Dizilerin yapısı, değişkenlere ek olarak, bir index değeri içerir. Bu index değerini köşeli parantezler ile gösteririz.
$meyveler[1]=”Elma”; $meyveler[2]=”Armut”; şeklinde kullanılabilir.
Burada kullanılan index değeri, dizi içerisindeki belirli bir elemana ulaşmamızı sağlar. index değeri olarak sayı kullanılabildiği gibi metinler de kullanılabilir.
$personel[“ad”]=”Halil”; $personel[“soyad”]=”Türkoğlu”;
Dizilere tek tek değer ataması yapılabileceği gibi toplu değer ataması da yapılabilir. Bunun için array yapısının kullanılması gerekmektedir.
$meyveler=array(“Elma”,”Armut”,”Vişne”,”Çilek”); bu şekilde çok sayıda değer ekleyebiliriz.
array yöntemi ile diziye değer ataması yapılırken, aynı zamanda index de atamış oluruz. Yukarıdaki örneğin, tek tek atanmış hali:
$meyveler[0]=”Elma”;
$meyveler[1]=”Armut”;
$meyveler[2]=”Vişne”;
$meyveler[3]=”Çilek”; şeklindedir.
array yönteminde eğer herhangi bir başlangıç değeri belirtilmez ise; index değeri 0’dan başlar. Başlangıç index değeri tanımlamak için,
$meyveler=array(1=>”Elma”,”Armut”,”Çilek”,”Vişne”); şeklinde yazmamız gerekir. İsterseniz aynı yöntemle, her eleman için farklı bir index değeri verebilirsiniz.
Metin tabanlı index değerleri için de yukarıdaki yöntemi uygulamamız gerekiyor. Yalnız bu tür index değerlerinde her eleman ayrı ayrı belirtilmesi lazım.
$personel=array(“ad”=>”Halil”,”soyad”=>”Türkoğlu”); gibi.
Çok boyutlu diziler, elemanı dizi olan dizi değişkenlerdir. Her bir elemana ait, başka alt elemanlar çok boyutlu dizileri oluşturur.
Personel Listesi
- 1 numaralı personel
- Adı=Halil
- Soyadı=Türkoğlu
- Personel No=123
- 2 numaralı personel
- Adı=John
- Soyadı=Doe
- Personel No=0
Bu türdeki kademeli listeler çok boyutlu diziler ile ifade edilir.
$personel=array(
1=>array(“ad”=>”Halil”,”soyad”=>”Türkoğlu”,”persno”=>123),
2=>array(“ad”=>”John”,”soyad”=>”Doe”,”persno”=>0)
);
1 numaralı personelin adını ekrana yazdırmak için; echo $personel[1][“ad”]; kodu kullanılabilir.
Değişken Değişkenler, ismi başka bir değişkenin değeri tarafından oluşturulan değişkenlerdir.
$isim=”halil”;
$$isim => $halil, bu şekilde otomatik üretilmiş değişken isimleri elde edilmiş olur.
Değişkenleri ve değer atamayı gördükten sonra sıra geldi, onları yok etmeye. Bir değişken oluşturulduğu zaman, bellekte kendisine bir yer ayırır ve yok edilinceye kadar o yeri korur. Bu nedenle gereksiz değişken kullanımı, belleğin aşırı yüklenmesine sebep olabilir. Bunu önlemek için, artık kullanılmayacak olan değişkenleri yok edebiliriz.
unset($isim);
unset fonksiyonu, belirtilen değişkeni ortadan kaldırma ve ona ayrılan konumu boşaltma işlemini yapar. Kullanılmayan değişkenlerden bu komut ile kurtulabiliriz.
Evet, bu dersimizin de sonuna gelmiş olduk. Bu derste; değişken ne demektir, değişken türleri nelerdir, değişkenlere nasıl değer atanır sorularına cevaplar verdik. Bir sonraki dersimizde görüşmek üzere…
]]>PHP, Personal Home Page (Kişisel Anasayfa) kelimelerinin kısaltılmışıdır. HTML, içerisine gömülebilen sunucu taraflı betik ve programlama dilidir. Kullanımı oldukça kolaydır.
C programlama dilini temel alarak geliştirilen PHP, diğer Web Programlama dillerine kıyasla daha hızlı çalışabilmektedir. Özgür Yazılım Lisansı ile yayınlanan PHP’nin kullanımı için lisans gerekmediğinden, daha ucuz ve halk tarafından geliştirildiği için daha güvenli bir sistemdir.
PHP, tek başına çalışabilen bir sistem değildir. Linux tabanlı bir Web Sunucusu olan Apache üzerine eklenti olarak kurulur. Yani, bilgisayarınızda PHP kullanmak istiyorsanız, öncelikle Apache Web Sunucusunu kurmanız gerekiyor.
Burada şu soru akla gelebilir. PHP’yi ayrı, Apache’yi ayrı, MySQL’i ayrı mı kuracağız? Hayır. Bunların tümünü içerisinde barındıran kurulum paketlerini kullanabilirsiniz.
gibi kurulumlar ile bilgisayarınıza hem PHP’yi, hem Apache’yi hem de MySQL’i ve en çok kullanılan veritabanı yönetim yazılımı olan phpMyAdmin’i kurmuş olursunuz.
AppServ kurulumu ile devam edelim.
AppServ’ü indirdikten sonra kurulum aşamasında size bazı sorular soracaktır. Bu soruları kısaca özetleyecek olursak;
Kurulum işlemi tamamlandıktan sonra (eğer kurulum konumunda herhangi bir değişklik yapmadı iseniz) C:\AppServ\www klasörü içerisinde web sayfamızın dosyalarını görebilirsiniz. Hazırlayacağımız dosyaları/web sitesini bu klasörde depolayacağız.
Evet sıra geldi, ilk dosyamızı hazırlamaya. Ama önce bazı temel bilgileri görelim.
PHP, HTML içerisine gömülebilen bir betik dili idi. O zaman HTML ve PHP kodlarını nasıl ayırt edeceğiz. Cevap basit. PHP kodları sayfa içerisinde <?PHP ve ?> işaretleri (etkiketleri) arasında yer alır. <?PHP etiketi bu noktadan itibaren PHP kodlarının başladığını Apache’ye bildirir. Ve Apache ona göre işlem yapmaya başlar.
O zaman neymiş. PHP kodlaması yaparken, <?PHP etiketini unutmuyoruz.
PHP’de herhangi bir içeriği HTML’ye yansıtmak için echo komutunu kullanırız. Bu komut yazdır anlamına gelir. Echo’dan sonra gelecek içerik, eğer değişken veya bir işlem değil ise, tırnak/tek tırnak içerisinde yazılır.
Örnek: echo “Merhaba Dünya”;
Burada dikkat etmemiz gereken bir diğer önemli hususta, her komutun sonunda noktalı virgül (;) kullanmaktır. Noktalı virgül kullanılmadığı zaman program ne yapacağını bilemeyeceği için hata verecektir.
O zaman ilk php dosyamızı hazırlayalım.
Not Defterini açıyoruz.
İçerisine;
<?PHP
echo “Selam Gençlik”;
?>
yazıyoruz.
Dosyamızı Farklı Kaydet seçeneği ile C:\Appserv\www konumuna kaydediyoruz. Dosyamızın adı ilkdosyam.php olacak. Yalnız dosya adını yazarken tırnak içerisinde yazmamız gerekiyor, aksi takdirde Not Defteri bunu anlamayıp, düz metin belgesi olarka kaydedebilir.
Şimdi hazırladığımız sayfayı görelim. sayfamızın adresi http://localhost/ilkdosyam.php.
Bundan sonra sahip olduğunuz HTML bilgileri ile dosyanızı zenginleştirebilirsiniz. Tek yapmanız gereken PHP kodu kullanacağınız yerlerde <?PHP … ?> etkiketlerini unutmamak ve dosyanızı .php uzantısı ile kaydetmek.
Bir sonraki derste görüşmek üzere…
]]>
Merhaba arkadaşlar,
Bugünden itibaren bu başlık altında PHP dersleri yayınlamaya başlayacağız. PHP’nin kullanımına ilişkin bilgileri buradan sizlerle paylaşacağız. Ders anlatımlarımızı örneklerle destekleyeceğiz. İşleyeceğimiz konuların temel planı aşağıdaki gibi olacak. Daha sonraki aşamalarda bu dersleri PDF ortamında kitap haline getirebiliriz.
Yahoo Messenger
Replace USERNAME with yourID@yahoo.com
<a href=”ymsgr:sendIM?USERNAME”>Contact me via yahoo</a>
<a href=”ymsgr:addfriend?USERNAME”>Add me to buddy list</a>
<a href=”ymsgr:sendIM?USERNAME&m=YOUR+MESSAGE”>Send me an IM</a>
<a href=”ymsgr:call?USERNAME”>Call Me</a>
MSN
Replace USERNAME with yourID@hotmail.com
<a href=”msnim:chat?contact=USERNAME”>Chat with me</a>
<a href=”msnim:add?contact=USERNAME”>Add me to your contact list!</a>
<a href=”msnim:voice?contact=USERNAME”>Voice chat with me</a>
<a href=”msnim:video?contact=USERNAME”>Video conversation with me</a>
AIM
Replace USERNAME with AOL “screenname”
<a href=”aim:goIM?screenname=USERNAME”>Contact me via aim</a>
Open new IM window with a screen name and a message
<a href=”aim:goim?screenname=USERNAME&message=MESSAGE”>Chat in aim</a>
Grabs shared files from a screen name
<a href=”aim:getfile?screenname=USERNAME”>Get Shared Files</a>
Opens a chat room
<a href=”aim:gochat?roomname=CHATROOMNAME”>Go to chat room</a>
Automatically adds screen name to the “Add Buddy” window
<a href=”aim:addbuddy?screenname=USERNAME”>Auto add buddy</a>
Automatically adds screen name and group name to the “Add Buddy” window
<a href=”aim:addbuddy?screenname=USERNAME&groupname=GROUPNAME”>Auto add Screen name and Group name</a>
GoogleTalk
Replace USERNAME with yourID@gmail.com
<a href=”gtalk:chat?jid=USERNAME”>Contact me via Google Talk</a>
<a href=”gtalk:call?jid=USERNAME”>Voice Chat with me</a>
Skype
Replace USERNAME with your Skype user ID
<a href=”skype:USERNAME?chat”>Contact me via Skype</a>
<a href=”skype:USERNAME?voicemail”>Leave voicemail</a>
<a href=”skype:USERNAME?userinfo”>View Profile</a>
<a href=”skype:USERNAME?add”>Add 2 Contact List</a>
]]>