Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği

Benzer bir sunumlar


... konulu sunumlar: "Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği"— Sunum transkripti:

1 Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği
PHP Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği

2 PHP Giriş PHP, Hypertext Proprocessor (Hyper –metin ön işlemcisi) anlamına gelir. PHP ile her türlü işlevselliğe ait program yazılabilir. PHP web sunucuya bir takım işler yaptırmak için kullanılan program yazma dillidir. PHP kodları, HTML sayfaları arasına HTML etiketleri arasında kendi özel ayıraçları arasına yazılır. <html> <?php echo(“merhaba”); ?> </html> Ekrana merhaba şeklinde yazı gelir

3 PHP Nasıl Çalışır? WEB SERVER URL CLIENT PHP (BROWSER) Scripti HTML
1)Browser tarafından kullanıcı servera istediği sayfanını url yazararak yada link ini tıklayarak belirtir.Server bu talebi alınca x.php dosyasını php işlemcisince işlemmesi gerektiğini bildiği için bu dosyayı bulur ve php işlemcisine gönderir.php işlemcisi bu dosyayı işler ve çıktuıyı HTML haline getirir.Bu HTML dosyası istemciye geri gönderilerek talep ettiği web sayfasının incelenmesi sağlanır.

4 PHP Çalışma Şekli Web Serverlar htm ve html uzantılı dosyalarını sabit diskinde bulundurur ve ziyaretçiye sunar. PHP uzantılı dosyalar da ise PHP derleyicilerin çağrılması gerekir. PHP derleyiciler ise kendine ulaşan metin dosyayı içinde <? veya <?PHP Kelimelerine rastlayana kadar tüm HTML kodunu web sunucusuna aynen gönderiri. <?PHP ve ?> arasındaki PHP kodlarını seçerek alır ve gereği neyse onu yapar. Bu ayıraçların içinde kalan kodlar, bizim yapılmasını istediğimiz işlemin komutlarıdır PHP kullanmamızın sebebi de bu işlemleri HTML ile yapamamamızdır. HTML ile bir web sunucusundaki bir veri tabanı dosyasını açıp okuyamayız, düz yazı dosyalarını da okuyamayız ve bu disklere dosya yazamayız. PHP de “<?PHP ve ?>” ayıraçları içindeki kodları icra eder ziyaretçi bu kodların içini göremez ve okuyamaz. PHP bir CGI programlama dilidir. Bu dille web sunucusu ile web ziyaretçisi arasında buluşma noktası olan CGI ‘ da bilgi alış verişiş yapar. Sunucuda bulunan başka programlar çalıştırılabilir ve web sayfamıza HTML sınırlamasının dışında hareket ve ziyaretçi arasında bilgi alışverişi sağlar.

5 PHP Özelikleri PHP Kodları HTML tagları içine gömülür.
PHP scriptleri HTML formları ile kendine sunulan veriyi işleyebilir PHP scriptleri veritabanıyla haberleşebilir. Karışık matematiksel işlemleri yapabilir.

6 PHP ile neler yapılabilir?
Veritabanı bağlantılı uygulamalar Dinamik olarak oluşan grafikler, Flash animasyonları Ziyaretçiye, tarayıcıya veya tarihe göre özel durumlar veya içerikler Anketler Tartışma forumları Elektronik ticaret uygulamaları Web tabanlı e-posta uygulamaları XML verilerini yorumlama ve oluşturma İçerik yönetimi Site içi veya dışı arama motorları

7 Neden HTML değil PHP? HTML ile bir web sunucusundaki bir veri tabanı dosyasını açıp okuyamayız Düz yazı dosyalarını da okuyamayız. Bu disklere dosya yazamayız. “<?PHP ve ?>” ayıraçları arasındaki kaynak kodlarının içeriği istemci tarafında gözükmez. Sadece sonucu gözükür.

8 Neden PHP? Web tabanlı programlama için tasarlanmış
Yazım kurallarının basit olması Kaynak kodu açık ve ücretsiz Sunucu hafızasını az kullanır Birçok işletim sistemi üzerinde çalışabilir: Linux Windows MacOS X Solaris BSD Unixler Netware

9 Neden PHP ? Birçok web sunucusu yazılımına entegre çalışabilir:
Apache Microsoft IIS Microsoft PWS Netscape iPlanet Xitami Yaygın veritabanı desteği: Oracle MySQL PostgreSQL Interbase MS-SQL Sybase IBM DB2 Informix Birçok eklenti ve hazır kütüphanelerinin olması

10 Kurulum http://huseyint.com/projeler/apache-php- mysql/index.html
PhpMyAdmin – MySQL için web arayüzzü

11 PHP yazım Kuralları Php komutları ;(noktalı virgül) işaretiyle sonlandırılır. Echo,Print ve Printf : Ekrana bilgi yazdırma komutudur. // : Tek satırlık açıklamalar için kullanılır /* ve */ : Birden çok açıklama satırlarında kullanılır. Bu komutlar arasına yazılan tüm PHP komutlarını dikkate almaz. •\n Yeni Satır geçiş yapar (New Line) •\r Satır Başı (Return) •\t Sekme (Tab) karakteri <? Echo(“merhaba \“PHP\“ dünyası”); ?> ekrana merhaba “PHP” dünyası şeklinde yazılır.

12 Dilin Yapısı

13 Ve İlk 'Hello World' cümlemiz:
Yazip hello.php olarak kaydedin <html> <head> <title>Example</title> </head> <body> <? echo "Hello World..."; ?> </body> </html>

14 Değişkenler Değişkenleri adının önüne $ işareti koyarak tanımlarız:
$adi; $123; Değişkenler, harf, rakam veya alt çizgi (_) ile başlayabilirler; bu karakterleri içerebilirler; ama içinde boşluk veya diğer işaretler bulunamaz PHP'de genellikle değişkenleri değerini atayarak belirleriz $adi = “Mesut"; $123 = 123; PHP'de özel bir değişkene değişken adı olarak kullanılacak değerleri de atayabiliriz (bir çeşit pointer kullanımı gibi): $adi = “Mesut"; $degisken = "adi"; print $$degisken; Sonuc olarak browser penceresine Mesut yazar

15 Bu teknik şöyle de kullanılabilir:
$degisken = "adi"; $$degisken = “Nurhan"; print "$adi"; print $$degisken; print "${$degisken}"; print "${'adi'}"; Buradaki dört "print" komutu da Browser'a “Nurhan" kelimesini yazdıracaktır.

16 Veri Türleri PHP açısından dünyada altı tür değer vardır:
Tamsayı (Integer): 5,124, 9834 gibi Çift (Double): 3,567 gibi Alfanümerik (String): “Fatma" gibi Mantıksal (Boolean): doğru (true)/yanlış (false) gibi Nesne (Object) Dizi (Array)

17 Fonksiyon ve gettype()
Değişkenin türünü verir. $alfanumerik = “Yılmaz"; print "İkinci değişkenin adı: \$alfanumerik<br>"; print "Değeri : "; print "$alfanumerik<br>"; print("Türü : "); print gettype( $alfanumerik ) ; //string Sonuc İkinci değişkenin adı: $alfanumerik Değeri : Yılmaz Türü : string

18 Escape Karakteri kurtarma veya ESCaping \' Tek tırnak \" Çift tırnak
\\ Ters-bölü \$ Dolar işareti \n Yeni Satır (New Line) \r Satır Başı (Return) \t Sekme (Tab) karakteri

19 Settype Değişken türünü değiştirir. $degisken = 5.67890;
print("Değişkenin değeri : "); print "$degisken<br>"; print("Türü : "); print gettype( $degisken ) ; //çift,ondalık/double print "<br>"; print "İlk değiştirme işlemi: Alfanümerik/String:<br>"; settype( $degisken, string ); //alfanümerik/string print "Değeri : "; print gettype( $degisken ) ; //alfanümerik/string print "<br>“;

20 isset() Bir değişkenin içinde değer bulunup bulunmadığını sınamasını sağlar. if (isset($bir_degisken)) { print( $bir_degisken ); }

21 Unset() Varolan bir değişkeni yok eder. if (isset($numara)) {
print( $numara); print( $adi); print( $soyadi); } else { unset($numara);

22 empty() isset() fonksiyonun tersi işleve sahiptir
Bir değişkene değer atanmamışsa değeri sıfır veya boş alfanümerik (null string) ise, doğru (True) değeri verir . $bir_degisken = 123; echo empty($bir_degisken); $bir_degisken = ""; Bu program parçası Browser penceresine sadece empty() fonksiyonun doğru sonuç verdiği birinci echo() deyiminde 1 yazdıracaktır.

23 is_string(),is_integer(),is_double(),
Sınadıkları değişkenin aradıkları türden değer içermesi halinde doğru ('True) sonuç verirler. $a = 6.567; if (is_double($a)) { print ("A Double'dır<br>"); }

24 İşlemciler (Operatörler)
= Atama operatoru. $a = "ABC"; Aritmetik işlemciler: + Toplama = 11 - Çıkartma = 1 / Bölme 6/5 = 1.2 * Çarpma 6*5 = 30 % Kalan (Modulus) 6%5 = 1

25 Küçük bir ayrıntı $a = 6; $b = "22/A" print ($a + $b)
PHP, tırnak kullanmasanız da bir değişkenin sayı olup olmadığını anlar PHP ayrıca rakamla başlayan alfanümerik değişkenleri sayı olarak kullanmaya kalktığınızda, bu değerin başındaki bütün rakamları sayı olarak kabul eder $a = 6; $b = "22/A" print ($a + $b) Sonuç olarak 28'i verecektir; veya $b = "A/22" Sonuç olarak 6 çıkacaktır

26 $adi_soyadi = $adi . " " . $soyadi;
Bununla birlikte elimizde bir kişinin adı ve soyadı ayrı değişkenler halinde ise, bunları birbirine ekleyerek (concatenation) ortaya yeni bir alfanümerik değişken çıkartabiliriz: $adi = “Esra"; $soyadi = “Ceyhan"; $adi_soyadi = $adi . " " . $soyadi; İşlemci Örnek Anlamı += $a += 5 $a = $a + 5 -= $a -= 5 $a = $a - 5 /= $a /=5 $a = $a / 5 *= $a *= 5 $a = $a * 5 %= $a %= 5 $a = $a % 5 .= $a .= "metin" $a = $a" metin"

27 $a=6; ise İşlemci Örnek Örnek == eşitse $a == 5 Yanlış/False != eşit değilse $a != 5 Doğru/True === aynı ise $a === 5 Yanlış/False > büyükse $a > 5 Doğuru/True < küçükse $a < 5 Yanlış/False <= küçükse $a <= 5 Yanlış/False veya eşitse >= büyükse $a >= 5 Doğru/True

28 Birden fazla karşılaştırma örnekleri
İşlemci Adı Anlamı Örnek || veya sol veya sağ doğru doğru || yanlış = doğru or veya sol veya sağ D. doğru || yanlış = doğru && ve sol ve sağ D. doğru || yanlış = yanlış and ve sol ve sağ D. doğru || yanlış = yanlış Xor Şartlı-veya Sadece sol veya sağ D. doğru || yanlış = doğru ! Değil sol veya sağ yanlış doğru || yanlış = doğru

29 Örnek $vize = 45; $final = 65;
if ($vize >= 50 && $final >= 50) { print ("Öğrenci geçti!"); } else { print ("Öğrenci kaldı!"); $ortalama = ($vize + $final) / 2; print $ortalama;

30 İşlem Öncelikleri ( ) parantez ++ ve -- / * % + -
/ * % + - < <= => > == && || = += -= /= %= .= and xor or

31 Sabit Değerler Bir programın bazen başından sonuna kadar değeri değişmeyen değişkenlere denir. $Dolar_miktar = 125; define ( "DOLAR_KURU", ); $TL_Tutar = $Dolar_miktar * DOLAR_KURU; if (defined( "DOLAR_KURU" )) { echo ("Sabit değer daha önce tanımlanmıştı.<br>");

32 Örnek Sabit Değerler __FILE__ : O anda çalışmakta olan PHP dosyasının adı __LINE__ : Bu ifadenin yer aldığı satırın sayısı PHP_VERSION: PHP'nin sürümü PHP_OS: PHP'nin çalıştığı işletim sistemi PHP_VERSION : PHP'nin sürümü Bunlara ek olarak, E_ERROR, E_WARNING, E_NOTICE ve E_PARSE şeklinde hata durumunda hatanın çeşitli özelliklerini bildiren sabit değerleri de kullanabiliriz. PHP hakkında çok daha geniş bilgiyi phpinfo() fonksiyonunu çağırak alabilirsiniz

33 Tarih ve saat Verisi PHP, o andaki zaman bilgisini, saat, dakika, saniye ve salise olarak; tarih bilgisini yıl, ay, gün (sayı veya isim olarak), programımızın herhangi bir yerinde bize bildirebilir PHP'nin zaman ve tarih belirlemekte kullanabileceğiniz başlıca fonksiyonu getdate() $saat_tarih = getdate() Bu durumda, $saat_tarih dizi değişkeninde sırasıyla şu bilgiler yer alır:

34 Tarih ve saat Bu durumda, $saat_tarih dizi değişkeninde sırasıyla şu bilgiler yer alır: 32 saniye 57 dakika 6 saat 30 ayın gün sayısı (1-31) 0 haftanın gün sayısı (1-7) 7 ayın sayısı (1-12) 2000 yıl 211 yılın kaçıncı günü Sunday günün adı July ayın adı

35 Örnek foreach ( $tarih as $key=>$val ) {
$tarih = getdate(); foreach ( $tarih as $key=>$val ) { print $key.'='.$val.'<br>'; } print "Gün.:".$tarih[mday].'<br>'; print "Ay..:".$tarih[mon].'<br>'; print "Yıl.:".$tarih[year].'<br>';

36 Sonuç seconds=3 minutes=30 hours=15 mday=10 wday=4 mon=4 year=2003
yday=99 weekday=Thursday month=April Gün.: Ay..:4 Yıl.:2003

37 Php ‘de denetimler If ElseIf Else

38 Kullanımı if ( koşullar ) { koşullar doğru ise yapılacak işlere ilişkin komutlar } elseif (diğer koşullar) { diğer koşullar doğru ise yapılacak işlere ilişkin komutlar else { diğer her durumda yapılacak işlere ilişkin komutlar

39 Örnek if ( $sarki == "Güneş Doğacak" ) { echo ("Seçtiğiniz şarkının adı: Güneş Doğacak!"); } elseif ($sarki == "Beklerim Ben") { echo ("Seçtiğiniz şarkının adı: Beklerim Ben!"); else { echo ("Lütfen bir şarkı seçiniz!");

40 switch switch ( değişken ) { case KOŞUL-1 ; Koşul-1 doğru ise yapılacak işlere ilişkin komutlar break; case KOŞUL-2 ; Koşul-2 doğru ise yapılacak işlere ilişkin komutlar default: diğer her durumda yapılacak işlere ilişkin komutlar }

41 Örnek $sarki="Derdime Derman"; switch ( $sarki ) {
case "Güneş Doğacak" ; echo ("Seçtiğiniz şarkının adı: Güneş Doğacak<br>") ; echo ("Merhaba") ; break; case "Derdime Derman" ; echo ("Seçtiğiniz şarkının adı: Derdime Derman<br>") ; echo ("Selam") ; default: echo ("Seçtiğiniz şarkının adı bilinmiyor<br>") ; } Sonuç: Seçtiğiniz şarkının adı: Derdime Derman Selam

42 while döngüsü while (koşul) { Koşul doğru ise yapılacak işlere ilişkin komutlar }

43 Örnek $sayac = 1; Selam Selam Selam Selam Selam Selam Selam
while ( $sayac <= 7 ) { print ("Selam". "<br>"); $sayac ++; } Sonuç: Selam Selam Selam Selam Selam Selam Selam

44 do..while do { Koşul doğru ise yapılacak işlere ilişkin komutlar } while (koşul);

45 Örnek merhaba merhaba merhaba merhaba $sayac = 1; do {
print (“merhaba". "<br>"); $sayac ++; } while ( $sayac <= 4 ) ; Sonuç merhaba merhaba merhaba merhaba

46 For Döngüsü for ($sayac = 4; $sayac <= 7 ; $sayac++ ) { print (“dunya donuyor"); } dunya donuyor dunya donuyor dunya donuyor dunya donuyor

47 Foreach foreach ($ogrenciler as $ogrenci) {
foreach döngüsü, bir dizi değişkenin bütün elemanları için, arzu ettiğiniz işi yapar. döngü, ona adını verdiğiniz değişkenin içindeki bütün değerler bitinceye kadar devam edecektir. foreach ($ogrenciler as $ogrenci) { print ("$ogrenci<br>"); } foreach döngüsü, bir dizi değişkenin adını içinden değer çekilecek kaynak olarak ister; bunu "as" (olarak) kelimesi izler; sonra diziden alınacak her bir değeri geçici olarak tutacak değişkenin adı verilir.

48 Örnek $ogrenciler = array ("Özbay", "Muharrem", "Hasan", "Şahika");
foreach ($ogrenciler as $anahtar=>$deger) { print ("$anahtar = $deger<br>"); } Sonuç 0 = Özbay 1 = Muharrem 2 = Hasan 3 = Şahika

49 Örnek $ogrenciler = array ( array ( adi => "Özbay", soyadi => "Altun"), array ( adi => "Muharrem", soyadi => "Taç"), array ( adi => "Hasan", soyadi => "Civelek"), array ( adi => "Şahika", soyadi => "Ak") ); foreach ( $ogrenciler as $ogrenci ) { foreach ( $ogrenci as $anahtar => $deger ) { print ("$anahtar = $deger <br> "); } print ("<br>"); } Sonuç adi = Özbay soyadi = Altun adi = Muharrem soyadi = Taç adi = Hasan soyadi = Civelek adi = Şahika soyadi = Ak

50 Break Döngüyü sona erdirmek için
for ($sayac = 1; $sayac <= 10 ; $sayac++ ) { if ( $tekrar = 5 ) break; $tekrar=$tekrar+1; }

51 Continue Döngüyü devam ettirir. $sayac = -5 ;
for (; $sayac <= 7 ; $sayac++ ) { if ( $sayac <= 0 ) continue; print ("Afyon-Bolvadin<br>"); } 7 Kez Afyon-Bolvadin yazar

52 Fonksiyonlar function title_yaz($metin) { print ("<TITLE>$metin</TITLE>\n"); } // Başka kodlar buraya girebilir title_yaz("PHP'de Fonksiyonlar");

53 Örnek-2 function topla ($sayi1, $sayi2) { $sonuc = $sayi1 + $sayi2;
return $sonuc; } $sayi1 = 12; $sayi2 = 5; print topla($sayi1, $sayi2);

54 Varsayılan değer Bu Başlık function yazdir ($metin, $boyut=3) {
print ("<font size=\"$boyut\">$metin</font><br>"); } // Başka kodlar buraya girebilir yazdir("Bu Başlık", 5 ); yazdir("Bu Başlık"); Bu Başlık

55 Değişkenlerin kapsamı: global ve static
$metin = "Başkalarına yararlı olmanın sınırı yoktur!"; function yazdir () { global $metin; print ("<h1>İşte metin: $metin </h1>"); } // Başka kodlar buraya girebilir yazdir(); Burada global $metin; satırını kullanmaz isek değişkenin değeri yazdırılamaz.

56 Dizi değişkenler $ogrenciler = array ( array ( adi => "Özbay", soyadi => "Altun"), array ( adi => "Muharrem", soyadi => "Taç"), array ( adi => "Hasan", soyadi => "Civelek"), array ( adi => "Şahika", soyadi => "Ak") ); // Buraya başka kodlar girecek print $ogrenciler[0][adi].' '; print $ogrenciler[2][soyadi]; // Özbay Civelek

57 Tek boyutlu dizi değişkenler
$ogrenciler = array ("Özbay", "Muharrem", "Hasan", "Şahika"); $personel[] = "Hasan"; $personel[] = "Ahmet"; $personel[] = "Yılmaz"; $personel[] = "yaşar"; print $ogrenciler[2]; // Hasan print $personel[3]; // yaşar

58 Formlar foreach ($GLOBALS as $anahtar=>$deger ) {
print ($anahtar . " = " . $deger . "<br>"); } HTTP_POST_VARS = Array HTTP_GET_VARS = Array HTTP_COOKIE_VARS = Array HTTP_SERVER_VARS = Array HTTP_ENV_VARS = Array HTTP_POST_FILES = Array GLOBALS = Array anahtar = GLOBALS deger = GLOBALS

59 HTTP_ENV_VARS HTTP Sunucu programın çalışmakta olan PHP dosyası için oluşturduğu çevre değişkenlerinin yazılı olduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur: HOSTNAME: Sunucunun IP adresi SHELL: Unix sisteminde kullanılan Shell programı HOSTTYPE: Sunucunun adı ve sürünü OSTYPE: Sunucu'nun işletim sistemi HOME: Çalışan programın kök dizini PATH: Çalışan programın Sunucu'daki yolu HTTP_SERVER_VARS Sunucu programın çalışmakta olan PHP dosyasına sunduğu bazı bilgilerin bulunduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur: PHP_SELF: Çalışan PHP programının bulunduğu dizin ve adı PATH_TRANSLATED: Çalışan PHP programının fiziksel yolu HTTP_GET_VARS Bir Form'dan GET metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken HTTP_POST_VARS Bir Form'dan POST metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken HTTP_USER_AGENT Ziyaretçinin bilgisayarında kurulu Internet Browser programı QUERY_STRING Form ile bilgi alırken GET metodunu kullandığımız takdirde, Browser'ın göndereceği bilgilerin tutulduğu değişken REMOTE_ADDR Ziyaretçinin bilgisayarına ISS tarafından atanmış IP adresi REQUEST_METHOD Form ile gelen bilgilerin gönderildiği metod: GET veya POST REQUEST_URI O anda çalışmakta olan PHP dosyasının adı ve varsa bu ada eklenmiş Query_String SCRIPT_FILENAME O anda çalışmakta olan PHP programının dosya adı SCRIPT_URI O anda çalışmakta olan PHP programının tam URL adresi SERVER_ADDR Sunucunun IP adresi SERVER_PROTOCOL Sunucunun HTTP protokolünün sürümü

60 Faydalı Siteler http:// www.aku.edu.tr http:// www.mysql.com


"Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği" indir ppt

Benzer bir sunumlar


Google Reklamları