Selv-omdirigering med tillegg av parametere i PHP

La det på siden index.php overføres en GET-parameter med navnet arg. La oss skrive ut dens innhold til skjermen:

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

La vår side ikke kunne fungere korrekt uten GET-parameter. I vårt tilfelle er dette virkelig slik, fordi hvis parameteren ikke er sendt, vil tilgang til $_GET['arg'] føre til en feil.

Det kan oppstå et spørsmål om hvorfor i det hele tatt en person vil havne på siden vår uten parameter? Tross alt kan vi overalt på nettstedet vårt plassere lenker med denne parameteren. Imidlertid er dette ingen garanti: brukeren av nettstedet vårt kan for eksempel kopiere lenken et sted fra og miste dermed parameteren. Eller bare ved et uhell slette den, mens han redigerer adresselinjen.

Kort sagt, uansett må koden vår anta en slik situasjon og gjøre noe med den. Hva kan man gjøre?

Man kan sjekke GET-parameteren vår for eksistens og bare skrive den ut hvis den eksisterer:

index.php<?php
  if (isset($_GET['arg'])) {
    echo $_GET['arg'];
  } else {
    // reagerer på en eller annen måte, for eksempel med en melding
  }
?>

Man kan gjøre det på en mer lur måte:

index.php<?php
  if (!isset($_GET['arg'])) {
    $_GET['arg'] = 'default'; // standardverdi
  }
  
  echo $_GET['arg']; // vil garantert skrive ut noe uten feil
?>

Eller man kan gjøre slik at når man kommer til siden uten parameter, skjer en omdirigering til den samme siden med parameter:

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

Fortell hva som er forskjellen mellom det andre alternativet og det tredje.

Задание 2

La det på siden page.php kunne sendes et tall ved hjelp av en GET-parameter med navnet num. Gjør slik at når man kommer til siden uten denne parameteren, utføres automatisk en omdirigering til den samme siden, men med parameteren num med verdien 1.