Работа с сессиями

  • Автор темы PatrickxDDD
  • 113
  • Обновлено
  • 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

[ Итог ]

Подведем итог, чему же мы научиилсь. А научились мы в этом уроке работать с сессиями, а именно:

- Открывать сессию

- Регистрировать переменные сессии

- Удалять переменные сессии

- Разрушать всю сессию

- Передавать значения сессии с одной страницы на другую

- Узнали как работают сессии и с чем их едят.

PatrickxDDD


Рег
12 Jan, 2014

Тем
165

Постов
236

Баллов
1886