PHP'de Parametre Ekleyerek Kendi Kendine Yönlendirme

index.php sayfasında arg adında bir GET parametresi iletilsin. İçeriğini ekrana yazdıralım:

index.php<?php
  echo $_GET['arg'];
?>

GET parametresi olmadan sayfamızın doğru çalışamayacağını varsayalım. Bizim durumumuzda bu doğru, çünkü parametre iletilmezse, $_GET['arg'] erişimi bir hataya yol açacaktır.

İnsanın neden genel olarak parametresiz sayfamıza gireceği sorusu akla gelebilir? Sonuçta sitemizde her yere bu parametreyle bağlantılar koyabiliriz. Ancak, bu bir garanti değildir: sitemizin kullanıcısı, örneğin, bir yerden bağlantıyı kopyalarken parametreyi kaybedebilir. Veya sadece adres çubuğunu düzenlerken yanlışlıkla silebilir.

Her durumda, kodumuz böyle bir durumu göz önünde bulundurmalı ve onunla bir şeyler yapmalı. Ne yapılabilir?

GET parametremizin varlığını kontrol edebilir ve sadece mevcutsa onu yazdırabiliriz:

index.php<?php
  if (isset($_GET['arg'])) {
    echo $_GET['arg'];
  } else {
    // bir şekilde tepki ver, örneğin bir mesajla
  }
?>

Daha kurnazca davranılabilir:

index.php<?php
  if (!isset($_GET['arg'])) {
    $_GET['arg'] = 'default'; // varsayılan değer
  }
  
  echo $_GET['arg']; // hatasız bir şekilde garanti bir şey yazdırır
?>

Veya parametresiz sayfaya girişte, aynı sayfaya parametre ile yönlendirme yapılması sağlanabilir:

index.php<?php
  if (!isset($_GET['arg'])) {
    header('Location: ?arg=default');
  }
  
  echo $_GET['arg']; // parametre garantili var
?>
Задание 1

İkinci seçenek ile üçüncü seçenek arasındaki farkı anlatın.

Задание 2

page.php sayfasında, num adındaki GET parametresi kullanılarak bir sayı iletilebilsin. Bu parametre olmadan girildiğinde, otomatik olarak aynı sayfaya, ancak num parametresi 1 değerinde olacak şekilde yönlendirme yapılmasını sağlayın.