Sessiz Medya |

Php dersleri

Basit PHP Kod Yapısı

PHP Scriptleri <?php ile başlar ve ?> ile biter. PHP Kodlarımız bu aralığa yazılır. Ayrıca çoğu sunucu <? ile başlamasına da destek verir. Buna karşın <?php olarak başlatmaya kendinizi alıştırmanız faydanıza olur.
<html>
<body>
<?php
   echo "Merhaba dünya!";
?>
</body>
</html>
   

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

PHP'de yazı yazdırmanın iki basit kodu vardır: echo ve print, yukarıda echo ile yazı yazdırdık.

Açıklama Nasıl Yazılır?

PHP Kodlarımız arasına satır ya da uzun bölümler halinde açıklama eklememiz mümkün. Bunlar php tarafından görülmez ve bize kolaylık sağlar:
<html>
<body>
<?php
   // Bu bir açıklama

   /* Bu da
      bir
      açıklama */
?>
</body>
</html>
   

PHP Değişkenleri



PHP'de kullanacağımız sayısal değer, kelime, dize gibi değişkenler dolar işareti ($) ile başlar. A-Z, a-z, 0-9 ve _ karakterlerinden oluşabilir.

<?php
   $degisken = "Kalem"; // alfasayısal (string)

   $ad_soyad = "Murat Eliçalışkan";

   $degisken_2 = 1984; // sayısal
?>
   

PHP'de bir değişken önceden tanımlanmadan kullanılır. Örneğin bir değişken belirlediğimizde, o bu değeri ilk kez alıyordur. Buna bağlı türü, yapısı vb değişkenlik gösterebilir.

Bu durumun istisnası DEFINE( tanım, değer ) komutudur. Böylelikle $ işareti ile başlamayan değişmez bir değer oluşturmuş oluruz:

<?php
   define('PI', 3.14);

   echo PI; // 3.14 yazdırır.
?>
   

Genel Bakış

PHP'de alfasayısal yani içerisinde harf, sayı vb. barındıran değişkenlerin kullanımından ve bunlara özel işaret ve fonksiyonlardan bahsedelim.

1. Bir alfasayısal değeri belirtirken tırnak işareti kullanabildiğimiz gibi (') üst ayıraç da kullanabiliriz.

<?php
   $kelime = "Hatasız Kul Olmaz.";

   $kelime = 'Hatasız Kul Olmaz.'; // Yukarıdakinin aynısı

   echo $kelime;
?>
   

Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti:

Hatasız Kul Olmaz.
   

2.. Tırnak işareti kullandığımız string değerlerde değişkenleri bunların içerisinde kullanabilmekteyiz.

<?php
   $adet = 7;

   $kelime = "$adet kedi beni $adet!";

   echo $kelime;
?>
   

Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti:

7 kedi beni 7!
   

3.. Alfasayısal değeri belirtirken tırnak ve üst ayraç kullanımına dikkat etmek gerekir. Aşağıda hata verecek ve vermeyecek kullanımlar bir arada gösterilmiştir:

<?php
   $kelime = "İstanbul'dan kız mı alınır?"; // Doğru

   $kelime = 'İstanbul'dan kız mı alınır?'; // Yanlış, doğrusu:
   $kelime = 'İstanbul'dan kız mı alınır?'; // Doğru

   $kelime = "İstanbul'dan "kız mı" alınır?"; // Yanlış, doğrusu:
   $kelime = "İstanbul'dan "kız mı" alınır?";; // Doğru
?>
   

Görüldüğü üzere bir değişken hangi karakterle başladıysa, içerisinde yer alan bu tarz karakterler kaçış işareti ile () belirtilmelidir. Aksi takdirde hata verecektir.

Kelimeleri Birleştirme (.)

Sadece string değişkenlerde geçerli olarak değişkenler arası nokta işareti kullanarak kelimeler birleştirilebilir.

<?php
   $kelime1 = "Hatasız Kul Olmaz.";
   $kelime2 = "Hatamla Sev Beni.";

   echo $kelime1 . " " . $kelime2;
?>
   

Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti:

Hatasız Kul Olmaz. Hatamla Sev Beni.
   

strlen() Fonksiyonu

Değişkenin karakter uzunluğunu (harf sayısı) verir.

<?php
   $kelime = "Neden Ben?";

   echo strlen( $kelime );
?>
   

Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti:

10
   

strpos() Fonksiyonu

Aranılan bir kelime ya da harfin değişkenin 1. harfine ne kadar uzaklıkta olduğunu gösterir (1. harf 0 sayılır).

<?php
   $kelime = "Beni Bul!";
           // 012345678 olarak görülür

   echo strpos( $kelime, "Bul" );
?>
   

Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti:

5
   


 

Aritmetik İşlemler

Operator Açıklama
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
% Mod (bölümünden kalan)
++ Arttırma (1 ekleme)
-- Azaltma (1 eksiltme)


Görev İşlemleri

Operator Örnek Açıklama
= x = y Eşitlik
+= x += y x, y ile toplamına eşit
-= x -= y x, y den farkına eşit
*= x *= y x, y ile çarpımıdır
/= x /= y x, y ile bölümüdür


Karşılaştırma İşlemleri

Operator Açıklama Örnek
== Eşittir 5 == 8 YANLIŞTIR
!= Eşit değildir 5 != 8 DOĞRUDUR
<> Eşit değildir 5 <> 8 DOĞRUDUR
> Büyüktür 5 > 8 YANLIŞTIR
< Küçüktür 5 < 8 DOĞRUDUR
>= Büyük eşittir 5 >= 8 YANLIŞTIR
<= Küçük eşittir 5 <= 8 DOĞRUDUR


Mantıksal İşlemler

Operator Açıklama Örnek
&& VE x = 6, y = 3 ise
( x < 10 && y > 1 )
DOĞRUDUR
|| VEYA x = 6, y = 3 ise
( x == 5 || y == 5 )
YANLIŞTIR
! DEĞİLSE x = 6, y = 3 ise
( !( x == y ) )
DOĞRUDUR

Koşullara Dayalı İşlemleri Gerçekleştirme

Kod yazarken sıklıkla kullanılan koşul belirteçleri, duruma bağlı olarak işlemler yapmamıza olanak sağlar. Genel yapıları 3 şekildedir:

1. if ( koşul ) - koşul gerçekleşirse komut uygulanır.

2. if ( koşul ) else ... - koşul gerçekleşmez ise ELSE'de belirtilenler uygulanır.

3. if ( koşul ) elseif (koşul ) else ... - İlk koşul gerçekleşmezse alternatif koşullar elseif ile belirtilebilir.

Örnekler

Aşağıdaki örnekte $islem 4 değerini alır, koşul cümlesi olarak yazdığımızda php bize bu yargının doğru olduğunu echo da belirttiğimiz cümle ile gösterir:

<?php
   $islem = 2 + 2;

   if ( $islem == 4 ) {
      echo "2 + 2, 4 eder!";
   }
?>
   

NOT: Koşul gerçekleşirse yapılacaklar { ... } şeklinde belirtilir. Ancak yapılacak iş tek satırlık ise direkt altına yazarak işlem yaptırtabiliriz:

<?php
   $islem = 2 + 2;

   if ( $islem == 4 )
      echo "2 + 2, 4 eder!";
?>
   

Aşağıdaki örnekte koşul gerçekleşmezse ELSE ile php'ye ne yapacağını söylüyoruz:

<?php
   $benim_sayim = 5;

   if ( $benim_sayim == 4 )
      echo "Benim sayım 4!";
   else
      echo "Benim sayım 4'ten farklı!";
?>
   

Ve son olarak araya bir koşul daha alarak yukarıda 3. yapıda bahsettiğimiz ELSEIF kullanımına bakıyoruz:

<?php
   $sayi_tut = 6;

   if ( $sayi_tut < 5 )
      echo "Sayım 5'den küçük!";
   elseif ( $sayi_tut > 5 )
      echo "Sayım 5'den büyük!";
   else
      echo "Sayım 5!";
?>
   

Switch Kullanımı



Bir değişkene bağlı koşullu işlem yaparken IF, ELSEIF, ELSEIF ... şeklinde uzunca bir komut kullanmak hem zamanımızı alır, hem php derleyiciyi yorar. Bu gibi durumlarda Switch kodu işimizi kolaylaştırır.

<?php
   $secim = 3;

   switch( $secim )
   {
      case 1:
         echo "Benim sayım 1!";
         break;
      case 2:
         echo "Benim sayım 2!";
         break;
      case 3:
         echo "Benim sayım 3!";
         break;
      default:
         echo "Benim sayım 1, 2 veya 3 değil!";
   }
?>
   

Yukarıdaki örnekte görüldüğü üzere $secim değişkeninin aldığı değere göre switch komutuyla işlem yapılmasını sağladık. Buradacase 1:, değişkenin hangi değerde olması durumunda işlem yapacağını bize bildirir. break; ise switch'den çıkılması gerektiğini php ye anlatmamıza yarar. default: olarak belirtilen son satır ise hiçbir koşul sağlanmadığı takdirde yapılacak işi tanımlar.

Aşağıda başka bir örnekte string (alfasayısal) bir değişkenle Switch kullandık:

<?php
   $kimin = "Ali";

   switch( $kimin )
   {
      case "Ali":
         echo "Ali'nin";
         break;
      case "Hasan":
         echo "Hasan'ın";
         break;
      default:
         echo "Kimsenin değil!";
   }
?>
   

PHP'de Array (Değişken Grubu, Dize) Kullanımı



Dize, birden fazla değişken barındıran veri grubudur. Bu değişkenler aynı türdedir ve tek bir ana değişken içerisinde bulunurlar.

Örneğin 4 değişkenli bir alfasayısal yapımız var:

<?php
   $model1 = "Mercedes";
   $model2 = "Opel";
   $model3 = "BMW";
   $model4 = "Peugeot";
?>
   

Şanslıyız ki bu modeller 4 tane, ya 400 tane olsaydı? Tek tek yazacak mıydık? Elbette hayır, çünkü dize kullanarak işimizi hızlandırabiliriz.

Sayısal Dizeler

Gruba dahil her değişkenin bir numara ile belirtildiği yapıdır. 2 şekilde yapılır.

<?php
   // 1. Yol
   $modeller = array("Mercedes","Opel","BMW","Peugeot");

   // 2. Yol
   $modeller[0] = "Mercedes";
   $modeller[1] = "Opel";
   $modeller[2] = "BMW";
   $modeller[3] = "Peugeot";
?>
   

Çağrışımsal Dizeler

Dizeleri çağırmak için kullandığımız sayıların yerini kelimeler alır.

<?php
   // 1. Yol
   $puanlar = array(
      "Ali" => 10,
      "Hasan" => 15,
      "Murat" => 22,
      "Ayse" => 32,
   );

   // 2. Yol
   $puanlar["Ali"] = 10;
   $puanlar["Hasan"] = 15;
   $puanlar["Murat"] = 22;
   $puanlar["Ayse"] = 32;

?>
   

Dize İçinde Dize (Çoklu Dizeler)

Bir arraylist içerisinde dizeler kullanabiliriz. Her bir dize için [] eklenir.

<?php

   $aileler = array(
      "Eliçalışkan" => array("Murat","Çiğdem","Esra"),
      "Keçecioğlu" => array("Yavuz","Mustafa")
   );

   echo $aileler["Eliçalışkan"][0] . ",
      Eliçalışkan ailesinin bir üyesidir.";

?>
   

While Döngüsü



Birden fazla işlemi aynı anda yapmak, dizelerlerle çalışmak için döngülerden faydalanırız. Bunlardan biri de While() döngüsüdür.

While( koşul ) { ... } şeklinde kullanımı olan bu komutta koşul doğru (true) olana kadar iç kısımdaki kod tekrarlanmaktadır. Örneğin:

<?php
   $sayi = 1;

   while( $sayi <= 5 ) {
      echo "Benim sayım $sayi!";
      $sayi++;
   }
?>
   

Aşağıdaki şekilde sonuç verir:

Benim sayım 1!
Benim sayım 2!
Benim sayım 3!
Benim sayım 4!
Benim sayım 5!
   

Do ... while Döngüsü

Eğer kodu önce yaptırtacak sonra koşulu kontrol edeceksek bu komut bize yardımcı olur. Yukarıdaki aynı işlemi bu komutla yapalım:

<?php
   $sayi = 1;

   do {
      $sayi++;
      echo "Benim sayım $sayi!";
   }
   while( $sayi <= 5 );
?>
   

Aşağıdaki şekilde sonuç verir:

Benim sayım 2!
Benim sayım 3!
Benim sayım 4!
Benim sayım 5!
Benim sayım 6!
   

For Döngüsü



Bir kodu, belirttiğimiz şekillerde ve sayılarda yaptırtmak için for komutu bize yardım eder.

for( değişken, koşul, artış miktarı ) { ... } şeklinde kullanılır. Örneğin:

<?php
   for ( $i = 1; $i <= 5; $i++ ) {
      echo "Benim sayım $i!";
   }
?>
   

Yukarıda, FOR( ... ) içerisinde yazdığımız kodun anlamı: $i 1 dir, $i 5'e eşit ya da ondan küçük olduğu sürece $i'yi 1 arttır ve aynı işlemleri tekrar et. Aşağıdaki şekilde sonuç verir:

Benim sayım 1!
Benim sayım 2!
Benim sayım 3!
Benim sayım 4!
Benim sayım 5!
   

Foreach Döngüsü

Bir dize (array) içerisindeki tüm değerleri listelemek, onlar üzerinde işlem yapmak için bu komuttan yararlanabiliriz.

<?php
   $sayilar = array("Bir","Iki","Uc");

   foreach( $sayilar as $deger ) {
      echo $deger;
   }
?>
   

Aşağıdaki şekilde sonuç verir:

Bir
Iki
Uc
   

onksiyon



PHP'de hazırlayacağımız özel fonksiyonlarla işlerimizi kolaylaştırabilir, türlü işlemler için zaman kazanabiliriz.

function isim( değişkenler ) { ... } şeklinde kullanılır. Örneğin:

<?php

   AdimiYaz();

   function AdimiYaz() {
      echo "Murat Eliçalışkan";
   }

?>
   

Parametre Kullanmak

Fonksiyonları bazı değişkenlerle birlikte kullanabiliriz.

<?php

   echo "Benim adım ";
   AdYaz( "Murat" );
   echo "Kardeşimin adı ";
   AdYaz( "Çiğdem" );

   function AdYaz( $ad ) {
      echo $ad . "<br />";
   }

?>
   

Aşağıdaki gibi çıkacaktır:

   Benim adım Murat
   Kardeşimin adı Çiğdem
   

Parametre sayısı birden fazla da olabilir. Parametreler arasına virgül (,) alarak bu işlemi yaparız. Ayrıca bazı parametreleri opsiyonel (seçime bağlı) ayarlamamız da mümkün. Bunları bir örnekte görelim:

<?php

   AdYaz( "Murat", 27 );

   AdYaz( "Çiğdem", 25, true );

   function AdYaz( $ad, $yas, $kalin_yaz == false ) {
      if ( $kalin_yaz )
         echo "<b>$ad, $yas yaşında.</b><br />";
      else
         echo "$ad, $yas yaşında.<br />";
   }

?>
   

Aşağıdaki gibi görünecektir:

   Murat, 27 yaşında.
   Çiğdem, 25 yaşında.
   

Fonksiyonlarda Değer Döndürmek

Fonksiyonlar return; komutu ile bir sonucu elde etmemizi sağlayabilir. Aşağıda bir sayının karesini alan fonksiyon anlatılmıştır:

<?php

   echo Karesi( 6 );

   function Karesi( $sayi ) {
      return $sayi * $sayi;
   }

?>
   

Bu örnekte gördüğümüz fonksiyonun döndürdüğü değer sayısaldır, bir fonksiyon sayısal, alfasayısal (string), mantıksal (boolean) veya dize (array) döndürebilir. Ayrıca bir fonksiyonun işlevini kesip tekrar ana kodlara dönmesi için boş bir şekilde return; kullanılabilir.


Form İşlemleri



HTML ile hazırladığımız bir form PHP yardımıyla nasıl işlevsel hale getirilir? Bu başlıkta bunu öğreneceğiz.

Bir form yapısı şu şekildedir.

<html>
<body>

<form action="deneme.php" method="post">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>
   

Burada METHOD özelliği iki şekilde olabilir: "get" ve "post". GET verileri adres satırına ekleyerek gönderir. Örneğin deneme.php?ad=murat şeklinde olacaktır. POST metodu ise verileri aynı dosyaya adres satırına yansımadan gönderir. Yani yollanan dosya yine deneme.php adına olacaktır.

PHP bizler için form verilerini iki değişkende saklar. GET ile alınan verileri $_GET['nesne'], POST ile alınan verileri $_POST['nesne']şeklinde. Burada nesne olarak belirtiğimiz HTML formunda INPUT'larda belirttiğimiz "name" özelliğindeki değerdir.

$_GET İşlevini Kullanmak

Bu şekilde gönderilen veriler adrese eklenirler. Yukarıdaki formmethod="get" olarak gönderilseydi, adresimiz deneme.php?ad=murat&yas=27 şeklinde olurdu. PHP ile bu verileri işlemek içinse $_GET['ad'] ve $_GET['yas'] nesnelerini kullanırdık.

NOT: Aşağıdaki örnekte isset() bir değişkenin tanımlı olup olmadığını kontrol etmemize yarar. Tanımlanmamış değişken kullanmak php de hata mesajları almanıza yol açar. isset() tanımlıysa TRUE değilse FALSE olarak döner.

<html>
<body>

<?php
   if ( isset( $_GET['ad'] ) && isset( $_GET['yas'] ) )
      echo $_GET['ad'] . ", " . $_GET['yas'] . " yaşındadır.";
?>

<form action="deneme.php" method="get">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>
   

$_POST İşlevini Kullanmak

Bu şekilde gönderilen veriler adrese eklenmez. Yukarıdaki formmethod="post" olarak gönderilseydi, adresimiz deneme.php?ad=murat&yas=27 şeklinde olurdu. PHP ile bu verileri işlemek içinse $_GET['ad'] ve $_GET['yas'] nesnelerini kullanırdık.

<html>
<body>

<?php
   if ( isset( $_POST['ad'] ) && isset( $_POST['yas'] ) )
      echo $_POST['ad'] . ", " . $_POST['yas'] . " yaşındadır.";
?>

<form action="deneme.php" method="post">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>
   


 





Bu sayfa hakkında yorum ekle:
İsmin:
Mesajınız:

Bugün 1 ziyaretçi (6 klik) kişi burdaydı!
=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=