Sofortiges Setzen von Cookies in PHP

Um ein gesetztes Cookie sofort im Array $_COOKIE verfügbar zu machen, kann man einen cleveren Trick anwenden. Der Trick besteht darin: Zuerst setzen wir das Cookie mit setcookie und dann schreiben wir es manuell in das Array $_COOKIE:

php<?php
  setcookie('str', 'eee');
  $_COOKIE['str'] = 'eee';
  
  var_dump($_COOKIE['str']); // gibt sofort 'eee' aus
?>

Damit das Cookie nicht jedes Mal an den Browser gesendet wird, kann man das Setzen des Cookies in eine Bedingung packen. Wenn es ein solches Cookie nicht gibt, dann setzen wir es:

php<?php
  if (!isset($_COOKIE['str'])) { // wenn das Cookie nicht existiert
    setcookie('str', 'eee');
    $_COOKIE['str'] = 'eee';
  }
  
  echo $_COOKIE['str']; // gibt 'eee' aus
?>

Lassen Sie uns besprechen, wie das funktioniert. Beim ersten Aufruf der Seite gelangen wir in den if-Block, setzen das Cookie im Browser und schreiben es sofort in $_COOKIE. Danach wird über echo der von uns manuell gesetzte Wert ausgegeben.

Bei den folgenden Aufrufen der Seite gelangen wir nicht in den if-Block, aber in $_COOKIE wird unser Cookie enthalten sein, das bereits vom Browser mitgeschickt wurde. Auf diese Weise befindet sich unser Cookie sowohl beim ersten Aufruf als auch bei den folgenden in $_COOKIE.

Задание 1

Probieren Sie den beschriebenen Trick aus.