Øjeblikkelig indstilling af cookies i PHP

For at en indstillet cookie straks skal vises i arrayet $_COOKIE kan man bruge et smart trick. Essensen af tricket er følgende: først indstiller vi cookien ved hjælp af setcookie, og derefter skriver vi den manuelt ind i arrayet $_COOKIE:

php<?php
  setcookie('str', 'eee');
  $_COOKIE['str'] = 'eee';
  
  var_dump($_COOKIE['str']); // vil straks udskrive 'eee'
?>

For at undgå at cookien sendes til browseren hver gang, kan indstillingen af cookien placeres inde i en betingelse. Hvis cookien ikke findes, indstiller vi den:

php<?php
  if (!isset($_COOKIE['str'])) { // hvis cookien ikke findes
    setcookie('str', 'eee');
    $_COOKIE['str'] = 'eee';
  }
  
  echo $_COOKIE['str']; // udskriver 'eee'
?>

Lad os diskutere, hvordan dette virker. Ved første besøg på siden kommer vi ind i if, indstiller cookien i browseren og skriver den straks ind i $_COOKIE. Derefter vil værdien, vi har skrevet manuelt, blive vist via echo.

Ved efterfølgende besøg på siden kommer vi ikke ind i if, men i $_COOKIE vil vores cookie være til stede, som allerede er modtaget fra browseren. På denne måde, både ved første besøg og ved efterfølgende, vil vores cookie være til stede i $_COOKIE.

Задание 1

Prøv den beskrevne metode.