PHPда кукиларни дарҳол ўрнатиш

Ўрнатилган куки дарҳол $_COOKIE массивида пайдо бўлиши учун ақлли усулдан фойдаланиш мумкин. Усулнинг моҳияти куйидагича: аввал setcookie ёрдамида кукини ўрнатамиз, сўнгра уни қўлда $_COOKIE массивига ёзамиз:

php<?php
  setcookie('str', 'eee');
  $_COOKIE['str'] = 'eee';
  
  var_dump($_COOKIE['str']); // дарҳол 'eee' чиқади
?>

Куки ҳар сафар браузерга юборилиб турмаслиги учун, кукини ёзиш шарт ичида бажарилиши мумкин. Агар бундай куки мавжуд бўлмаса, уни ёзамиз:

php<?php
  if (!isset($_COOKIE['str'])) { // агар куки мавжуд бўлмаса
    setcookie('str', 'eee');
    $_COOKIE['str'] = 'eee';
  }
  
  echo $_COOKIE['str']; // 'eee' ни чиқаради
?>

Бу қандай ишлашини муҳокама қилайлик. Саҳифага биринчи кирилганда биз if ичига тушамиз, кукини браузерга ўрнатамиз ва дарҳол $_COOKIE га ёзамиз. Кейин echo орқали биз қўлда ёзган қиймат чиқади.

Саҳифага кейинги киришларимизда биз if ичига тушмаймиз, лекин $_COOKIE ичида бизнинг кукимиз браузердан келган бўлади. Шу тариқа, ҳам биринчи, ҳам кейинги киришларимизда $_COOKIE ичида бизнинг кукимиз бўлади.

Задание 1

Тавсифланган усулни синаб кўринг.