160 likes | 425 Views
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk. Superglobal Değişkenler 1/ 4. Php’de önceden tanımlanmış ve script’in herhangi bir yerinden çağrılabilen ve çalış tir ıl abile n çevreye özel bilgiler sunan değişkenler vardır.
E N D
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk
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 <br />"; }
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']);
Superglobal Değişkenler 3/4 Get ile gelen değerleri almak http://www.example.com/index.php?cat=apache&id=157 $_GET['cat'] = "apache"; $_GET['id'] = "157"; POST değerlerini almak <form action="kaydol.php" method="post"> <p> E-posta adresi:<br /> <input type="text" name="eposta" size="20" maxlength="50" value="" /> </p> <p> Şifre:<br /> <input type="password" name="sifre" size="20" maxlength="15" value="" /> </p> <p> <input type="submit" name="kaydol" value="Kaydol!" /> </p> </form> kaydol.php dosyasında printf("E-posta adresi: %s", $_POST['eposta']); printf("<br>Şifresi: %s", $_POST['sifre']); printf("<br>Kaydol: %s", $_POST['kaydol']);
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
Sabitler • Sabit değişkenleri tanımlarken define() fonksiyonunu kullanıyoruz. • define("PI", 3.141592); • printf("Pi'nin değeri = %f", PI); • $pi2 = 2 * PI; • printf("<BR>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.
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, azaltma @ sağ Hata Önleme / * % sol Bölme, Çarpma, Mod + - . Sol Toplama, Çıkarma,birbirine bağlama << >> sol Sola 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 & ^ | sol tek bit AND, tek bit XOR, tek bir OR && || sol Boolean AND, Boolean OR ?: sağ Üçlü operatör = += *= /= .= %=&= |= ^= <<= >>= sağ Atama Operatörleri AND XOR OR sol Boolean AND, Boolean XOR, Boolean OR , sol İfade ayırıcı Örnek: $gunler =array(1=>“Pazartesi", 2=>“Salı") Öncelik yukarıdan aşağıya
Operatörler 2/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 % $b mod • Atama Operatörleri • $a = 5 5 atama • $a += 5 5’le toplama • $a *= 5 5’le çarpma • $a /= 5 5’e bölme • $a .= 5 bağlama
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 • Örnek Etiket Çı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 OR a 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
Operatörler 4/4 Eşitlik Operatörleri $a == $b Eşit a ve b eşit olduğunda doğru $a != $b Eşit değil a 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ük a b’den büyükse doğru $a <= $b küçük veya eşit a b’den küçük veya b’ye eşitse doğru $a >= $b büyük veya eşit a 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.
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 \\.';
Kontrol Yapıları Koşullu Cümleler $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo "<p>Tebrikler!</p>"; } $gizlinumara = 453; if ($_POST[‘tahmin'] == $gizlinumara) echo "<p>Tebrikler!</p>"; Else kullanimi $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo "<p>Tebrikler!</p>"; } else { echo “Pardon!"; } Elseif kullanimi $gizlinumara = 453; if ($_POST['tahmin'] == $gizlinumara) { echo "<p>Tebrikler!</p>"; } elseif (abs($_POST['tahmin'] - $gizlinumara) < 10){ echo "Çok yaklaştınız"; } else{ echo "Pardon!"; }
Kontrol Yapıları Switch switch($kategori) { case "haberler": echo "<p>Dünyada neler oluyor</p>"; break; case "havadurumu": echo "<p>Haftalık hava durumunuz</p>"; break; case "spor": echo "<p>En son spor başlıkları</p>"; break; default: echo "<p>Sayfama hoşgeldiniz</p>"; }
Döngüler While’lı Cümleler $artan = 1; while ($artan < 5) { printf("%d karesi = %d <br />", $artan, pow($artan, 2)); $artan++; } Do … while $sayac = 11; do { printf("%d karesi = %d <br />", $sayac, pow($sayac, 2)); } while ($sayac < 10); For cümlesi // Örnek 1 for ($kilometre = 1; $kilometre <= 5; $kilometre++) { printf("%d kilometre = %f mil <br />", $kilometre, $kilometre*0.62140); } // Örnek 2 for ($kilometre = 1; ; $kilometre++) { if ($kilometre > 5) break; printf("%d kilometre = %f mil <br />", $kilometre, $kilometre*0.62140); }
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 <br />", $kilometre, $kilometre*0.62140); $kilometre++; } Foreach $linkler = array("www.apress.com","www.php.net","www.apache.org"); echo "<b>Çevrimiçi Linkler</b>:<br />"; foreach($linkler as $link) { echo "<a href=\"http://$link\">$link</a><br />"; }