7 Mayıs 2015 Perşembe

PHP ile HTML Formlarından Gelen Bilgileri Almak

PHP vb. internet tabanlı programlama dillerinin en güçlü yanı kullanıcıların bir web formuna girdikleri değerleri elde edip kullanabilmeleridir. Örneğin yapacağınız bir siteye kullanıcıların üye formunu doldurması gerekmektedir veya kullanıcı sitenizden belirli bir ürünü satın almak için ödeme ve teslimat bilgilerini girmelidir. ASP.Net’in aksine PHP’nin kendi form kontrolleri bulunmamakta fakat bu bir eksi yön değil tam tersi biz programcılara web tasarım için daha geniş bir alan bırakıyor böylece HTML ve CSS ile çok daha zengin ve işlevsel formlar oluşturabiliriz.

Bu yazının amacı HTML ile form oluşturmak değil bu konuda çok sayıda bilgi bulabilirsiniz. Ben bu yazıda bir HTML formdan gelen bilgileri elde etmeyi anlatacağım.


Kullanıcıdan ad, soyad, yaş ve cinsiyet bilgilerini alıp görüntüleyen bir formu form.html ismiyle oluşturalım.
Bir HTML form oluştururken öncelikle formumuzu <form> ... </form> etiketleri arasında oluşturmalıyız. <form> etiketinin name(isim), action(eylem) ve method(metot) olmak üzere üç önemli parametresi bulunmaktadır. Name forum adıdır bazı web sayfalarında birden fazla form bulunabilir bu durumda hangi formdan değer aldığınızı kontrol edebilirsiniz. Action yeni eylem kullanıcı formu doldurup kaydet/onayla vb. butona bastığında bu formda girilen verilerin hangi dosya tarafından işleneceğini belirtir ve bu bizim PHP sayfamız olacaktır. Method tüm HTML sayfalarda GET veya POST olmak üzere iki değerden birisidir.

GET: GET metoduyla veriler URL adresi üzerinden taşınır güvenlik nedeniyle pek tercih edilmez.

POST: Güvenlik sebebiyle daha çok tercih edilen yöntemdir.

Biz öncelikle get metodunu kullanacağız.

Formu oluştururken her nesnenin (text, radio) özel bir ismi olduğuna dikkat edin çünkü değerleri alırken nesne isimlerini kullanacağız.

Kullanıcı formu doldurup Kaydet başlıklı submit butonuna bastığında form girilen verilerle birlikte işlemlerin yapılması için action parametresiyle belirtilen php/asp/aspnet vb. ile yazılmış sayfaya yönlendirilir.
Resimde de görüldüğü gibi get metodu ile HTML formdan formisle.php sayfasına değer taşırken URL adresi kullanılıyor.

Aslında get metodu ile veri taşımada kullanılan yöntem bellidir:

Sayfa_adi.php?nesne1=değer1& nesne2=değer2& nesne3=değer3&…

Şeklinde bir URL adresi oluşur. Bu yöntem pratik olmasına rağmen kullanıcı adı ve şifre gibi kritik değerlerin taşınması için tercih edilmeyen bir yöntemdir. Mutlaka get metodu kullanılacaksa da kritik değerlerin şifrelenip kullanılması daha doğru olur!

Şimdi formisle.php sayfamızı oluşturalım ve örneğimizi tamamlayalım.
Formdan gelen verileri değişkenlere aktarırken get metodunu kullandığımız için $_GET[“nesne adı”] ile gelen değeri elde ediyoruz. Eğer post metodunu kullanmış olsaydık $_POST[“nesne adı“] şeklinde kullanacaktık.

Burada belirtmek istediğim bir diğer nokta if ile yaptığımız kontroldür. Acaba kullanıcı formu doldurup Kaydet butonuna basarak mı formisle.php sayfasına gitti yoksa tarayıcının adres satırına formisle.php sayfasının yolunu yazarak mı sayfaya ulaştı! Eğer ikinci yöntem yapıldıysa formdan gelen bir değer olmayacaktır ve sayfamız hata verecektir! Bunun önüne geçmek için if (isset($_GET["ad"])) ifadesi ile ad alanının değerinin olup olmadığına bakıyoruz eğer ad alanının değeri varsa form doldurulmuş gibi düşünüyoruz.

24 Nisan 2015 Cuma

PHP de if … else kullanımı

Bazen yazdığımız programda belirli bir koşulun sağlanması veya sağlanmaması durumlarına göre farklı kodların çalıştırılması gerekir ve bu durum programlamada dallanma olarak isimlendirilir. Örneğin bir web form doldurulurken kullanıcının cinsiyetine göre değişik sorular sorulması gerekebilir veya kullanıcının girdiği değere göre farklı işlemler uygulanması gerekebilir. İf Türkçe eğer anlamına gelmektedir ve günlük hayatta kullanım amacına benzer yani eğer şartlar şöyle ise şunu yapalım böyle ise bunu yapalım şeklinde bir kullanımı vardır.

İf deyimi kullanılırken else (değilse) bloğu her zaman yazılmak zorunda değildir. Genelde koşulun sağlanması durumunda if bloğuna yazılan komutlar çalıştırılır.

İf deyiminde önemli olan şudur yazdığınız koşul doğru ise true (olumlu/doğru) sonucu üretilir ve if’ten sonra yazdığınız kod bloğu çalıştırılır, eğer koşul sağlanmazsa false (yanlış/olumsuz) sonucu üretilir ve else’den sonra yazdığınız komutlar işletilir.

İf kontrolü neredeyse tüm dillerde benzer kullanımları olan bir kontrol yapısıdır.

Genel Kullanımı;

if (Koşul) {
         // Koşul’un sağlanması durumunda çalıştırılacak işlem kodları
} else {
        // Koşul’un sağlanmaması durumunda çalıştırılacak işlem kodları
// else (değilse anlamına gelir) bloğu yazılmak zorunda değildir!
}

Şeklindedir.


Örnek: Bir değişkenin değerinin tek veya çift olduğunu bulup görüntüleyelim.
Bir sayının tek veya çift olup olmadığını anlamak için o sayıyı 2 ye tam böleriz, eğer bölümden kalan 0 ise sayı çifttir, eğer bölümden kalan 1 veya -1 ise tek sayıdır.

% operatörü php de mod alma yani tam bölme yaparak bölümden sonra kalanı bulmak için kullanılır.

$sayi % 2 == 0 koşulunda $sayi değişkeninin değerinin 2 ye bölümünden kalanın 0 olup olmadığını kontrol ediyoruz. Php ve çoğu dilde = operatörü değişkene değer atama işleminde kullanıldığı için eşitlik kontrolü için == operatörü kullanılmaktadır.

Örneğimizde bölümden kalan 0 ise ilk kod bloğu, diğer durumlarda ikinci kod bloğu çalıştırılmaktadır.

Örnek: Bir öğrencinin derse ait dört notunun ortalamasını hesaplayıp ortalamasını ve başarı durumunu görüntüleyelim.

Öğrencinin dört notunun aritmetik ortalamasını alarak ortalamayı buluyoruz, parantez kullanımına dikkat etmelisiniz. Eğer ortalama hesaplanırken parantez kullanmaz iseniz

$ortalama=$sinav1+$sinav2+$performans1+$performans2/4; gibi bir durum oluşur ve bu kodun yaptığı şey $sinav1,$sinav2,$performans1 değişkenleri ile $performans2 değişkeninin 4’te 1’ini toplamaktır! Dikkat edelim!

$durum değişkenini tanımlıyoruz daha sonra kullanacağız.

İf yapısını incelediğimizde ise önceki örnekteki if.. else den farklı bir yapı kullanılmakta.

İf .. else if … daha farklı bir kullanım şeklidir. Eğer koşul sağlanmaz ise ikinci if o da sağlanmazsa sonra if şeklinde her seferinden kontrol edilir. Belirtilen koşulların hiçbirisinin sağlanmaması durumunda ise en alttaki else bölümüne yazılan kod işletilir. Bu kullanımı örnek olması açısından verdim yoksa bu yazımdansa bir diğer dallanma yapımız olan switch deyimi kullanılır.

Gelelim örnekteki if yapımızı açıklamaya…

Öğrencinin ortalaması 0 – 49,99 puan aralığında ise başarısız olmuştur. Tabi biz herhangi bir programlama dilinde günlük kullanımda olduğu gibi bir sayı aralığı belirtmek için – operatörünü kullanamıyoruz. Programlama dillerinde sayı aralığı belirtmek için >(büyüktür) <(küçüktür) >=(büyük veya eşittir) <=(küçük veya eşittir) gibi operatörleri kullanırız.

Ortalama değişkeninin belirli bir aralıkta olup olmadığını $ortalama>=0 && $ortalama < 50 şeklinde kontrol ederiz. Burada iki koşul yazılmış ve bu koşullar && (and - ve) bağlacı ile bağlanmıştır. Böylece iki koşulunda sağlanması beklenmektedir. Örneğin 40 değeri 0’dan büyük ve 50’den küçüktür yani koşulumuz true (olumlu) sonuç üretir. Bu kontrol ile 0 ile 49,99 aralığındaki tüm sayılar bu aralık kapsamına alınır. Sayı aralığı kontrollerinde sınır değerlere ve operatör kullanımına dikkat edilmelidir çünkü > ile >= arasında ciddi bir fark vardır!

Örneğin ortalamamız 50’den büyük ise ilk if koşulu sağlanmaz bu durumda ikinci if koşulumuz kontrol edilir. Bu kontrol herhangi bir if koşulu sağlanana kadar sürer eğer herhangi bir if koşulu true sonucunu üretmezse en sondaki else bloğu işletilir.

Örneğimizde ortalama 0’dan küçük veya 100’den büyük olması durumunda “Geçersiz puan!” sonucu üretilecektir.

12 Nisan 2015 Pazar

Php’de While Döngüsü

For döngüsü yazısında belirttiğim gibi çoğu zaman yaptığımız işler tekrar eder ve bu tekrar eden işlemler için döngü yapılarını kullanırız. Eğer işlemin kaç defa tekrar edeceğini biliyorsanız for döngüsü kullanmak çoğu zaman daha kolaydır.

Bazı durumlarda ise tekrar sayısı önceden bilinmez. Örneğin bir dersi alan öğrencilerin dönem sonu notlarını hesaplatmanız gerek ama o dersi kaç öğrencinin aldığı belirsiz; bir dosyadaki değerleri okutup toplamını bulmalısınız ama dosyada kaç sayı olduğu bilinmiyor!

Bu ve benzeri durumlar ile çoğu zaman karşılaşırız, döngümüz önceden belirli olan bir değerde değil belirli bir koşul sağlandığı sürece tekrar eder. While döngüsü bu durumlarda bizim kurtarıcımızdır çünkü yapısı gereği belirli bir koşul sağlandığı sürece tekrar eder.

Genel Kullanımı;

While (Koşul) {
// Tekrarlanacak kodlar
}

Belirttiğimiz koşul sağlandığı yani true(olumlu) sonucunu ürettiği sürece döngümüz işlemlerimizi yapmaya devam edecektir. Bu koşul bazen 3 defa sağlanır bazen 30000 defa tekrar eder.

While döngüsü ile for döngüsünün en önemli farkı artışı belirtilen bir değerin olmamasıdır, döngü değişkeninin artması veya azalmasını siz kontrol edersiniz. Eğer bu duruma dikkat etmezseniz Sonsuz Döngü adını verdiğimiz hata oluşur, döngüden hiç çıkılmaz ve yazdığınız program kilitlenir!


Örnek: 1’den 10’a kadar olan sayıların toplamını bulup görüntüleyelim.

Yukarıda görülen örnekte döngü koşulumuz $sayi değişkeninin 10’dan küçük veya eşit olması, $sayi değişkeninin ilk değeri olan 1 bu koşulu sağladığı için koşulumuz true sonucunu verir ve döngü işlemeye başlar.

Döngü içinde önce $sayi değişkeninin o anki değerini yazdırıyoruz.

İf ile yaptığımız kontrolde amacımız şudur; eğer $sayi değişkeninin değeri 10’dan küçük bir değer ise değeri yazdıktan sonra toplama işlemi için + operatörünü yazdıracağız. Eğer $sayi nin değeri 10 ise zaten toplayacağımız sayılarımız bitmiştir = operatörünü yazdırıp toplam değerinin görüntüleyeceğiz bu nedenle bu kontrol gösterim için önemlidir.

$sayi değişkeninin son değeri ile $toplam değişkeninin değerini toplayıp sonucu $toplam değişkeninde topluyoruz. Aslında $toplam+=$sayi; ile $toplam=$toplam+$sayi; aynı anlama gelir ama daha kısa olan yazımı tercih edelim.

$sayi++; ile $sayi değişkeninin değerine +1 ekliyoruz. İşte bu kod önemli çünkü bu kodu unutursak $sayi değişkenin değeri teorik olarak sonsuza kadar aynı kalacak ve döngümüzden hiç çıkılamayacaktır! Bu kod aynı zamanda döngümüzün tekrar sayısını da kontrol etmemizi sağlar.

Döngüden çıktıktan sonra = operatörünü ve toplam değerini yazdırıyoruz.
Örnek: Değerleri 1 – 250 arasında değişen 25 rastgele sayı üretip görüntüleyelim.

Yukarıda görülen örnekte döngü koşulumuz $sayac değişkeninin 25’den küçük olması, $sayac değişkeninin ilk değeri olan 0 bu koşulu sağladığı için koşulumuz true sonucunu verir ve döngü işlemeye başlar.

$sayi=rand(1,250); ile değeri 1 ile 250 arasında değişen rastgele bir sayı üretip bu sayıyı $sayi değişkenine aktarıyoruz.

$sayac++; ile değişkenin değerini 1 artırıyoruz böylece kaç sayı ürettiğimizi kontrol edebileceğiz.


While döngüsünün önemli bir özelliği vardır, bu döngü koşula bağlı olduğu için bazen bu koşul HİÇ sağlanmaz ve bu nedenle while döngüsü hiç işletilmez. Yukarıda belirtilen örnekte döngü koşulu $x değişkenin değerinin 5’ten küçük olmasıdır oysa $x değişkeninin başlangıç değeri 8’dir ve 8>5 olduğu için bu koşul sağlanmaz ve program akışı 10. Satırdan devam eder. Bu örnekte tarayıcı ekranında hiçbir şey görmeyeceğiz.

Bu bilgi dikkate alınarak while döngüsü yazılmalıdır.

While döngüsünün farklı bir türevi olan do – while döngüsü ile ilgili olarak bir noktayı vurgulamak istiyorum.

Do {
// Tekrarlanacak kodlar
} While (Koşul);

Do – while döngü yapısını incelediğinizde koşul kontrolünün döngünün sonunda yapıldığı dikkatinizi çekmiştir. While döngüsünde daha döngüye girmeden yapılan kontrol do – while döngüsünde sonda yapılmaktadır ve bu durum basit bir yer değişimi değildir! Vurgulamak istediğim nokta şu; program akışı yukarıdan aşağıya satır satır işletilir do – while döngüsünde tekrarlanacak kodlar EN AZ 1 defa çalıştırılır ve sonra koşul kontrolü yapılır eğer koşul sağlanırsa tekrar edilmeye devam eder.

Önceki örneği do – while ile tekrar yazıp sayfayı görüntülediğimizde ise ekranda

Değerini görürüz. $x değişkeninin başlangıç değeri olan 8 koşulu sağlamasa da kodlar 1 defa çalıştırılır 8 değeri ekranda görüntülenir; $x++ ile değeri +1 artırılıp 9 olur sonra koşul kontrolü yapılır ve program akışı 10. Satırdan devam eder!

Bu nedenle do – while döngüsü yazılırken daha dikkatli olunmalıdır!
Kolay gelsin…

8 Nisan 2015 Çarşamba

PHP’de For Döngüsü

Bir program yazarken çoğu zaman aynı işlemi tekrar tekrar yaparız. Örneğin bir sınıftaki öğrencilerin sınav notlarını kullanarak ortalamayı hesaplarız, bu durumda yapılan işlem her öğrenci için aynıdır. Döngüler program yazarken tekrarlanan işlemleri daha az kod yazarak daha hızlı yapmamızı sağlar.

For döngüsü neredeyse tüm dillerde kullanımları farklıda olsa bulunan bir döngü yapısıdır. Eğer biz döngümüzün kaç defa döneceğini yani tekrarlanacağını biliyor isek for döngüsünü kullanabiliriz.

Genel Kullanımı;

for (Döngü_Değişkeni=Başlangıç_Değeri; Koşul; Değişim_Miktarı) {
                // Tekrarlanacak işlem kodları
}

Şeklindedir.

Döngü_Değişkeni: For döngüsünün kaç defa tekrar edeceğini kontrol etmemizi sağlayan değişkendir. Genel olarak sayısal veya karakter tiplerinden biri kullanılır.

Koşul: Bu döngünün tekrar etme koşulu nedir, bu belirtilir. Örneğin x<=100 koşulu x değişkeninin değerinin 100’den küçük veya eşit olduğu sürece bu döngünün tekrar edeceğini belirtir.

Değişim_Miktarı: Döngü değişkeninin artış veya azalış miktarını belirtir. For döngüsünün en belirgin özelliği değişim miktarının belirtilmek zorunda olmasıdır. Çoğu kaynakta bu bölüm artış miktarı olarak belirtilse de kurulacak döngünün yapısına göre değişim miktarı negatif bir değer de olabilir. 1’den 50’ye kadar kurulan bir döngüde Değişim_Miktarı pozitif bir değerdir ama 25’ten 5’e kurulan bir döngüde Değişim_Miktarı negatif bir değer olur.


Örnek: 1’den 10’a kadar olan sayıları alt alta yazdıralım.


Döngü değişkenimiz olan $i’nin başlangıç değeri 1 olarak verişmiştir; koşulumuz $i<=10 yani $i 10 veya 10’dan küçük olduğu sürece tekrar eder; değişim miktarımız $i++ yani 1’er 1’er artacaktır.

echo $i.’<br/>’; komutu ile $i’nin o anki değerini tarayıcı ekranına yazdırıyoruz; (nokta) . operatörü ile birlikte yazdığımız <br/> ile de $i’nin değerini her yazdırmamızdan sonra bir sonraki satır başına geçiyoruz. 
Örnek: 1’den 25’e kadar olan sayıları yan yana yazdıralım ve sayıların toplamını bularak görüntüleyelim.


Döngü değişkenimiz olan $i’nin başlangıç değeri 1 olarak verişmiştir; koşulumuz $i<=25 yani $i 25 veya 25’den küçük olduğu sürece tekrar eder; değişim miktarımız $i++ yani 1’er 1’er artacaktır.

echo $i.’ ’; komutu ile $i’nin o anki değerini tarayıcı ekranına yazdırıyoruz; (nokta) . operatörü ile birlikte yazdığımız ’ ’ ile de $i’nin değerini yazdıktan sonra 1 boşluk bırakıyoruz.

$toplam+=$i; $toplam değişkeninin son değerine += operatörü ile $i değişkeninin değerini ekliyoruz.


Örnek: 100 ile 1 arasındaki 3’e tam bölünebilen sayıları bularak görüntüleyelim.


Döngü değişkenimiz olan $i’nin başlangıç değeri 100 olarak verişmiştir; koşulumuz $i>=1 yani $i 1 veya 1’den büyük olduğu sürece tekrar eder; azalan bir döngü olduğu için değişim miktarımız $i-- yani 1’er 1’er azalacaktır.

Tüm programlama dillerinde olduğu gibi if (Eğer) komutu ile $i’nin o anki değerinin 3’e tam bölünüp bölünmediğini kontrol ediyoruz. $i % 3 == 0 ifadesinde % operatörü mod alma işlemini yapar, eğer $i nin o anki değerinin 3’e bölümünden kalan 0 ise sayı 3’e tam bölünebiliyor demektir. Bu durumda $i’nin değerini ekrana yazdırırız ve sayaç olarak kullandığımız $adet değişkeninin değerini 1 artırıyoruz.


Örnek: Aşağıdaki görüntüyü iç içe döngü kullanarak oluşturalım.


Yukarıda görülen şekil incelendiğinde yukarından aşağıya 5 satır, soldan sağa en fazla 5 karakter olduğu görülmektedir. Birinci satırda 1 yıldız, ikinci satırda 2 yıldız …. Beşinci satırda 5 yıldız olduğu görülmektedir.

Yukarıda gördüğünüz kod incelendiğinde iç içe iki for döngüsü birlikte kullanılmaktadır. Dıştaki birinci döngü değişkeni olan $y 1’den 5’e dönerek hem satır sayısını, hem de o satırdaki yıldız sayısını kontrol edecektir. İçteki ikinci döngü değişkeni $x ise 1’den $y değişkeninin o anki değerine kadar dönerek satırdaki yıldız sayısını kontrol etmektedir. İçteki döngü tamamlandığında bulunan satırdaki yıldızlar yazılmış olduğu için içteki döngüden çıkışta echo ‘<br/>’ ile bir sonraki satıra geçilmektedir.

6 Nisan 2015 Pazartesi

WampServer Port Değiştirme

Hangi dil kullanırsanız kullanın fark etmez bir web sitesi hazırlandıktan sonra web sunucu(server) olarak yapılandırılan bilgisayarlarda yayınlanır. Tabi bir web sunucu satın almak hadi diyelim aldınız bu sunucuyu 7 gün 24 saat aktif olacak şekilde barındırmak kolay bir iş olmadığı için bu hizmeti Hosting firmalarından belirli bir ücret karşılığı satın alırız.

PHP, Asp.Net, Perl gibi sunucu taraflı programlama dilleri ile kod yazarken elbette kalkıp bir sunucu almıyoruz, kendi bilgisayarımızı yerel bir web sunucu(localhost olarak isimlendirilip kullanılır) gibi yapılandırıyoruz. WampServer paketi ile yüklenen Apache, Windows işletim sistemi üzerinde çalışan IIS (Interent Information Services) bu işlemi kolayca yapmanızı sağlar. IIS Asp.Net ile uyumlu çalışırken nazı özel ayarlarla PHP dosyalarını da çalıştırabiliyor fakat ben bu işlemi yapmadım. Web sunucular TCP/IP protokolü üzerinden çalışırlar ve TCP/IP’nin kendilerine ayrılan portu üzerinden yayın yaparlar. Burada bilgisayarınızın arkasında bulunan fiziksel portlar değil 0 – 65535 arasında değişen sanal bir numara kastedilmektedir.

Çoğu web sunucu genelde http 80 numaralı port kullanılır. WampServer paketi içinde bulunan Apache Web Sunucusu da varsayılan olarak 80 numaralı portu kullanmaktadır. Fakat bazen bilgisayarımızda kurulan bazı uygulamalar aynı portu kullanırlar bu durumda uygulamalar çakışır problem yaşayabiliriz.

Örneğin bilgisayarımızda IIS de yüklü ise ve WampServer dan önce IIS aktif hale gelmişse, WampServer’ın bir türlü bütün servislerinin başlayamadığını, localhost umuzun çalışmadığını görürüz. WampServer ile diğer uygulamaların çakışmalarını engellemek için portumuzu değiştirebiliriz.

WampServer ikonuna tıkladıktan sonra, yukarıdaki resimde gördüğünüz menüler karşınıza çıkıyor. Burada Apache sekmesine tıklıyoruz. Karşımıza gelen bu minik pencereden, httpd.conf dosyamızı seçiyoruz.

Not defteri ile birlikte açılan httpd.conf dosyasından "#Listen:" ile başlayan satırı bulmalıyız. Ctrl + F ile aratarak daha kolay bulabilirsiniz.

Bulduğunuz satırda, örnekte de belirtildiği gibi hangi portu kullanmak istiyorsanız onu yazıyorsunuz. Çoğunlukla 8080 portunun kullanılması önerilir ve bunun için Listen 80 ifadesini Listen 8080 yazıp kaydetmelisiniz. Siz de hangi portu kullanmak istiyorsanız onu yazın ve kaydedin.

Sonra ilk resimde görülen menüden Restart All Services(Bütün Servisleri Yeniden Başlat) seçeneğini seçerek WampServer'ı yeniden başlatıyoruz. Artık WampServer http 8080 portundan çalışacaktır.


http://localhost:8080 üzerinden, herhangi bir programla çakışma yaşamadan, WampServer’ı  rahatlıkla kullanabilirsiniz.Kolay gelsin...

2 Nisan 2015 Perşembe

WampServer Kurulumu

Sunucu tabanlı bir dil olan PHP'nin çalışabilmesi için kişisel bilgisayarınızın yerel bir sunucu olarak ayarlanması gereklidir. Bunun için izleyebileceğiniz iki yol bulunmakta.

Birinci yolu takip ederseniz Apache Web Sunucusu, PHP Yorumlayıcısı ve MySQL veritabanı sunucusunu tek tek kendiniz kurup, yapılandırmalısınız. Özellikle PHP’nin yeni yeni duyulduğu doksanlı yılların sonunda bu yoldan başka bir alternatifimiz yoktu ve kurulum işlemi bile ciddi bilgi ve sabır gerektiriyordu.

İkinci yol ise Windows işletim sistemleri için Apache, PHP, MySQL ve diğer tüm eklentileri kolayca kurabileceğiniz paketleri kullanmak. EasyPHP, WampServer, XAMPP gibi çeşitli paket kurulumlar bulunmakta seçim sizin. Ben bu yazımda uzun süredir kullandığım, kolay kurulup kullanılabilen WampServer paketinin kurulumunu anlatacağım.

Kuruluma geçmeden önce kullandığınız Windows sürümünün 32 Bit mi yoksa 64 Bit mi olduğunu öğrenmeniz lazım, bunu öğrendikten sonra doğru paketi indirip kuruluma geçebiliriz.

Bilgisayarım simgesine sağ tıklayıp Özellikleri seçin.


Sistem başlığı altındaki Sistem türü bölümünde bu bilgiyi öğrenip kuruluma geçebilirsiniz.

Önce http://www.wampserver.com/en/#download-wrapper adresinden sisteminiz için uygun versiyonu indirmelisiniz.

İndirmek için bağlantıyı tıkladığınızda bir bilgi ve uyarı ekranı gelir. Bazı durumlarda altını çizdiğim bağlantıdan Microsoft’un sitesine bağlanıp Visual C++ Redistributable for Visual Studio 2012 Update X güncellemesini kurmanız gerekebiliyor. Eğer kurulum sonrası WampServer’ı çalıştıramazsanız WampServer’ı kaldırıp bu eklentiyi yükledikten sonra tekrar kurmayı deneyin, çoğunlukla hatasız çalışıyor.


Eğer belirtilen uyarı ve bilgiler ile ilgili bir sorun yoksa download directly bağlantısına tıklayın, kurulum dosyasını indirmek için sourceforge sitesine yönlendirileceksiniz. Geri sayım bittikten sonra indirme işlemi başlayacak.


Kurulum dosyası indikten sonra çift tıklayıp çalıştırın. Windows güvenlik ayarlarınıza göre bir uyarı mesajı alabilirsiniz Evet’i seçip kurulumu başlatın.


İlk ekranda size WampServer paketi ile birlikte hangi bileşenlerin kurulacağının ve bu bileşenlerin versiyon bilgisi görüntülenecektir, Next’i seçip devam edin.



Lisans sözleşmesini okumak isterseniz okuyun :) Yok beni pek ilgilendirmiyor diyorsanız I accept the agreement’i işaretleyerek onaylayın, pasif olan Next butonu aktif hale gelecektir, Next’i seçip kuruluma devam edin.


WampServer’ın hangi sürücü ve klasöre kurulacağı bilgisi görüntülenir, isteğe göre bu sürücü ve klasörü değiştirebilirsiniz. Gerekli değişiklikleri yaptıktan sonra Next’i seçip kuruluma devam edin.



Kurulum sonrası WampServer’ı kolayca çalıştırmak için Hızlı Başlat ve Masaüstü’ne kısayol oluşturmak isterseniz bu seçenekleri işaretleyip, Next’i seçip kuruluma devam edin. Alttaki seçeneği işaretleyip Masaüstü’ne kısayol oluşturmanızı tavsiye ederim.


Şu ana kadar yaptığınız tercihlerle ilgili bir bilgi penceresi geldi, artık Install butonuna basarak kurulumu başlatabilirsiniz.


Bu aşamada varsayılan Internet tarayıcınızı seçmeniz istenecektir, eğer doğrudan onaylarsanız genelde Internet Explorer seçilir. Varsayılan tarayıcınızı daha sonra da değiştirebilirsiniz, Aç butonuna basarak kuruluma devam edin.


PHP’nin mail() fonksiyonunu kullanarak sorunsuz bir şekilde mail atmak isterseniz SMTP sunucu ayarlarını kurulum sırasında yapabilirsiniz. Eğer bu konuda bilginiz yok ise veya özel bir ayarlama yapmak istemiyorsanız Next’i seçip kuruluma devam edin.


Kurulum tamamlandı ve WampServer artık çalıştırılabilir.


Windows güvenlik ayarlarınıza bağlı olarak WampServer çalıştırılmadan önce sizden onay istenebilir, Evet’i seçip çalıştırmak için gerekli onayı verin.


Başlat Çubuğu’nun sağ alt bölümünde WampServer ikonu önce kırmızı, sonra turuncu, sonra yeşil renklerinde belirir. Yeşil olması WampServer’ın sorunsuz bir şekilde çalıştığının yani PHP çalışmaya başlayabileceğiniz anlamına gelir. Eğer WampServer ikonu kırmızı veya turuncu renkte takılıp kalıyor ise başlatılamıyor yani bir sorun var demektir.


WampServer’ın sorunsuz bir şekilde çalıştığından nasıl emin olacağız? Yeşil renkli WampServer ikonuna sol tıkladığınızda bir menü açılır. Bu menüden Localhost’u seçtiğinizde varsayılan tarayıcınız çalışır ve WampServer bilgi sayfası görüntülenir. Bu sayfada bulunan Tools başlığı altında bulunan phpinfo() seçeneğini seçerek PHP kurulumuz ile ilgili tüm değer ve parametrelerin görüntülendiği bilgi sayfası görüntülenir.



PHP öğrenmek için gerekli olan WampServer kurulumunu tamamladık, kolay gelsin…