web programlama php temelleri 2 dr. erman yukselturk
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 PresentationTRANSCRIPT
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 />";
}
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 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']);
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
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.
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
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
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
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.
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 \\.';
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!";
}
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>";}
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);
}
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 />";
}
16