Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP 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 Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

PHP -сессии


Сеанс — это способ хранения информации (в переменных), которая будет использоваться на нескольких страницах.

В отличие от файлов cookie, информация не хранится на компьютере пользователя.


Что такое сеанс PHP?

Когда вы работаете с приложением, вы открываете его, вносите какие-то изменения, а затем закрываете. Это очень похоже на сессию. Компьютер знает, кто вы. Он знает, когда вы запускаете приложение и когда вы его заканчиваете. Но в Интернете есть одна проблема: веб-сервер не знает, кто вы и что вы делаете, потому что HTTP-адрес не поддерживает состояние.

Переменные сеанса решают эту проблему, сохраняя информацию о пользователе, которая будет использоваться на нескольких страницах (например, имя пользователя, любимый цвет и т. д.). По умолчанию переменные сеанса сохраняются до тех пор, пока пользователь не закроет браузер.

Так; Переменные сеанса содержат информацию об одном отдельном пользователе и доступны для всех страниц в одном приложении.

Совет: если вам нужно постоянное хранилище, вы можете хранить данные в базе данных .


Начать сеанс PHP

Сеанс запускается с помощью session_start()функции.

Переменные сеанса задаются глобальной переменной PHP: $_SESSION.

Теперь давайте создадим новую страницу с именем «demo_session1.php». На этой странице мы запускаем новый сеанс PHP и устанавливаем некоторые переменные сеанса:

Пример

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</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 variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_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
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>

Уничтожить сеанс PHP

Чтобы удалить все глобальные переменные сеанса и уничтожить сеанс, используйте session_unset() и session_destroy():

Пример

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

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>

PHP-упражнения

Проверьте себя с помощью упражнений

Упражнение:

Создайте переменную сеанса с именем «favcolor».

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