Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Öğr.Gör.Şükrü KAYA.  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı,

Benzer bir sunumlar


... konulu sunumlar: "Öğr.Gör.Şükrü KAYA.  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı,"— Sunum transkripti:

1 Öğr.Gör.Şükrü KAYA

2  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı, özellikle site geliştirmeye uygun bir betik dilidir. (PHP ilk çıktığında adını "Personal Home Page " kelimelerinin baş harflerinden almıştır.)  Dil yapısının önemli bir kısmını C, Java ve Perl gibi dillerden almış, kendisine has özelliklerle bu yapıyı pekiştirmiştir.  PHP, özellikle dinamik web sayfaları oluşturmak amacıyla kullanılan, sunucu tarafında çalışan bir programlama dilidir.

3  Bir ziyaretçi siteye girdiğinde, sunucu PHP komutlarını çalıştırır ve o anda sunucu bir HTML çıktısı üretir. Ziyaretçinin bütün görebileceği bu çıktı olur. PHP kodunu göremez.  Bu durum; ziyaretçinin kullandığı tarayıcıya, günün saatine veya akla gelebilecek her türlü değişkene bağlı olarak farklı bir sayfa üretilip gönderilebilmesini sağlar. Dinamik web sayfası kavramı da buradan gelmektedir.  Bu şekilde, tamamıyla kullanıcıya özel sayfalar oluşturmak PHP ile hiç de zor değildir.

4  PHP, bir Script dilidir; yani kodları düz yazı dosyaları halinde kaydedilir ve kullanılacağı ortamda bir yorumlayıcı tarafından yorumlanır.  PHP ile yazılacak programları, derlemek yani ortaya bir EXE veya çalıştırılabilir başka bir dosya çıkartmaya gerek yoktur.  Fakat, PHP Script'lerini çalıştırabilmek için bu dili bilen bir programa ihtiyaç vardır.  Bu programın tek başına (komut istemci penceresinde veya terminal ekranında) çalışması mümkün olduğu gibi, Web Server tarafından da çalıştırılabilir olması gerekir. Başka bir deyişle, Web Sunucusu PHP’yi anlar hale getirilmelidir.

5  Rasmus Lerdorf, Internet'in henüz yayıldığı 1990'ların ortalarına doğru iş arıyordu; hayat öyküsünü bir kişisel sayfada yayınlamak ve başvuracağı yerlere bu sayfanın adresini verebileceğini düşündü. Fakat o dönemde özellikle üniversitelerin Unix ağlarında kurulan Web Sunucularda kişisel sayfa yapmak kolay değildi.  Rasmus, kendisi için hazırladığı yazılımın Web'e aşina olmayanlar tarafından da kolayca kullanabileceğini düşündü. Bu yazılımın büyükçe bir bölümü Perl dilinden alınmıştı.

6  Rasmus Lerdorf, adına Personal Home Page (Kişisel Ana Sayfa) dediği bu programın çok tutulması üzerine bir form yoluyla ziyaretçiden gelen bilgileri işlemeyi sağlayan eklerini yazdı ve böylece programın adı PHP/FI (Form Interpreter/Form Yorumlayıcı) oldu.  Kimileri programın bu sürümüne PHP2 adını taktı, bu ad, programın çok değişmesine ve gelişmesine rağmen uzun süre değişmeden kaldı.  Rasmus Lerdorf, 1995'in ortalarında, Zeev Suraski, Stig Bakken, Shane Caraveo ve Jim Winstead ile bir grup kurdu ve PHP'yi Perl'den ödünç alma rutinlerle iş yapan bir paket olmaktan çıkartıp, Nesne- Yönelimli (Object-Oriented) bir programlama dili haline getirdi.

7  PHP yorumcusu, bugün Zend-çekirdeği adı verilen bir Scripting teknolojisine dayalı olarak, Zeev Suraski ile Andi Gutmans tarafından sıfırdan, tamamen yeniden yazılmış bulunuyor.  Bugün bu dilin resmî adı "PHP: Hypertext Preprocessor" (Hiper metin ön işlemcisi) olarak değiştirildi, ve çeşitli Web Server'ların PHP dili anlaması için gerekli yorumlayıcıları yeniden üretildi.

8

9  Ücretsiz  Açık kaynak kodlu  Hızlı  Kararlı (Stabil)  Platformlardan bağımsız  Derlemeye gerek duyulmaması  Çok geniş kullanım alanı  Kolay ve güçlü  Server taraflı çalışması  Sadece web için yazılmış olması  Tüm veritabanlarını kullanması

10  PHP betikleri ( veya dosyaları) işareti ile biter.  Deyimler (Satırlar) ";" karakteri ile biter.  Metinler " veya ' karakterleri arasına yazılır.  Metin içindeki özel karakterlerin başına \ karakteri eklenir.  Betik içine açıklama koymak için #, // veya /* */ kullanılır.

11 Üretilen HTML kodlarının düzenini ayarlamak için aşağıdaki özel karakterler kullanılır. \nYeni Satıra geçiş yapar (New Line) \rSatır Başı (Return) \tSekme (Tab) karakteri <?php echo "İyi olmak kolaydır, zor olan adil olmaktır. \n"; echo "\t\tAnonim Atasözü\r"; echo "Bu sözü sevdim. "; ?> İyi olmak kolaydır, zor olan adil olmaktır. Anonim Atasözü Bu sözü sevdim. HTML Kaynağı Çıktısı:

12  PHP Kodları içindeki metinler (yazılar, string ifadeler) " veya ' işaretleri arasına yazılır.  Metin içindeki özel karakterlerin başına \ (kaçış karakteri) karakteri eklenir. <?php echo "Bu bir örnek \"PHP\" betiği. "; ?> Tarayıcı Çıktısı: Bu bir örnek "PHP" betiği.

13  1. <?php echo 'XHTML ya da XML belgeleri sunacaksanız, böyle yapın'; ?>  2. echo 'bazı düzenleyiciler (FrontPage gibi) işlem yönergelerini sevmezler';  3. Bu " " için bir kısayoldur.  4. için bir kısayoldur. 1 Sürekli Kullanılan Yöntem 2 Az Kullanılan Yöntem 3. Ve 4. Yöntemi Kullanabilmek için php.ini dosyasında ayar yapmak gerekir (short_open_tag = on, asp_tags = on). Bu nedenle bu yöntemle yazılan kodlar taşınabilir değildir.

14  Satır sonlarına C ve Perl’deki gibi, her deyimin (veya satırın) ";" işareti ile bitirilmesi gerekir.   PHP Kod bloğunun sonuna " ; " konması gerekmez. Kapanış etiketi (?>) aynı zamanda satır sonu işaretini kendisi ekler.  <?php echo " Merhaba dostlar. " ; ?>

15 "Tek satırlık" bir açıklamalar için satır başına “ //” işareti ya da “#” işareti, birden fazla satır açıklaması için “/*” ile başlayan “*/” ile biten işaretler kullanılır. Açıklama bu iki işaret arasına yazılır. Örnek: <?php echo 'Bu bir denemedir'; // Bu tek satırlık c++ tarzı açıklamadır /* Bu, C tarzı çok satırlı bir açıklamadır */ echo 'Bir deneme daha'; echo 'Bu da sonuncusu'; # Bu tek satırlık kabuk tarzı açıklamadır ?>

16 Örnek

17 Bu önerme doğrudur. Bu önerme yanlıştır. Örnek Bu önerme doğrudur. Bu önerme yanlıştır.

18 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Örnek '; ?> echo 'bazı düzenleyiciler (FrontPage gibi) işlem yönergelerini sevmezler '; '; ?> Bu " " için bir kısayoldur. '; %> için bir kısayoldur.

19  Önceden tanımlanmalarına gerek yoktur.  Değişken isimlerinin önüne $ işareti eklenir.  Değişken isimleri, harf veya _ ile başlayabilir, sayı ile başlayamaz.  Değişken isimlerinde sadece harfler, sayılar ve _ karakteri kullanılabilir.  Burada kastedilen harfler a-z veya A-Z arasındaki ASCII harfler ve 127 ile 255 (0x7f-0xff) arasındaki baytlardır.  Büyük-küçük harf duyarlıdır.  Değişken ismi uzunluğu sınırsızdır.

20 $this atama yapılamayan özel bir değişkendir.

21 $this atama yapılamayan özel bir değişkendir.

22 $adi = ‘Şükrü'; //'Mustafa' değerini $adi değişkenine ata $ifade = &$adi; //$adi değişkenini $ifade değişkenine gönderimli ata $ifade = "Benim adım $ifade "; //$ifade değişkenini değiştir echo $ifade; // $adi değişkeninin değeri de değişti. echo $adi; Tarayıcı Çıktısı: Benim adım Şükrü

23  PHP çalıştırdığı herhangi bir betiğe çok sayıda önceden tanımlı değişken sağlar.  Bu değişkenler;  Dış kaynaklı değişkenler,  Yerleşik ortam değişkenleri,  Son hata iletisi,  Hangi sunucunun çalıştığı,  Sunucunun sürümü  Sunucunun kurulumu ile ilgili değişkenler  vb.

24  GLOBAL DEĞİŞKENLER  php.ini dosyasında register_globals değeri on olmalıdır.  Örneğin,  web sunucunun ana dizinini almak için $_SERVER['DOCUMENT_ROOT‘]  web sunucunun adını almak için $_SERVER['SERVER_NAME'] kullanılabilir.

25 phpinfo() fonksiyonu kullanılarak tüm çevre değişkenleri görüntülenebilir. Bunlara ek olarak PHP hakkındaki kurulum, yüklenmiş eklentiler, ayarların değerleri gibi bilgilere de ulaşılabilir. <?php phpinfo() ; ?>

26 array() Fonksiyonu kullanarak dizi tanımlanabilir. <?php $isimler = array("ali","mehmet","ayşe","şükrü"); echo $isimler[2]." "; $aylar = array( 1 => "Ocak", 2 => "Şubat", 3 => "Mart", 4 => "Nisan"); echo $aylar[3]; ?> 0. indis1. indis2. indis3. indis 1. indis2. indis 3. indis4. indis

27  $dizi_degisken[] değişken adı ile dizi tanımlanabilir. <?php $dizi_isimleri[0] = "Karanfil"; $dizi_isim leri [1] = "Yasemin"; $dizi_isim leri [2] = "Nergiz"; $dizi_isim leri [3] = "Gül"; echo $dizi_isim leri [2]." "; echo $dizi_isim leri [3]." "; ?>

28  Operatörler değişkenlere değer atama, karşılaştırma, metin işlemleri, mantıksal işlemler ve matematiksel işlemlerde kullanılır.  Matematiksel İşlemler:  Toplama+( $i = 1 + 2; )  Çıkarma– ( $i = 5 – 2; )  Bölme/( $i = 4 / 2; )  Çarpma*( $i = 2 * 2; )  Modülüs -Kalan%( $i = 3 % 2; )

29 <?php $i = 2 + 3; echo " $i " ; # Sonuç: 5 $i = 5 – 2; echo " $i " ; # Sonuç: 3 $i = 2 * 2; echo " $i " ; # Sonuç: 4 $i = 4 / 2; echo " $i " ; # Sonuç: 2 $i = 3 % 2; echo " $i " ; # Sonuç: 1 ?> 5342153421 Tarayıcı Çıktısı :

30  Değer atama operatörü olarak ”=“ işareti kullanılır.  $i = 1;$i = " bir";  Metin işlemlerinde iki ayrı metni birleştirme amaçlı “.” (nokta) operatörü kullanılır.  $i = "bir"."iki"; <?php $i = 5; echo " $i " ; $i = “ bir " ; echo “ $i " ; $i = " bir ". " iki " ; echo " $i " ; ?>

31 Eşit==( $a == $b ) (Değer) Eş===( $a === $b ) (Değer ve veri tipi) Eşit değil!=( $a != $b ) Eş değil!==( $a !== $b ) Büyük>( $a > $b ) Küçük<( $a < $b ) Büyük Eşit>=( $a >= $b ) Küçük Eşit<=( $a <= $b )

32 ve and veya &&( $a and $b, $a && $b ) veya or veya ||( $a or $b, $a || $b ) yada xor veya ^ ( $a xor $b, $a ^ $b )

33  if yapısı, kodların koşullu olarak çalıştırılabilmelerini sağlar.  PHP, C dilindekine benzer bir if yapısı sunar:  ifade kendi mantıksal değeri üzerinden değerlendirilir. ifade'nin sonucu TRUE ise, PHP deyim'i çalıştırır, FALSE ise deyim’i gözardı eder.

34 if (koşul) { deyim ; } elseif ( koşul2 ) { deyim ; } elseif ( koşul3 ) {. } else { } if ($ay == 1) { echo “Seçilen ay OCAK’tır.”; } elseif ($ay == 2) { echo “Seçilen ay ŞUBAT’tır.” ; } elseif ($ay == 3) {. } else { echo “Bir ay seçilmedi”; }

35  Örneğin, aşağıdaki kod $a değeri $b değerinden büyük olduğu takdirde "a b’den büyüktür " yazısını görüntüler ve sonrasında $a değişkeninin değerini $b değişkenine atar:  <?php  $a = 5;  $b = 3; if ($a > $b) { echo "a b’den büyüktür "; $b = $a; } ?>  Sonsuz sayıda if deyimi bir başka if deyiminin içine gömülebilir. Bu, uygulamanın çeşitli bölümlerine koşullu deyimler uygulayabilmek için tam bir esneklik sağlar.

36 " methot="GET"> Topla Çıkar Çarp Böl Kalan <?php echo "1. Sayı : $sayi1 "; echo "2. Sayı : $sayi2 "; if(empty($sayi1) or empty($sayi2)){ echo "Sayı girmediniz. "; }else{ if($islem == "1"){ echo "Toplamı :". ($sayi1 + $sayi2); }elseif($islem == "2"){ echo "Farkı :". ($sayi1 - $sayi2); }elseif($islem == "3"){ echo "Çarpımı :". ($sayi1 * $sayi2); }elseif($islem == "4"){ echo "Bölümü :". ($sayi1 / $sayi2) ; }elseif($islem == “5"){ echo “Kalan :". ($sayi1 / $sayi2) ; }else{ echo "Hesaplama yapılmadı."; } } ?>

37 if (koşul) { deyim ; } elseif (koşul2) { deyim ; } elseif (koşul3) {. } else { } SWITCH ( değişken ) { CASE koşul1 ; deyim; break; CASE koşul2 ; deyim; break;...................... DEFAULT: deyim; }

38 <? $gun = 1; SWITCH ( $gun ){ CASE $gun = = 1; print ("Pazartesi"); break; CASE $gun = = 2; print ("Salı"); break; CASE $gun = = 3; print ("Çarşamba"); break; DEFAULT : print ("Yanlış seçim"); break; } ?> Örnek : Verilen sayıya göre gün adını bulan program.

39 <? $gun = 1; SWITCH ( $gun ){ CASE 1; print ("Pazartesi"); break; CASE 2; print ("Salı"); break; CASE 3; print ("Çarşamba"); break; DEFAULT : print ("Yanlış seçim"); break; } ?> Örnek : Verilen sayıya göre gün adını bulan program.

40 Döngüler istenilen işlemleri belirli bir sayıda çalıştırmak için kullanılırlar.  Döngünün sonsuz olmaması için koşul verilmelidir.  Döngü içinden istenildiği zaman çıkmak için break komutu kullanılır. for(ifade1;koşul; ifade2) { Deyim (işlemler); } while(koşul) { işlemler; }

41 <?php for ($i = 1; $i < 10; $i++) { echo “$i ”; } ?> <?php for ($i = 1; $i < 10; $i++) { echo “$i ”; if ($i == 5){ break; } } ?> <?php $i = 1; while ($i < 10) { echo “$i ”; $i++; } ?> <?php $i = 1; while ($i < 10) { echo “$i ”; if ($i == 5) { break; $i++; } } ?>

42 for ( $degisken = ilk_deger ; kosul ; adim ) { Koşul doğru ise yapılacak işlere ilişkin komutlar } Örnek : 1'den 100'e kadar çift sayıların toplamını bulan program. <? for ( $sayi = 0 ; $sayi <= 100 ; ) { $ciftsayi = $ciftsayi + $sayi; $sayi = $sayi +2; } echo $cift; ?>

43 while (koşul) { Koşul sağlanıyorsa yapılacaklar; } Örnek : 1'den 10'a kadar olan sayıların toplamını bulan program. <?php $sayac = 0; while ($sayac <= 10){ $sayac ++; $toplam = $toplam + $sayac; } echo $toplam; ?>

44  print () : Ekrana bir değişkenin değerini veya bir metni yazdırmayı sağlar. print ("PHP Programlama"); // Ekrana "PHP Programlama" yazdırır. $gun = "Perşembe"; print ($gun); //Ekrana "Perşembe" yazdırır.

45  gettype() : Bir değişkenin ne tür bir veri içerdiğini döndürür $ders_adi = "PHP Programlama"; echo gettype($adi); //Ekrana "string" yazılacaktır  settype() : Bir değişkenin veri türünü değiştirmek için kullanılır $sonuc = "75" ; //Karakter türdeki $sonuc //değişkenine "75" değeri atanıyor. $basari = ( integer ) $sonuc //$sonuc değişkeninin //değeri integer a dönüştürülüyor

46  isset() : Bir değişkene değer atanıp atanmadığı sonucunu döndürür Örnek : if (isset($sifre)) { print("Şifre girildi"); }  unset() : Varolan bir değişkeni yok eder Örnek : unset ($soyadi); // $soyadi değişkeni yok edilir.

47  empty() : isset() fonksiyonunun tersine eğer değişkene değer atanmamışsa True sonuç döndürür. Örnek : $adi = "" ; echo empty($adi); // True (1) değerini döndürür. $adi = "KAYA"; echo empty($adi); // False (0) değerini döndürür.

48  is_string(), is_integer(), is_double(): Değişkenin değerinin aradıkları tür olup olmadığına göre True/False değer döndürür. Örnek : $sayi = 10; $sonuc = is_string ($sayi); // False sonuç //döndürür. $metin = “Bursa“; $sonuc = is_string ($metin); // True sonuç //döndürür.

49  substr() : Bir metnin içerisinden istenilen bir kısmının alınmasını sağlar Örnek : <? $metin ="Uludağ üniversitesi-Karacabey Meslek Yüksekokulu"; $okul_adi = substr($metin, 20, 9 ); echo "Okul :".$okul_adi; ?>

50  trim() : Metnin başındaki ve sonundaki boşlukları siler. Örnek : $sehir = " BURSA"; trim ($sehir); print ($sehir); // Sağ ve sol boşlukları kırparak “BURSA" yazılacaktır.  chr() : ASCII kodu verilen karakteri döndürür. Örnek : echo chr(65); // "A" değerini döndürür

51  ord(): Verilen karakterin ASCII kodunu döndürür. Örnek : echo ord("A") ; // 65 değerini döndürür.  strlen() : Verilen metnin uzunluğunu tamsayı cinsinden döndürür. echo strlen("Bursa"); //5 değerini döndürür

52  number_format(): Sayı basamaklarını gruplamak için kullanılır. Kullanılış biçimi: number_format($degisken, ondalik_hane_sayisi, ondalik_ayrac, binler_ayraci) ); //chr(44)=virgül

53  getdate() : PHP’ nin kurulu olduğu sunucudan tarih ve saat bilgisini alır. $saat_tarih = getdate(); print_r($saat_tarih); //Saat ve tarih bilgisi dizisini görüntüler. echo $saat_tarih[year]; //Dizideki yıl bilgisini yazdırır.

54  time() : 01.01.1970 tarihinden başlayarak saniye bilgisini verir. echo time();

55  a -12 saat esasına dayanan Anglo-Sakson sistemlerinde öğleden önce ("am") veya öğleden sonra ("pm") işaretinin verilmesini sağlar.  A -Aynı işaretlerin büyük harfle yazılmasını sağlar.  d -İki haneli gün sayısı, tek haneli günlerin önüne sıfır konur: "01" - "31"  D -Üç haneli gün adı kısaltması: "Cum"  F -Uzun ay adı: "Ocak"  h -12 saatlik sistemde saat: "01" - "12"  H -24 saatlik sistemde saat: "00" - "23"  g -12 saatlik sistemde tek haneli saatlerin önüne sıfır konmadan saat: "1" - "12"  G -24 saatlik sistemde tek haneli saatlerin önüne sıfır konmadan saat: "0" - "23"  i -Dakika: "00" - "59"  j -Tek haneli sayıların önüne sıfır konmadan gün sayısı "1" - "31"  l -(küçük L harfi) Uzun gün adı: "Cuma"  L -Artık yıl olup olmadığına ilişkin Boolean (doğru/yanlış) değişken. Artık yıl ise 1, değilse 0.  m -Tek hanelilerin önüne sıfır konarak ay sayısı: "01" - "12"  n -Tek hanelilerin önüne sıfır konmadan ay sayısı: "1" - "12"  M -Kısaltılmış ay adı: "Şub"  s -Saniye: "00" - "59"  S -İngilizce ('ncı anlamına) 2 karakter ek: "th", "nd"  t -Belirtilen ayın gün sayısı; "28" - "31"  w -Haftanın gün sayısı: "0" (Pazar veya Pazartesi) - "6" (Cumartesi veya Pazar)  Y -Dört haneli yıl: "2000"  y -İki haneli yıl "00"  z -Yılın gün sayısı: "0" - "365" date() : Belirlenen biçimde Tarih ve saat yazdırmaya yarar.

56 echo date("d/m/Y"); // 1 8 /0 3 /200 9 echo date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm echo date("m.d.y"); // 03.10.01 echo date("j, n, Y"); // 10, 3, 2001 echo date("Ymd"); // 20010310 echo date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03- 01, 1631 1618 6 Satpm01 echo date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. echo date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001 echo date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month echo date("H:i:s"); // 17:16:18

57 function fonksiyon_adi(argüman1,argüman2, ….){ deyimler; return döndürülecek_değer; } Kullanımı : fonksiyon_adi($islem, $sayi, …);

58  GET : Client(İstemci) tarafından gönderilen bilgiler tarayıcı adres satırında görüntülenir. Adınız : Soyadınız :....../formyolla.php?ad="Şükrü"&soyad="KAYA"&....  POST : Client(İstemci) tarafından gönderilen bilgiler tarayıcı adres satırında görüntülenmeden yollanır.

59  Mysql_connect(“localhost”,”root”,”sifre”);  Mysql_select_db(“baslangicdb”);

60  mysql_query() $isimler = mysql_query(“select * from ögrenciler”);  mysql_result() $ad=mysql_result($isimler,$i,”ad”);  mysql_numrows() $sayi=mysql_numrows($isimler)  mysql_fetch_array() $gelen = mysql_fetch_array($result)

61 { $sql = "insert into ozluk (NOM, BOLUM, SINIF, ADI, SOYADI) values ('$NOM', '$BOLUM', '$SINIF', '$ADI', '$SOYADI',)"; } $result= mysql_query($sql);

62  $sql="delete from ozluk where NOM='$NOM‘ “; $result= mysql_query($sql);  $sql = "update ozluk set BOLUM = $BOLUM', SINIF = '$SINIF', ADI = '$ADI', where NOM = $NOM"; $result= mysql_query($sql);


"Öğr.Gör.Şükrü KAYA.  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı," indir ppt

Benzer bir sunumlar


Google Reklamları