Содержание
PHP sessions and cookies
PHP- сессии
Сессия — это способ хранения информации (в переменных), которая может использоваться на нескольких страницах.
В отличие от файлов cookie эта информация не сохраняется на компьютере пользователя.
Начать сессии PHP
Сеанс начинается с session_start() функции.
Переменные сеанса задаются с помощью глобальной переменной PHP: $_SESSION.
Теперь создадим новую страницу под названием «php_session_1.php». На этой странице мы начнём новую PHP-сессию и установим несколько переменных сессии:
- php_session_1.php
<?php // Старт сессии session_start(); ?> <!DOCTYPE html> <html> <body> <?php // Задать переменные сессии $_SESSION["demo_color"] = "red"; $_SESSION["demo_car"] = "tayota"; echo "Устанавливаются переменные сессии."; ?> </body> </html>
session_start() должна быть самой первой в документе. Перед любыми HTML-тегами.
Получить значения переменных сессии PHP
Далее мы создаём ещё одну страницу под названием «php_session_2.php». С этой страницы мы получим доступ к информации о сеансе, заданной на первой странице («php_session_1.php»).
Обратите внимание, что переменные сеанса не передаются индивидуально на каждую новую страницу, вместо этого они извлекаются из сеанса, который мы открываем в начале каждой страницы ( session_start()).
Также обратите внимание, что все значения переменных сеанса хранятся в глобальной переменной $_SESSION:
- php_session_2.php
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // Вывести переменные сессии, которые были установлены на предыдущей странице echo "Любимый цвет " . $_SESSION["demo_color"] . ".<br>"; echo "Любимый автомобиль " . $_SESSION["demo_car"] . "."; ?> </body> </html>
Изменить переменную сессии PHP
Чтобы изменить переменную сеанса, просто перезапишите ее:
- php_session_3.php
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // чтобы изменить переменную сеанса, просто перезапишите ее $_SESSION["demo_color"] = "blue"; print_r($_SESSION); ?> </body> </html>
Удаление сессии PHP
Чтобы удалить все глобальные переменные сеанса и уничтожить сеанс, используйте session_unset() и session_destroy():
- php_session_4.php
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // удалить все переменные сессии session_unset(); // уничтожить сессию session_destroy(); echo "Все переменные сессии удалены, и сессия уничтожена." ?> </body> </html>
Использование сессий на одной странице
Пример счетчика обновления страницы пользователем сайта
- php_session_5.php
<?php // Старт сессии session_start(); ?> <!DOCTYPE html> <html> <body> <?php if (!isset($_SESSION['counter'])) { $_SESSION['counter'] = 1; // первый заход на страницу } else { $_SESSION['counter']++; // последующие заходы } echo $_SESSION['counter']; ?> </body> </html>
Обновим несколько раз страницу, чтобы просмотреть работу счетчика
Смотреть/загрузить пример




