Бозгашт ба ҳамон саҳифа бо илова кардани параметрҳо дар PHP

Бигзор ба саҳифаи index.php параметри GET бо номи arg фиристода шавад. Мундариҷаи онро ба экран чоп мекунем:

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

Бигзор саҳифаи мо бе параметри GET натовонад дуруст кор кунад. Дар ҳолати мо ин ҳамин тавр аст, зеро агар параметр фиристода нашавад, муроҷиат ба $_GET['arg'] ба хато меорад.

Шояд ин савол пайдо шавад, ки одатан одам чӣ гуна ба саҳифаи мо бе параметр меафтад? Ҳол он ки мо метавонем дар тамоми сомонаи худ истинодҳоро бо ин параметр гузорем. Аммо, ин кафолат нест: корбари сомонаи мо метавонад, барои намуна, истинодро аз ҷое нусхабардорӣ кунад ва дар ин ҳолат онро аз даст диҳад. Ё танҳо ба таври аз рӯи хато онро нест кунад, дар ҳоле ки сатри суроғаро таҳрир мекунад.

Ба ҳар ҳол, рамзи мо бояд чунин ҳолатро пешбинӣ кунад ва чизе бо он анҷом диҳад. Чӣ метавонад кард?

Метавонад параметри GET-и худро барои мавҷуд будан тафтиш кунад ва онро танҳо агар мавҷуд бошат, чоп кунад:

index.php<?php
  if (isset($_GET['arg'])) {
    echo $_GET['arg'];
  } else {
    // ба ягон тавр посух медиҳем, барои намуна, паём
  }
?>

Метавонад бо роҳи зиёрактар рафтор кард:

index.php<?php
  if (!isset($_GET['arg'])) {
    $_GET['arg'] = 'default'; // қимати пешфарз
  }
  
  echo $_GET['arg']; // кафолат медиҳад, ки чизе бе хато чоп мекунад
?>

Ё метавонад чунин кард, ки агар вориди саҳифа бе параметр шавад, бозгашт ба ҳамон саҳифа бо параметр рух диҳад:

index.php<?php
  if (!isset($_GET['arg'])) {
    header('Location: ?arg=default');
  }
  
  echo $_GET['arg']; // параметр кафолатан мавҷуд аст
?>
Задание 1

Фарқи вариантҳои дуюм ва сеюмро баён кунед.

Задание 2

Бигзор ба саҳифаи page.php рақам бо ёрии параметри GET бо номи num фиристода шавад. Чунин кунед, ки агар воридшавӣ бе ин параметр рух диҳад, ба таври худкор бозгашт ба ин саҳифа, аммо бо параметри num бо қимати 1 иҷро шавад.