САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Обработка форм PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

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

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP5 Проведение сессий



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

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


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

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

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

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

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


PHP Запуск сессии

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

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

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

Пример

<?php
// Запуск сессии
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Установить переменные сессии
$_SESSION["favcolor"] = "зеленый";
$_SESSION["favanimal"] = "кот";
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>
Смотреть код »

Другой способ показать все значения переменных $_SESSION для сессий пользователя - следующий код:

Пример

<?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"] = "желтый";
print_r($_SESSION);
?>

</body>
</html>
Смотреть код »

PHP Удалить сессии

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

Пример

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

<?php
// удалить все переменные сессии
session_unset();

// уничтожить сессии
session_destroy();
?>

</body>
</html>
Смотреть код »