НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗jsPmBsSs 31 of 61 menu

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

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

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

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

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

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

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

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

let response = await fetch('/ajax.php', { method: 'GET', }); let text = response.text(); console.log(text);

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

let response = await fetch('/ajax.php', { method: 'GET', credentials: 'same-origin', }); let text = response.text(); console.log(text);

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

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить