НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерабелі

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Інтро AJAX PHP AJAX База даних AJAX XML AJAX Живий пошук AJAX Опитування

PHP Приклади

PHP Приклади PHP Компілятор PHP Вікторина PHP Вправи PHP Сертифікат

PHP Довідник

PHP Огляд PHP Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP Сесії


Сесія – це спосіб зберігання інформації (у змінних), яка буде використовуватися на кількох сторінках.

На відміну від файлів cookie, інформація не зберігається на комп’ютері користувача.


Що таке сесія PHP?

Коли ви працюєте з програмою, ви відкриваєте її, вносите деякі зміни, а потім закриваєте. Це дуже схоже на сесію. Комп’ютер знає, хто ви. Він знає, коли ви починаєте програму і коли закінчуєте. Але в Інтернеті є одна проблема: вебсервер не знає, хто ви і що ви робите, оскільки адреса HTTP не підтримує стан.

Змінні сесії вирішують цю проблему, зберігаючи інформацію про користувача для використання на кількох сторінках (наприклад, ім’я користувача, улюблений колір тощо). За замовчуванням змінні сесії діють, доки користувач не закриє браузер.

Отже, змінні сесії містять інформацію про одного користувача та доступні для всіх сторінок однієї програми.

Порада. Якщо вам потрібне постійне сховище, ви можете зберігати дані в Базі даних.


Розпочати PHP сесію

Сесія починається за допомогою функції session_start().

Змінні сесії встановлюються за допомогою глобальної PHP змінної: $_SESSION.

Тепер давайте створімо нову сторінку під назвою "demo_session1.php". На цій сторінці ми починаємо нову сесію PHP і встановлюємо деякі змінні сесії:

Приклад

<?php
// Старт сесії
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Встановіть змінні сесії
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Змінні сесії встановлено.";
?>

</body>
</html>
Виконати приклад »

Примітка: Функція session_start() має бути першою у вашому документі. Перед будь-якими тегами HTML.


Отримати значення змінної сесії PHP

Далі ми створюємо іншу сторінку під назвою "demo_session2.php". З цієї сторінки ми отримаємо доступ до інформації про сесію, яку ми встановили на першій сторінці ("demo_session1.php").

Зверніть увагу, що змінні сесії не передаються окремо на кожну нову сторінку, натомість вони отримуються із сесії, яку ми відкриваємо на початку кожної сторінки (session_start()).

Також зауважте, що всі значення змінних сесії зберігаються в глобальній змінній $_SESSION:

Приклад

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Відтворити змінні сесії, встановлені на попередній сторінці
echo "Улюблений колір " . $_SESSION["favcolor"] . ".<br>";
echo "Улюблена тварина " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
Виконати приклад »

Ще один спосіб показати всі значення змінних сесії для сесії користувача — запустити наступний код:

Приклад

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
Виконати приклад »

Як це працює? Як він дізнається, що це я?

Більшість сесій встановлюють на комп’ютер користувача ключ користувача, який виглядає приблизно так: 765487cf34ert8dede5a562e4f3a7e12. Потім, коли сесія відкривається на іншій сторінці, він сканує комп’ютер на предмет ключа користувача. Якщо є збіг, він отримує доступ до цієї сесії, якщо ні, він починає нову сесію.


Змінити змінну PHP сесії

Щоб змінити змінну сесії, просто перезапишіть її:

Приклад

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// щоб змінити змінну сесії, просто перезапишіть її
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
Виконати приклад »

Знищити PHP сесію

Щоб видалити всі глобальні змінні сесії та знищити сесію, використовуйте session_unset() та session_destroy():

Приклад

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// видалити всі змінні сесії
session_unset();

// знищити сесію
session_destroy();
?>

</body>
</html>
Виконати приклад »

PHP Вправи

Перевірте себе за допомогою вправ

Вправа:

Створіть змінну сесії з назвою "favcolor".

session_start();
["favcolor"] = "green";