PHP 2. İlk komutumuzu yazalım

Bir önceki makalede php çalıştırmak için gerekli olan araçları kurduk. Şimdi ilk php sayfamızı çalıştıralım ve sonucu görelim.
Öncelikle şunları hatırlatalım:
PHP sayflaraının uzantısı .php olmalıdır. (Tabi ki bu uzantıyı değiştirmek mümkün. Fakat biz genel geçer kurallar üzerinde konuşalım.)
.php uzantılı olmayan dosyalardaki php kodları aynen olduğu gibi web tarayıcısına gönderilecektir. Haliyle bunlar işlem görmeyecek hatta son kullanıcı tarafından görülebilecektir.
.php uzantılı dosyalar aslında HTML formatında dosyalardır. Yani <html> tag’ı ile başlar </html> tagı ile biterler. Bunların farkı araya php kodları yazıyor olmamızdır.
PHP kodları HTML kodu içerisinde <?php blablakod ?> şeklinde yazılırlar. <?php ?> tagları arasında yazılmayan kodlar yine işlem görmeyecektir.
Biz kendi yerel sunucumuzda çalışıyoruz. İstersek php.ini dosyasından tüm hataları görünür yapabiliriz. Fakat yine de alışkanlık haline getirelim ve hata kontrolü (debug) yapmak sitediğimiz sayfaların başına error_reporting(E_ALL); kodunu yazalım ki oluşabilecek hataları ekranda görelim. Peki bu hataları her zaman neden görüntülemiyoruz diye sorabilirsiniz. Mesele şu ki eğer tüm hata mesajlarınızı görüntülerseniz kodlarınız ve sisteminiz hakkında birçok bilgiyi kötü niyetli kişilere kolayca verebilirsiniz.
PHP yapı oalrak C dili ile benzerlik göstermektedir. Bu benzerliklerden biri de tüm satırlar ; (noktalı virgül) ile bitmelidir.
Şimdilik aklıma gelen önemli noktalar bu kadar. Hadi ilk kodumuzu yazalım.
<?php echo ‘merhaba dünya’; ?> Bu kodu index.php isimli bir dosyaya kaydedelim ve webroot dizinimize koyalım. Bir önceki makalede de anlattığımız gibi WampServer için bu root dizini “c:\wamp\www” dizinidir. Yani biz index.php dosyamızı buraya koyacağız. Sonra da tarayıcımızın adres satırına http://localhost yazacağız.
Eğer herşey yolunda gitmişse sayfanın sol üst köşesinde merhaba dünya yazısını görmemiz gerekiyor. Görmüyorsak bundan önce izlediğimiz adımları kontrol etmekte fayda var.
Eğer daha önce normal bir programlama dili kullandıysanız temel olarak giriş ve çıkış komutları olduğunu zaten biliyorsunuz. Yani writeln, readln, scanf, printf, readkey, print gibi komutlarla ekrana yazı yazdırdık ve klavyeden giriş aldık. (Tabi bu bahsettiklerim visual olmayan diller)
PHP’de echo yad aprint komutuyla ekrana bilgi yazdırıyoruz. Klavyeden birşeyler okumak için ise genellikle HTML FORM kullanıyoruz. Bir örnekle açıklayalım:

<?php
if(isset($_POST['adi']) && isset($_POST['soyadi']))
{
echo 'Sorgu çalıştı <br>';
echo $_POST['adi'].' '.$_POST['soyadi'];
}
?>
<html>
<head><title>PHP Öğreniyorum</title></head>
<body>
<form name="form1" action="_self" method="POST">
<input name="adi" type="text" size="25" maxlenght="25">
<input name="soyadi" type="text" size="25" maxlenght="25">
<input type="submit" name="button" value="Tamam">
</form>
</body>
</html>

Yukarıda kırmızı ile yazılan kısım sayfanın php derleyicisi tarafından işlenecek kısmı. Mavi ile yazılı olan kısım ise doğrudan tarayıcıya gönderilecek kısım.
İlk satırda bir sorgu çalıştırdık ve POST metodu ile sayfaya gönderilen “adi” ve “soyadi” değişkenlerinin bir değere set edilip edilmediklerini kontrol ettik. isset komutu herhangi bir değişkenin set edip edilmediğini yani bir değer içerip içermediğini kontrol eder. Fakat şunu hatırlatmakta yarar var. Eğer “adi” değişkeninin değeri “” (boş karakter), ” ” (boşluk), “0” (sıfır) gibi değerlere set edilmişse bile isset sorgusu 1 (True) olarak dönecektir. Burada kontrol edilen değişkenin içeriği değil kendisinin bellekte yer alıp almamış olmasıdır.
Biz IF sorgumuzda hem “adi” hem de “soyadi” değişkenlerinin set edilmiş olmasını istedik. Bu durumda sayfayı ilk açtığımızda karşımıza herhangi bir yazı çıkmayacak çünkü bu iki değişkeni set etmedik.
Sayfanın mavi ile yazılmış kısmıda ise basit bir HTML sayfası ve içinde de bir FORM yer almaktadır. Bu form’un adı “form1”, içeriğini göndereceği yer “_self” (yani kendisi. Buraya islemler.php yazsaydım tamam butonuna bstığımda değerleri islemler.php sayfasına gönderecekti), gönderme metodu “POST” olarak belirlenmiştir. Formun içinde her ikisinin de görülebilir ve kullanılabilir karakter giriş sayısı 25 olmak üzere bir “adi” diğeri “soyadi” isminde iki adet TEXT FIELD’ımız var. Son olarak da formu ACTION’da tanımlanan hedefe göndermesi için SUBMIT butonumuz var.
Tamam (Submit) butonuna bastığımızda artık “$_POST[‘adi’]” ve “$_POST[‘soyadi’]” değişkenleri bir değere sahipler. Biz bunları boş bırakıp gönder butonuna bassak bile bu iki değişken artık boş da olsa bir değere sahipler. Bu nedenle sorgu çalışacak ve “adi” “soyadi” değişkenlerini ekrana yazacaktır (boş olsalar bile.)
Sonra tekrar forma birşey yazıp “Tamam” butonuna bastığımızda bu sefer de yeni yazdıklarımız üstte gözükecektir.
Böylece klavyeden birşeyler girdik ve bunları sayfada yazdırdık. Bundan sonraki konuda birkaç matematik işlem ile stringler üzerinde birkaç deneme yapacağız. Ondan sonra da veritabanına birşeyler yazıp okumayı deneyeceğiz.
Herkese iyi çalışmalar
Bölüm 3 ->

Yorum yaz