- 07, Feb 2014
- #1
[ Работа с сессиями ]
Открытие сессии.
session_start(); - эта функция создает сессию. Если сессия уже существует, то она загружает из неё все значения переменных.
Регистрация переменных сессии.
После того как сессия открыта, в неё можно помещать значения:
$_SESSION['name'] = "value";
Как видите, сессия представляет собой суперглобальный массив $_SESSION, в котором то и хранится вся наша информация.
Для того чтобы на следующей странице были доступны значения суперглобального массива $_SESSION, достаточно просто записать: session_start(); в начале страницы.
Давайте представим что у нас есть две страницы (page1.php и page2.php), при переходе с первой на вторую информация теряться не будет, т.к. мы будем использовать сессии.
Код первой страницы:
session_start(); // открываем сессию.
$_SESSION['name'] = "Андрей"; // записываем в массив сессии значение.
echo " Перейти на следующую "; // выводим ссылку на вторую страницу.
?>
Код второй страницы:
session_start(); // т.к. сессия уже есть, то PHP просто загружает из неё все значения переменных.
echo $_SESSION['name']; // выводим значение, которое записали на предыдущей странице.
?>
Вот и всё. Теперь записанное нами значение будет доступно на всех страницах в которых указано session_start();
Закрытие сессии.
Для удаления какой-либо переменной сессии подходит уже изученная нами функция unset().
unset($_SESSION['name']);
Для разрушения всей сессии используют функцию session_destroy().
session_start();
$age = 32;
$_SESSION['username'] = 'Иван';
$_SESSION['age'] = $age;
unset($_SESSION['username']);
echo $_SESSION['username'];// Не выведет ничего
echo $_SESSION['age'];// Выведет 32
session_destroy(); // Разрушаем сессию.
?>
[ Как работают сессии ]
При использовании сессий данные сохраняются во временных файлах на сервере. После того как посетитель закрыл страницу, файл стирается с сервера.
Если у посетителя включена возможность принимать cookies, то сессия записывается в cookies и при каждом обращении браузер передает значение сессии серверу.
Если такая возможность отключена пользователем, то PHP подставляет к каждой ссылке идентификатор сессии, и при переходе между страницами мы видим ссылки типа index.php?PHPSESSID=9ebca8bd62c830d3e79272b4f585ff8f
[ Итог ]
Подведем итог, чему же мы научиилсь. А научились мы в этом уроке работать с сессиями, а именно:
- Открывать сессию
- Регистрировать переменные сессии
- Удалять переменные сессии
- Разрушать всю сессию
- Передавать значения сессии с одной страницы на другую
- Узнали как работают сессии и с чем их едят.