&gizlimi&sizeID PHP ye Giriş 1 - www.yazilimarsivi.blogcu.com - Blogcu



            

PHP ye Giriş 1

21/11/2008 ·

2.1. PHP'ye Giriş

PHP sunucu taraflı (server side), HTML ile uyumlu bir betik dilidir. Daha önce kullandığım “programlama dili” ifadesi PHP için yüzde yüz açıklayıcı değildir. PHP, HTML de olduğu gibi bir derleyici tarafından derlenmez, sadece sunucudaki php programı tarafından yorumlanır. C bilen birisi için PHP öğrenmesi çok basit olan bir dildir, öyle ki dosya işlemleri gibi karışık konularda PHP, C’den çok daha basittir.

Yazdığınız PHP kodları hiçbir zaman sitenizin ziyaretçisine görüntülenmez. Ziyaretçi sayfanın kaynağını görüntülese bile göreceği sizin PHP kodlarınızın sunucu sistemdeki php programı tarafından HTML’ye çevrilmiş halidir. Aşağıdaki kod kümesini incelerseniz daha iyi anlayacağınızı sanıyorum (PHP’ye henüz bir giriş yapmadığım için kodları anlamayabilirsiniz, fakat yine de C’ye az da olsa aşina olanlar bir anlam çıkartacaktır).

  printf(“Bu bir PHP dosyasıdır.
n”);

  print(“Bu bir PHP dosyasıdır.
n”);

  echo (“Bu bir PHP dosyasıdır.
n”);

  echo “Bu bir PHP dosyasıdır.
n”;

?>

Yukarıdaki dört kod satırıda ekrana “Bu bir PHP dosyasıdır.” yazdıracaktır. Ve web istemcinizden sayfanın kaynağına baktığınız zaman sadece

Bu bir PHP dosyasıdır.

Bu bir PHP dosyasıdır.

Bu bir PHP dosyasıdır.

Bu bir PHP dosyasıdır.

gibi bir içerik görürsünüz. Yazdığınız kodlar sunucu sistemdeki php programı tarafından normal HTML kodlarına çevrilmiştir ve ziyaretçi bu kodlardan başka herhangi bir içerik göremez.

Dikkat ettiyseniz sayfamızın kaynağındaki kodlar dört satır halinde yazılmış, eğer PHP programımızda her metinden sonra gelen “n” karakterini kaldırsaydık sayfamızın kaynağındaki komutlar tek satıra yerleşirdi.

Fakat bu sayfanın ziyaretçiye görünen kısmını değiştirmediği için üzerinde fazla durulması gereken bir konu değil.

Bir diğer husus da kodlarımızda kullandığımız
etiketi. Evet PHP içinde doğrudan doğruya HTML etiketleri kullanabilmemiz bize çok büyük kolaylıklar sağlayacak. PHP dosyaları sunucu sistemde
.php ya da .php3 uzantısı ile saklanır (.php3, PHP’nin 3. Sürümü için kullanılmaktadır). Dosyamızda PHP kodlarını kullandığımız yeri göstermek için ya da etiket aralıklarını kullanırız. Bu etiketlerin kullanıldığı yerden itibaren sunucu etiket aralığındaki komutları php yorumlayıcısına gönderir, php yorumlayıcısı da bu kodları düz HTML kodlarına çevirir.

Denemelerinizi bir UNIX ya da türevi işletim sistemi üzerinde yapmanızı tavsiye ederim, çünkü PHP ile birlikte kullanılan bir çok işlev Windows altında çalışmamakta ya da sorun yaratmaktadır.

Elinizin altında PHP+MySQL desteği bulunan bir sistem olduğunu varsayarak bölüme başlıyorum.

Öncelikle PHP’nin yazım kurallarından söz etmek istiyorum. Daha öncede belirttiğim gibi PHP kodları ya da etiketleri arasında kullanılır. Yazdığımız her komuttan sonra ; işareti kullanırız (C’ye benziyor demiştim ;)). Bir web sayfasında veya formdan gelen değişkenleri adlarının başına $ işaret koyarak sembolize ederiz ve değişken adlarında Türkçe karakter kullanamayız.

2.1.1. PHP ile Ekrana Yazı Yazma

PHP konu başlığında verdiğim örnekte olduğu gibi ekrana yazı yazmak için dört değişik yol kullanırız (en azından ben o kadar biliyorum!)

  printf(“Bu bir PHP dosyasıdır.
”);

  print(“Bu bir PHP dosyasıdır.
”);

  echo (“Bu bir PHP dosyasıdır.
”);

  echo “Bu bir PHP dosyasıdır.
”;

Yukarıdaki dört satırda ekrana “Bu bir PHP dosyasıdır.” yazacaktır. Dikkat ederseniz her komuttan sonra bir ; işareti kullanılıyor. Bu işareti kullanmamamız halinde php programı hata verecektir. Şimdi içinizde “Bu yazıyı HTML ile daha kısa bir kod kümesi ile yazmak mümkün!” diye düşünenler olacaktır (bende ilk başta öyle düşünmüştüm :-), fakat ilerde ekrana değişken ile gelen bilginin yazdırılmasını gördükten sonra sizde bu yazım şeklinin gereksiz olmadığını anlayacaksınız.

Aşağıdaki örnekte $deger adlı değişkene değer atayıp ekrana yazdırıyorum.

 

/* Buralar yorum satırı*/

# Burası da tek satırlık yorum aralığı

 

$değer = "Bu değişkenin değeri";

echo $değer;

 

?>

Bu dosyayı yazıp ilk.php diye kaydettikten sonra web istemcinizin adres satırına http://localhost/ilk.php yazarsanız ekranda “Bu değişkenin değeri” yazısını göreceksiniz (Kullandığınız sunucunun ismi localhost ve ilk.php dosyasının da ana www dizininde olduğunu varsaydım).

PHP ile sadece metinsel işlemler değil, matematiksel işlemler de gerçekleştirebilirsiniz. Bunun için C programlama dilinde olduğu gibi toplama için +, çıkarma için -, çarpma için *, bölme için / ve kalan bulma için % sembolleri kullanılır.

İsterseniz birkaç örnek ile matematiksel işlemlere giriş yapalım.

###########################

#   Matematiksel İşlemler #

#         mat.php         #

###########################

 

# Değişkenler tanımlanıyor

$a = 10;

$b = 2;

$c = 3;

 

# Kullanılacak matematiksel işlevler tanımlanıyor

$toplam = ($a + $b + $c);

$carpim = ($a * $b * $c);

$bolum = ($a / $b);

$kalan = ($a % $c);

 

# Çıktılar ekrana yazdırılıyor

echo "Tanımlı değişkenlerin toplamı: $toplam
n";

echo "Tanımlı değişkenlerin çarpımı: $carpim
n";

echo "Birinci ve ikinci değişkenin bölmesi sonucu bölüm: $bolum
n";

echo "Birinci ve üçüncü değişkenin bölmesi sonucu kalan: $kalan";

?>

Yukarıdaki örnek, programlama ile daha önce uğraşmamış birisi için biraz karışık olabilir. Önce değişkenlere değer atanır ve belirli işlevler kullanılarak bu değerler istenilen işlemlerden geçirilerek farklı bir sonuç elde edilir. Tıpkı matematikte kullanılan işlevler gibi, belirli işlemler istenilen değişken değerine uygulanır.

Yani, y = f(x, w, z) = x + w + z gibi, bizde y yerine $toplam diye bir değişken ve x, w ve z yerine $a, $b ve $c gibi değişkenler kullandık. Matematikte kullanılan işlevlerden tek farkı kullanılan değişken tiplerinin farklı olması ve matematiksel işlemler dışında da işlemlerin yapılabiliyor olmasıdır.

Bizim örneğimizde bazı matematiksel değerlerin toplamı, çarpımı ve bölümü alındı. Bu matematiksel işlemleri istenilen amaç doğrultusunda uzatıp karmaşıklaştırmak mümkün.

Yazdığımız PHP dosyasının HTML kaynak kodu

Tanımlı değişkenlerin toplamı: 15

Tanımlı değişkenlerin çarpımı: 60

Birinci ve ikinci değişkenin bölmesi sonucu bölüm: 5

Birinci ve üçüncü değişkenin bölmesi sonucu kalan: 1

gibi düz HTML kodlarından ibaret olacaktır. Ziyaretçinin hiçbir şekilde bizim PHP kodlarımızı görme şansı yoktur. Kaynak kodundan kullandığımız n karakteri HTML çıktımızda satırların tek bir satır gibi değil de alt alta yazılmış satırlar olarak oluşmasını sağladı. Bu gibi durumlarda kullanımı gerekli değilse de kullanımının gerekli olduğu durumlar kesinlikle vardır.

Birde bir önceki örneği dikkatli bir şekilde incelediyseniz orada değişkenin değerini verirken “ (tırnak işareti) kullanmama karşın son örnekte kullanmadım. Tırnak işareti kullanılmadığı zaman PHP değişkenimizin sayısal değer taşıyan bir değişken olduğunu anlayacaktır.

Diyelim ki elimizde iki tane metin bilgisi taşıyan değişken var. Bunlar $ad = "Fehmi Noyan" ve $soyad = "İSİ" olsun. Bu değişkenlerin değerlerini birleştirip tek bir değişkende saklamak mümkündür. Saklamak istediğimiz tek değişken $ad_soyad ise kullanmamız gereken komut kümesi

$ad_soyad = $ad . " " . $soyad;

gibi bir satırdır. Bu işlem için çok farklı birleştirme yolları olsa da bu kullanım birçok yerde işinizi görecektir.

2.1.2. Web Formundan Bilgi Almak

Buraya kadar anlattıklarım sadece bir giriş içindi (şimdiki aşama da daha işin başı, yani giriş bitmedi). Fakat sizinde bildiğiniz gibi dinamik bir sitede değişkenlerin değerleri kullanıcı tarafından sunucu sisteme yollanır. Bu iş için ya form yöntemi ya da adres satırından bilgi girişi yolu kullanılır. En yaygın ve kullanışlı olanı form yöntemidir.

Ad ve Soyad Bilgisi

Adınız:

Soyadınız:

################

# ad_soyad.php #

################

 echo "Adınız $ad ve soyadınız $soyad.";

?>

Yukarıdaki örnek dosyaları yorum satırlarında belirtilen adlar ile yazıp kaydettikten sonra, istemcinizin adres satırına http://localhost/ad_soyad.html yazıp karşınıza çıkacak formu doldurun. "Gönder" düğmesine bastıktan sonra PHP dosyamız çalışacak ve bize istenilen çıktıyı verecektir. Burada dikkat etmeniz gereken nokta istemcinizin adres satırındaki bilgidir. Eğer ben formda adım için “Fehmi Noyan” soyadım içinse “ISI” (Türkçe karakter kullanmamak için büyük i kullanmadım) bilgilerini girersem adres satırında

http://localhost/ad_soyad.php?ad=Fehmi+Noyan&soyad=ISI

gibi bir satır görünecektir. Dikkat ederseniz form ile gönderilen bilgilerin name="..." kısmının PHP dosyamızdaki değişken adlarını ve adres satırındaki PHP dosyası ve ? karakterinden sonraki kısımların PHP dosyamıza gidecek değişkenlerin değerini verdiğini fark edeceksiniz.

HTML dosyamızda oluşturduğumuz web formunda kullandığımız etiketi içindeki name="..." kodu bize o etiket ile gelen bilginin action=”...” kodu ile belirtilen dosyada aynı isimli değişken olarak kullanılacağını belirtir. Web formunu doldurmadan da, sadece adres satırına yukarıdaki satırı girerek de formumuza bilgi yollayabiliriz. Satırda PHP dosyamızın isminden sonra bir ? karakteri kullanılır, daha sonra her değişkenin adı ve değeri birbirinden & karakteri ile ayrılır. Bu yol ile web formlarından bilgi göndermek mümkündür ama pek kullanışlı değildir.

Formumuzda get yöntemini kullandığımız için adres satırında girdiğimiz bilgiler görüntülendi. Aynı HTML dosyasını formun bilgileri gönderme metodunu post olacak şekilde ayarlayıp tekrar deneyin. Bu sefer adres satırında girilen hiçbir bilgi olmayacaktır. Yani sadece

http://localhost/ad_soyad.php

gibi bir satır olacaktır. Ben örneklerimde bundan sonra post yöntemini kullanacağım.

2.1.3. Diziler

Diziler bazen kullanılması kaçınılmaz olan ve her PHP programcısının kullanımını bilmesi gereken elemanlardır. Adından da anlaşılacağı üzere, diziler bir tek değişkenin değeri içerisinde birden çok değer saklar. Mesela içerisinde haftanın günlerini barındıran bir dizi değişken

  $hafta = array(“Pazartesi”, ”Salı”, ”Çarşamba”, ”Perşembe”, ”Cuma”, ”Cumartesi”);

şeklinde tanımlanabilir. Dikkat ederseniz haftanın son günü olan “Pazar” dizi içerisinde yer almıyor. Pazar’ı dizi içerisine dahil etmek için

  $hafta[] = ”Pazar”;

şeklinde bir ifade kullanabiliriz. Böylece son belirtilen “Pazar” elemanı dizinin son elemanı olmuş olur.

Dizi içerisindeki bir elemanı ekrana yazmak için, mesela dizinin 3. elemanı,

  echo $hafta[2];

komutu kullanılır. Dizinin 3. elemanı için neden “2” rakamını kullandık? Bunun sebebi dizilerin ilk elemanının 1. değil 0. eleman olmasıdır. Bir dizi değişkeninin eleman sayısı count() işlevi ile öğrenilebilir.

  echo count($hafta);

ifadesi ekrana 7 rakamını basacaktır. Dizi değişkenleri ve bunlar üzerinde işlem yapan işlevler ile ilgili bilgiyi PHP Manuel’in “Array Functions” kısmında bulabilirsiniz.

                                                                                                                                  Alıntıdır

0 yorum yazılmıştır

« Önceki :: Sonraki »