PDF

Transkript

PDF
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 />";
}
2
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']);
3
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']);
4
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
5
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.
6
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
,
İfade ayırıcı Örnek: $gunler =array(1=>“Pazartesi", 2=>“Salı")
sol
Boolean AND, Boolean XOR, Boolean OR
Öncelik yukarıdan aşağıya
7
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
$a - $b
$a * $b
$a / $b
$a % $b
toplama
çıkarma
çarpma
bölme
mod
Atama Operatörleri
$a = 5
$a += 5
$a *= 5
$a /= 5
$a .= 5
5 atama
5’le toplama
5’le çarpma
5’e bölme
bağlama
8
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
9
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.
10
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 \\.';
11
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!";
}
12
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>";
}
13
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);
}
14
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 />";
}
15
16

Benzer belgeler