Final 2025-2026 20 soru

Web Programlama 2025-2026 Final

Kaynak: https://lolonolo.com/2026/01/25/web-programlama-2025-2026-final-sorulari/

📖 Konu özeti (sınav öncesi tekrar)

Web Programlama 2025-2026 Final Soruları

Web Programlama 2025-2026 Final Soruları VİDEO ÖZET

PHP Dünyasına Giriş ve Temel Sözdizimi

İnternetin dinamik yüzünü oluşturan en köklü dillerden biri olan PHP, ilk ortaya çıktığında “Personal Home Page” kısaltmasıyla anılsa da günümüzde “Hypertext Preprocessor” olarak bilinen güçlü bir sunucu taraflı dile evrilmiştir. PHP projelerini geliştirmek ve test etmek için yerel bir sunucu ortamına (Apache, Nginx vb.) ihtiyaç duyulur; tarayıcı üzerinden bu dosyalara erişmek için kullanılan standart adres ise http://localhost/index.php yapısıdır. PHP, esnek veri türleriyle (String, Integer, Double, Array, Object vb.) çalışır; ancak Java gibi dillerin aksine, tek bir karakteri temsil eden özel bir “Character” veri türüne sahip değildir; karakterleri de metin dizisi (string) olarak kabul eder.

Oturum (Session) ve Çerez (Cookie) Yönetimi

Kullanıcı deneyimini kişiselleştirmek ve verileri sayfalar arasında taşımak için iki temel mekanizma kullanılır:

Kontrol Yapıları ve Döngü Mekanizmaları

Program akışını yönetmek için kullanılan yapılar “Karar İfadeleri” ve “Döngüler” olarak ikiye ayrılır. if, else ve switch yapıları mantıksal kararlar verirken; while, for ve foreach yapıları işlemleri tekrar eder. Özellikle foreach döngüsü, sadece diziler üzerinde çalışacak şekilde özelleşmiştir ve dizi içindeki eleman sayısı kadar otomatik olarak döner. Döngüleri kontrol etmek için continue (o adımı atla) ve break (döngüden tamamen çık) komutları kullanılır. Ayrıca PHP’de özyinelemeli (recursive) fonksiyonlar sayesinde, bir fonksiyonun kendi kendini çağırmasıyla karmaşık matematiksel işlemler (faktöriyel hesabı gibi) kolayca gerçekleştirilebilir.

Form İşleme ve HTTP Metotları: GET vs POST

Web formlarının sunucuyla iletişim kurmasını sağlayan en kritik iki özellik action (verinin nereye gideceği) ve method (verinin nasıl gideceği) nitelikleridir. Veri gönderimi sırasında güvenlik ve gizlilik ön plandaysa POST metodu tercih edilmelidir; çünkü POST verileri HTTP gövdesinde gizli taşırken, GET metodu verileri URL’in sonuna ekleyerek adres çubuğunda görünür kılar. Gelen verilerin karakter sayısını ölçmek için strlen(), bir değişkenin tanımlı olup olmadığını kontrol etmek için ise isset() fonksiyonları hayati rol oynar.

Matematiksel İşlemler ve Operatör Önceliği

PHP’de karmaşık matematiksel ifadeler çözülürken standart işlem önceliği kuralları geçerlidir. Parantez içindeki işlemler her zaman önceliğe sahiptir, ardından çarpma/bölme ve son olarak toplama/çıkarma işlemleri yapılır. Örneğin, bir metin dizisi ile bir sayıyı ekrana yazdırırken araya konulan nokta (.) operatörü, PHP’de metin birleştirme (concatenation) işlevini görür.

 Web Programlama 2025-2026 Final Soruları

Web Programlama 2025-2026 Final Soruları

20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
PHP’de bir oturum değişkenine değer atamak için aşağıdaki yapılardan hangisi doğru bir kullanımdır?
BDoğru cevap
Açıklama
PHP’de oturum (session) yönetimi için süper global bir dizi olan $_SESSION kullanılır. Bir oturum değişkeni oluşturmak veya değer atamak için bu diziye anahtar-değer (key-value) çifti olarak erişilir. Doğru sözdizimi, dizi parantezleri içinde değişken isminin (key) yazılması ve atama operatörü (=) ile değerin verilmesidir. Diğer şıklardaki `set session` veya `session_set` gibi fonksiyonlar standart PHP kütüphanesinde oturum atamak için kullanılan yapılar değildir.
Soru 2
PHP’de yeni bir oturum başlatmak veya mevcut oturumu devam ettirmek için hangi fonksiyon kullanılmaktadır?
ADoğru cevap
Açıklama
PHP’de oturum işlemlerini kullanabilmek için sayfanın en başında (herhangi bir HTML çıktısı gönderilmeden önce) session_start() fonksiyonunun çağrılması zorunludur. Bu fonksiyon, sunucuda yeni bir oturum başlatır veya tarayıcıdan gelen oturum kimliği (session ID) varsa mevcut oturumu devam ettirir. `session_destroy()` oturumu sonlandırmak için kullanılır.
Soru 3
Aşağıdakilerden hangisi form yapılarında en sık kullanılan iki özelliktir?
DDoğru cevap
Açıklama
Türkiye’de sağlık hizmetleri sunumu temel olarak Sağlık Bakanlığı’nın yetki ve sorumluluğundadır. Belediyeler; evde bakım, hasta nakil, haşereyle mücadele, sağlık taraması ve poliklinik gibi “birinci basamak/koruyucu” sağlık hizmetlerini yaygın olarak sunarlar. Ancak tam teşekküllü ”Hastane” kurmak ve işletmek, hem yüksek maliyeti hem de mevzuat kısıtlamaları nedeniyle belediyeler arasında yaygın değildir. İzmir Eşrefpaşa Hastanesi gibi çok nadir istisnalar dışında, belediye hastaneciliği Türkiye’de yaygınlaşmış bir model değildir.
Soru 4
<?php 
$user = array("East", "West", "South", "North");
for ($x = 0; $x < count($user); $x++) {
  if ($user[$x] == "West") 
    continue; 
  echo $user[$x]; 
}
?>

Yukarıda verilen PHP kodunun çıktısı hangi seçenekte doğru verilmiştir?
ADoğru cevap
Açıklama
Kodda bir dizi üzerinde döngü kurulmuştur.
– İlk eleman “East”: Ekrana yazılır.
– İkinci eleman “West”: `if` koşulu sağlanır ve continue komutu çalışır. `continue`, döngünün o anki adımını sonlandırıp bir sonraki adıma geçer; yani “West” ekrana yazılmaz.
– Üçüncü eleman “South”: Ekrana yazılır.
– Dördüncü eleman “North”: Ekrana yazılır.
Sonuç olarak yan yana “EastSouthNorth” çıktısı oluşur.
Soru 5
<?php
for ($i=1; $i<=10; $i++) 
  if ($i==5) {
    echo $i.".sayıdayız <br/>";
    break; 
  } else {
    echo $i."<br/>";
  }
?>

Yukarıdaki php kodunun ekran çıktısı aşağıdakilerden hangisidir?
CDoğru cevap
Açıklama
Döngü 1’den 10’a kadar çalışmak üzere kurulmuştur.
– i=1, 2, 3 ve 4 için `else` bloğu çalışır ve sayılar alt alta yazılır.
– i=5 olduğunda `if ($i==5)` koşulu sağlanır. Ekrana “5.sayıdayız” yazılır ve hemen ardından break komutu gelir.
– `break` komutu döngüyü tamamen sonlandırır (kırar). Bu nedenle 6, 7, 8… sayılarına hiç sıra gelmez. Çıktı 1’den başlar ve 5.sayıdayız ifadesiyle biter.
Soru 6
PHP’de bir çerez (cookie) oluşturmak için hangi fonksiyon kullanılır?
EDoğru cevap
Açıklama
PHP’de kullanıcının tarayıcısına bir çerez (cookie) göndermek ve kaydetmek için setcookie() fonksiyonu kullanılır. Bu fonksiyon, HTTP başlıkları (headers) ile birlikte gönderildiği için, sayfada herhangi bir HTML çıktısı üretilmeden önce çağrılması gerekir.
Soru 7
Aşağıdaki seçenekler arasında, PHP’nin açılımını doğru şekilde belirten ifadeyi işaretleyiniz?
EDoğru cevap
Açıklama
PHP ilk olarak 1994 yılında Rasmus Lerdorf tarafından geliştirildiğinde açılımı “Personal Home Page” (Kişisel Ana Sayfa) idi. Daha sonra dil gelişip güçlü bir sunucu taraflı dile dönüştüğünde, özyinelemeli bir kısaltma olan “PHP: Hypertext Preprocessor” adını aldı. Ancak şıklarda tarihsel kökeni olan ve sıkça sorulan orijinal açılım “Personal Home Page” yer almaktadır.
Soru 8
Formlarda girilecek değerin karakter sayısını elde etmek için hangi PHP fonksiyonu kullanılabilir?
BDoğru cevap
Açıklama
PHP’de bir metin dizisinin (string) uzunluğunu, yani kaç karakterden oluştuğunu bulmak için strlen() (String Length) fonksiyonu kullanılır. Örneğin `strlen(“Merhaba”)` kodu 7 sonucunu döndürür.
Soru 9
Bir değişken içinde değer bulunup bulunmadığını sınayan PHP fonksiyonu aşağıdakilerden hangisidir?
BDoğru cevap
Açıklama
isset() fonksiyonu, bir değişkenin tanımlı olup olmadığını ve değerinin `NULL` olup olmadığını kontrol eder. Değişken tanımlanmışsa ve `NULL` değilse `TRUE`, aksi halde `FALSE` döner. Değişkenin varlığını sınamak için temel fonksiyondur.
Soru 10
Bir çerezin varsayılan geçerlilik süresi aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
`setcookie()` fonksiyonunda eğer bir son kullanma tarihi (expire time) belirtilmezse, oluşturulan çerez “Oturum Çerezi” (Session Cookie) olarak kabul edilir. Bu çerezler, tarayıcı (browser) kapatılana kadar geçerlidir ve tarayıcı kapatıldığında otomatik olarak silinir. Yani varsayılan süre oturum süresincedir.
Soru 11
<?php
$toplam = 0;
for($i=1; $i <= 5; $i++)
  $toplam += $i;
echo $toplam;
?>

Yukarıdaki PHP kod bloğu çalıştırıldığında aşağıdaki çıktılardan hangisi elde edilir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Döngü $i değişkenini 1'den 5'e kadar artırır ve her adımda $toplam'a ekler: 1 + 2 + 3 + 4 + 5 = 15. Döngü koşulu <= olduğu için 5 de toplama dahildir. Bu yüzden ekrana 15 yazılır.

Soru 12
Aşağıda foreach döngüsü için verilen ifadelerden hangisi doğrudur?
EDoğru cevap
Açıklama
foreach döngüsü, sadece diziler (arrays) ve nesneler üzerinde çalışmak için tasarlanmış özel bir döngüdür. Dizi işaretçisini otomatik olarak yönetir ve dizideki her bir eleman için bir kez çalışır (iterasyon yapar). Dizinin eleman sayısı bittiğinde döngü otomatik olarak sonlanır.
Soru 13
Aşağıdakilerden hangisi PHP dilinde kullanılan koşul (karar) ifadelerden biri değildir?
ADoğru cevap
Açıklama
Programlama dillerinde yapılar “Karar Yapıları” (Decision Making) ve “Döngüler” (Loops) olarak ayrılır. `if`, `else`, `elseif` ve `switch` yapıları bir koşula göre karar verip akışı yönlendirir. while ise bir koşul sağlandığı sürece işlemi tekrar eden bir döngü yapısıdır; karar ifadesi kategorisinde değil, döngü kategorisindedir.
Soru 14
<?php
$ocak = (10+5)*2+(20-5);
$subat = 150/(5*2+(3+2))+10;
echo $ocak."<br />".$subat;
?>

Yukarıda verilen PHP kodunun çıktısı hangi seçenekte doğru verilmiştir?
ADoğru cevap
Açıklama
İşlem önceliği (Parantez içi -> Çarpma/Bölme -> Toplama/Çıkarma) kurallarına göre:
$ocak: (15) * 2 + (15) = 30 + 15 = 45
$subat: 150 / (10 + 5) + 10 = 150 / 15 + 10 = 10 + 10 = 20
Ekran çıktısı alt alta 45 ve 20 olacaktır.
Soru 15
Bir form gönderildiğinde verilerin URL üzerinde görünmemesi için aşağıda verilen yöntemlerden hangisi kullanmalıdır?
DDoğru cevap
Açıklama
Form verileri gönderilirken GET yöntemi kullanılırsa veriler URL’in sonuna eklenir (adres çubuğunda görünür). Güvenlik gerektiren (şifre vb.) veya uzun veriler gönderilirken verilerin URL’de görünmemesi ve HTTP gövdesinde (body) gizli taşınması için POST yöntemi kullanılmalıdır.
Soru 16
Session ve cookieler ile ilgili aşağıdakilerden hangisi yanlıştır?
BDoğru cevap
Açıklama
Session (Oturum) değişkenleri, süper global `$_SESSION` dizisi içinde tutulur ve tıpkı diğer değişkenler gibi istendiği zaman değiştirilebilir, güncellenebilir veya silinebilir. Oturum süresince dinamik olarak yönetilirler. Bu nedenle B şıkkındaki ifade yanlıştır.
Soru 17
PHP’de bir çerezin süresini belirlemek için setcookie() fonksiyonuna aşağıdaki parametrelerden hangisi eklenmelidir?
CDoğru cevap
Açıklama
`setcookie()` fonksiyonunun üçüncü parametresi, çerezin ne zaman silineceğini belirten “expire” parametresidir. Buraya genellikle şu anki zamanın üzerine saniye cinsinden süre eklenerek bir Unix zaman damgası (timestamp) girilir (Örn: `time() + 3600`).
Soru 18
<?php
function faktoriyel ($sayi) {
  if ($sayi < 2) return 1;
  else return ($sayi * faktoriyel($sayi-1));
}
echo faktoriyel(5);
?>

Yukarıdaki PHP kodu çalıştırıldığında oluşacak ekran çıktısı aşağıdakilerden hangisidir?
CDoğru cevap
Açıklama
Bu kod, özyinelemeli (recursive) bir faktöriyel hesabıdır.
faktoriyel(5) = 5 * faktoriyel(4)
faktoriyel(4) = 4 * faktoriyel(3)
…
Sonuç: 5 * 4 * 3 * 2 * 1 = 120.
Soru 19
Aşağıdaki adreslerden hangisi lokal sunucuda kayıtlı olan index.php sayfasını tarayıcının adres çubuğundan çağırmak için kullanılır?
CDoğru cevap
Açıklama
Kendi bilgisayarınızda (lokal sunucu) çalışan bir web sunucusuna (Apache, Nginx vb.) tarayıcı üzerinden erişmek için kullanılan standart adres localhost veya IP karşılığı olan `127.0.0.1` dir. Dolayısıyla doğru URL yapısı `http://localhost/dosya_adi.php` şeklindedir.
Soru 20
Aşağıdakilerden hangisi PHP’de kullanılan bir veri türü değildir?
DDoğru cevap
Açıklama
PHP’nin desteklediği veri türleri: String, Integer, Float (Double), Boolean, Array, Object, NULL ve Resource’tur. C veya Java gibi dillerin aksine, PHP’de tek bir karakteri temsil eden özel bir “Character” (char) veri türü yoktur; tek karakterler de “String” (metin) olarak kabul edilir.