PHP сессии через AJAX запросы

Давайте теперь поработаем с сессиями PHP. Так как PHP сессии работают на куках, то без правильной настройки credentials при совершении AJAX запросов сессии не будут поддерживаться.

Давайте проверим это. На странице index.php стартуем сессию и запишем в нее некоторое значение:

index.php<?php
  session_start();
  $_SESSION['test'] = '!!!';
?>

На странице ajax.php выведем записанное значение:

ajax.php<?php
  session_start();
  echo $_SESSION['test'];
?>

Зайдите вручную через браузер сначала на index.php, а потом на ajax.php. Убедитесь, что значение из сессии выводится.

Проверим теперь в AJAX запросе. Если мы сделаем запрос без настройки credentials, то значение сессии не выведется:

script.jslet response = await fetch('/ajax.php', {
  method: 'GET',
});

let text = response.text();
console.log(text);

Давайте теперь установим настройку credentials. Теперь значение сессии выведется при AJAX запросе:

script.jslet response = await fetch('/ajax.php', {
  method: 'GET',
  credentials: 'same-origin',
});

let text = response.text();
console.log(text);
Задание 1

По заходу на сайт запишите в сессию время захода. При AJAX запросе пусть сервер вычислит, сколько времени прошло между заходом на сайт и совершением AJAX запроса.