web programlama php temelleri 2 dr. erman yukselturk

16
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

Upload: eli

Post on 21-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

WEB PROGRAMLAMA

PHP Temelleri 2

Dr. Erman Yukselturk

Page 2: 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 <br />";

}

Page 3: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

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']);

Page 4: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

4

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ındaprintf("E-posta adresi: %s", $_POST['eposta']);printf("<br>Şifresi: %s", $_POST['sifre']);printf("<br>Kaydol: %s", $_POST['kaydol']);

Page 5: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

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

Page 6: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

6

SabitlerSabit 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.

Page 7: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

7

Operatörler 1/4Operatö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

Page 8: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

8

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

Page 9: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

9

Operatörler 3/4String (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

Page 10: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

10

Operatörler 4/4Eş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.

Page 11: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

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ırnakprint 'Bu string $print aynen burada olduğu gibi \' \n gözükecektir.';

print 'bu da başka bir string \\.';

Page 12: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

12

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!";

}

Page 13: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

13

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>";}

Page 14: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

14

DöngülerWhile’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);

}

Page 15: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

15

DöngülerFor 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 />";

}

Page 16: WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk

16