PHP сессии для новичков

Так как в последнее время к большому сожалению никакой интересной работы нету, напишу статью для новичков, собственно для этого и задумывался данный блог. Почему я решил начать именно с  сессий? Когда я начинал изучение PHP, первое что вызывало у меня затруднение, это именно сессии.  Вот про них  и постараюсь рассказать «на пальцах»

Представим человека который зашел в комнату. Комната это и есть наш сайт, а человек это пользователь сайта. И вот представьте что на спину этого человека вы клеите стикер с какой то надписью. Это и есть наша сессия. На человека вы можете приклеить и снять сколько угодно сессией, но помните что когда он выйдет из комнаты(закроет сайт) все сессии аннулируются.

Сессии хранятся в суперглобальном массиве $_SESSION. Суперглобальный  — это массив который доступен нам отовсюду, с любой точки программы. И так что бы наклеить наш стикер на пользователя, нам нужно всего лишь добавить новый элемент в массив, т.е $_SESSION[‘test’] = ‘Пользователь лох’. Test — это идентификатор нашего стикера(есть еще внутренний идентификатор каждый сессси, который 100% уникальный), что бы мы понимали, когда нам надо будет прочитать информацию со стикера, к какому именно стикеру обратиться. Читаем информацию со стикера : $var = $_SESSION[‘test’];  Удаляем стикер: unset($_SESSION[‘test’])

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

В итоге: Сессии нужно использовать когда конкретному пользователю надо присвоить конкретную информацию(и он ее не сможет изменить или иметь к ней доступ как в случае с кукис). Пользоваться сессиями можно как обычным массивом, тут все просто. Пример использования самый распространенный  — если человек удачно авторизировался, мы клеим ему стикер, что он авторизирован, и когда нужно проверить является ли пользователь авторизированным — мы обращаемся к нашему стикеру. Или часто используется для вывода сообщение, т.е если вам нужно «передать» сообщение с одной страницы на другую (после перегрузки страницы). В большинстве фреймворков реализован целый механизм для подобных вещей который называется flash message.

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