Thiết lập cookie ngay lập tức trong PHP

Để một cookie vừa được thiết lập có thể xuất hiện ngay lập tức trong mảng $_COOKIE, bạn có thể sử dụng một thủ thuật thông minh. Bản chất của thủ thuật như sau: đầu tiên thiết lập cookie bằng setcookie, sau đó thủ công ghi nó vào mảng $_COOKIE:

php<?php
  setcookie('str', 'eee');
  $_COOKIE['str'] = 'eee';
  
  var_dump($_COOKIE['str']); // sẽ xuất ra 'eee' ngay lập tức
?>

Để cookie không bị gửi đến trình duyệt mỗi lần, có thể đặt việc ghi cookie bên trong một điều kiện. Nếu cookie đó không tồn tại, thì hãy ghi nó:

php<?php
  if (!isset($_COOKIE['str'])) { // nếu không có cookie
    setcookie('str', 'eee');
    $_COOKIE['str'] = 'eee';
  }
  
  echo $_COOKIE['str']; // sẽ xuất ra 'eee'
?>

Hãy cùng thảo luận cách thức hoạt động của nó. Ở lần truy cập đầu tiên vào trang, chúng ta sẽ rơi vào if, thiết lập cookie trong trình duyệt và ngay lập tức ghi vào $_COOKIE. Sau đó, thông qua echo sẽ xuất ra giá trị chúng ta đã ghi thủ công.

Ở những lần truy cập tiếp theo vào trang, chúng ta sẽ không rơi vào if, nhưng trong $_COOKIE sẽ chứa cookie của chúng ta, lúc này đã được gửi từ trình duyệt. Bằng cách này, cả ở lần truy cập đầu tiên và những lần sau, trong $_COOKIE sẽ luôn có cookie của chúng ta.

Задание 1

Hãy thử nghiệm thủ thuật đã mô tả.