WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk
2 Superglobal Değişkenler 1/4 Php’de önceden tanımlanmış ve script’in herhangi bir yerinden çağrılabilen ve çalıştirılabilen çevreye özel bilgiler sunan değişkenler vardır. Bu değişkenlerle o andaki sayfayı kullanan kullanıcı ile ilgili detaylara ulaşabilir (Orn. kullanıcının işletim sistemini görebilir, sayfaya baglandigi ip web tarayicisi, baglandigi makinanin IP ve MAC adresi, yerel işletim çevresi, vb bilgilere ulaşabilirsiniz). Aşağıdaki kod önceden tanımlanmış Web server ve script’in çalıştığı ortam ile ilgili bütün değişkenleri gösterir. foreach ($_SERVER as $degisken => $deger) { echo "$degisken => $deger "; }
3 Superglobal Değişkenler 2/4 Bu superglobal değişkenlere ayrı ayrı da ulaşılabilir. Aşağıdaki komut kullanıcının IP adresini ekrana yazdırır. printf("Sizin IP adresiniz: %s", $_SERVER['REMOTE_ADDR']); Kullanıcının web tarayıcısını ve işletim sistemini ekrana yazdırır. printf("Sizin web tarayıcınız: %s", $_SERVER['HTTP_USER_AGENT']); URL’i ekrana yazdırır printf("URL'in adresi: %s", $_SERVER['REQUEST_URI']);
4 Superglobal Değişkenler 3/4 Get ile gelen değerleri almak $_GET['cat'] = "apache"; $_GET['id'] = "157"; POST değerlerini almak E-posta adresi: Şifre: kaydol.php dosyasında printf("E-posta adresi: %s", $_POST['eposta']); printf(" Şifresi: %s", $_POST['sifre']); printf(" Kaydol: %s", $_POST['kaydol']);
5 Superglobal Değişkenler 4/4 Cookie’lerdeki bilgileri almak $_COOKIE cookie’lerdeki bilgileri saklar POST kullanılarak yüklenen (upload) dosyaların bilgilerini almak. $_FILES post metodu kullanarak yüklenilen dosyalarla ilgili bilgilere ulaşmak için kullanılır. Örn: $_FILES[‘Yüklenen Dosya Adı’][‘size’]; Yüklenen dosyanın byte olarak boyutunu verir. $_FILES[“Yüklenen dosya Adı’][‘error’]; Yüklemenin durumu ile ilgili bilgi verilir. Yükleme başarılı olduğunda da bilgi verir. İşletim Sistemi Bilgileri $_ENV['HOSTNAME']; Sunucu hostname’i hakkında bilgi verir $_ENV['SHELL']; Sistem shell’i hakkında bilgi verir. Oturum (Session) Hakkında Bilgi Almak $_SESSION oturum hakkında her türlü bilgiyi elde etmek için kullanılır
6 Sabitler Sabit değişkenleri tanımlarken define() fonksiyonunu kullanıyoruz. define("PI", ); printf("Pi'nin değeri = %f", PI); $pi2 = 2 * PI; printf(" Pi'nin 2 katı = %f", $pi2); İfadeler $a = 5; // $a değişkenine integer 5 değerini atar $a = "5"; // $a değişkenine string 5 değerini atar $toplam = 50 + $bir_int; // $toplam değişkenine 50 + $bir_int değerini atar $sarap = "Doluca"; // $sarap değişkenine Doluca değerini atar $envanter++; // $envater değerini 1 arttırır.
7 Operatörler 1/4 Operatör Birleşirlik Amaç new --Nesne tanımlama ( ) --İfade altgrupları [ ] sağİçerik Kapsamı ! ~ sağBoolean NOT, tek bit NOT, arttırma, sağHata Önleme / * % solBölme, Çarpma, Mod + -. SolToplama, Çıkarma,birbirine bağlama > solSola git, Sağa git( tek bit) >= --Az, az veya eşit, büyük, büyük veya == != === <> --eşit, eşit değil, özdeş, eşit değil & ^ | soltek bit AND, tek bit XOR, tek bir OR && || solBoolean AND, Boolean OR ?: sağÜçlü operatör = += *= /=.= %=&= |= ^= >= sağAtama Operatörleri AND XOR OR solBoolean AND, Boolean XOR, Boolean OR,solİfade ayırıcı Örnek: $gunler =array(1=>“Pazartesi", 2=>“Salı") Öncelik yukarıdan aşağıya
8 Operatörler2/4 Örnek $deger = 3 * 4 * 5 * 7 * 2; $deger = ((((3 * 4) * 5) * 7) * 2); Çarpmada birleşirlik soldan sağa $c = 5; print $value = $a = $b = $c; $c = 5; $value = ($a = ($b = $c)); = operatöründe bileşirlik sağdan – sola Aritmetik operatörler $a + $b toplama $a - $b çıkarma $a * $bçarpma $a / $b bölme $a % $bmod Atama Operatörleri $a = 5 5 atama $a += 55’le toplama $a *= 55’le çarpma $a /= 5 5’e bölme $a.= 5bağlama
9 Operatörler 3/4 String (metin) Operatörleri $a = "abc"."def"; //değeri abcdef $a.= "ghijkl"; //önceki değere ghjkl karakterlerini de ekledi Arttırma / azaltma operatörleri ++$a, $a++ //bir arttır !!! --$a, $a-- // bir azalt !!! Mantık Operatörleri ÖrnekEtiketÇıktı $a && $b AND Sadece a ve b doğru olduğunda $a AND $b AND Sadece a ve b doğru olduğunda $a || $b OR a veya b’nin herhangi biri veya 2’si de doğru olduğunda doğru $a OR $b ORa veya b’nin herhangi biri veya 2’si de doğru olduğunda doğru !$a NOT a yanlış olduğunda doğru NOT $a NOT a yanlış olduğunda doğru $a XOR $b Ayrıcalıklı OR Sadece a ve b’den biri doğru olduğunda doğru
10 Operatörler 4/4 Eşitlik Operatörleri $a == $b Eşita ve b eşit olduğunda doğru $a != $b Eşit değila ve b eşit olmadığında doğru $a === $b Özdeşa ve b eşit ve aynı türde olduğunda doğru Karşılaştırma operatörleri $a < $b küçük a b’den küçükse doğru $a > $b büyüka b’den büyükse doğru $a <= $b küçük veya eşita b’den küçük veya b’ye eşitse doğru $a >= $b büyük veya eşita b’den küçük veya b’ye eşitse doğru ($a == 12) ? 5 : -1 üçlü a 12’ye eşitse dönen değer 5 değilse -1’dir sadece sayısal karşılaştırmalar için kullanılmalıdır.
11 String Operatörleri Çift Tırnak $spor = "boks"; echo "Dursunun en sevdiği spor $spor."; <?php $cikti = "Bu bir satır. \nBu da başka bir satır."; echo $cikti; //yeni satır kaynak kodda ve bir dosyaya yazıldığında gösterilir. ?> Karşılaştırma operatörleri \n yeni satır karakteri \r satırbaşı \t yatay tab \\ ters slash \$ Dolar işareti \" çift tırnak \[0-7]{1,3} Sekizli yazım \x[0-9A-Fa-f]{1,2} 16’lı yazım Tek Tırnak print 'Bu string $print aynen burada olduğu gibi \' \n gözükecektir.'; print 'bu da başka bir string \\.';
12 Kontrol Yapıları Koşullu Cümleler $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo " Tebrikler! "; } $gizlinumara = 453; if ($_POST[‘tahmin'] == $gizlinumara) echo " Tebrikler! "; Else kullanimi $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo " Tebrikler! "; } else { echo “Pardon!"; } Elseif kullanimi $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo " Tebrikler! "; } elseif (abs($_POST['tahmin'] - $gizlinumara) < 10){ echo "Çok yaklaştınız"; } else{ echo "Pardon!"; }
13 Kontrol Yapıları Switch switch($kategori) { case "haberler": echo " Dünyada neler oluyor "; break; case "havadurumu": echo " Haftalık hava durumunuz "; break; case "spor": echo " En son spor başlıkları "; break; default: echo " Sayfama hoşgeldiniz "; }
14 Döngüler While’lı Cümleler $artan = 1; while ($artan < 5) { printf("%d karesi = %d ", $artan, pow($artan, 2)); $artan++; } Do … while $sayac = 11; do { printf("%d karesi = %d ", $sayac, pow($sayac, 2)); } while ($sayac < 10); For cümlesi // Örnek 1 for ($kilometre = 1; $kilometre <= 5; $kilometre++) { printf("%d kilometre = %f mil ", $kilometre, $kilometre* ); } // Örnek 2 for ($kilometre = 1; ; $kilometre++) { if ($kilometre > 5) break; printf("%d kilometre = %f mil ", $kilometre, $kilometre* ); }
15 Döngüler For cümlesi // Örnek 3 $kilometre = 1; for (;;) { // if $kilometre > 5 döngüyü kır. if ($kilometre > 5) break; printf("%d kilometre = %f mil ", $kilometre, $kilometre* ); $kilometre++; } Foreach $linkler = array(" echo " Çevrimiçi Linkler : "; foreach($linkler as $link) { echo " $link "; }
16