Session PHP или работа с сессиями в PHP.


Сессии в PHP (Session PHP) – это отличный и очень удобный инструмент, позволяющий сохранять данные и получать к ним доступ на любой странице сайта в php-скриптах. Это хорошее решение задачи передачи данных с одной страницы на другую. Любая авторизация пользователя на сайте немыслима без использования сессий, так как после того, как пользователь прошел процедуру аутентификации, мы должны иметь возможность «узнавать» его на любой странице. Обычно для этого в переменные сессии сохраняются некоторые данные пользователя (имя и др.).

Перед началом использования сессии нам необходимо ее «запустить»:

1
session_start();

Такую строчку лучше всего поместить в начало вашего php-скрипта, но обязательно ДО вывода какой-либо информации в окне браузера. Если вы сделаете наоборот, то увидите сообщение об ошибке. Запуск сессии можно использовать только в тех php-файлах, где вам необходимо работать с переменными сессии.

С запуском каждая сессия получает свой уникальный id. Идентификатор сессии – это длинная (случайно сгенерированная) строка символов, которую подделать довольно проблематично. Получить идентификатор сессии можно с помощью функции php:

1
session_id();

Она вернет либо идентификатор (если сессия существует), либо пустую строку. Данный идентификатор сохраняется в кукисах браузера, либо же, если они отключены, передается в составе URL-адреса ссылок.

После старта сессии мы можем сохранять в ней наши переменные, а также извлекать их. Допустим, нам нужно сохранить в сессии php переменную $my_var. Мы можем сделать это следующим образом:

1
2
$my_var = 555;
$_SESSION['my_var'] = $my_var;

Получить данное значение на других страницах в php-коде можно так:

1
$my_var = $_SESSION['my_var'];

Для очистки всех переменных сессии можно использовать функцию session_unset:

1
session_unset();

Если мы хотим полностью удалить текущую сессию, то можно использовать следующую функцию:

1
session_destroy();

Мы можем управлять настройками сессии через конфигурационный файл php.ini (например, время «жизни» сессии и прочее), однако для начинающих разработчиков на php вышеизложенного будет вполне достаточно.





Другие посты

Категория: PHP-скрипты

Оставить комментарий