PHP сессии подробно

{title}

Создание и использование PHP-сессий


В PHP очень важно иметь четкое представление о сессиях и о том, как их использовать. Сеансы служат, помимо прочего, хранилищем информации о том, что пользователь делает во время посещения веб-страницы или приложения. Тип информации, которую мы храним на сессиях, может быть очень разнообразным: от личных данных или паролей до страниц, которые пользователь видел, продуктов, которые он заказал или купил, и почти всего, что приходит на ум, связанного с информацией о пользователях., Мы собираемся сохранить эти данные в том, что мы будем называть переменными сеанса, что я точно объясню позже.

Первое, что мы должны научиться контролировать, чтобы писать в php, собираемся ли мы комбинировать его с другими языками, такими как HTML5 для использования в формах ввода, как если бы мы собирались писать только наш код в php, это как начать сеанс . Это очень важно сделать в начале, прежде чем что-то писать на странице, чтобы потом мы не получили ошибку, на самом деле это одна из самых распространенных ошибок, возникающих при написании HTML-кода и вводе сеансов в php, очень предупреждение типичный.
Поэтому сначала необходимо ввести следующий код, а затем начать с языка, который мы будем использовать в нашем скрипте:

 Эта строка, написанная на php, в основном открывает или продолжает сеанс, если он уже открыт, для конкретного пользователя. Этот сеанс создается или возобновляется на основе идентификатора, который мы получим с помощью методов POST или GET или который был предоставлен нам с помощью файла cookie.

Если мы хотим проверить, существует ли сессия, нам нужно ввести следующую строку кода сразу после session_start ().

 $ _SESSION ['on'] = true; 
Когда мы используем функцию session_start (), программа вызывает менеджеры хранилища открытых сессий, чтобы открывать и читать для чтения. Последний извлекает информацию о любом существующем сеансе и вводит ее в переменную $ _SESSION, когда read возвращает сохраненную информацию о сеансе.
После этого мы можем сохранить данные в наших переменных сеанса.

Далее мы увидим, как работают переменные сеанса:

 $ _SESSION ["Name_of_variable_sample"] = "Значение переменной"; 
$ _SESSION - это глобальная переменная, которая предопределена на языке PHP и расположена в части сервера вместе с идентификатором сеанса и принадлежит только одному пользователю. С помощью этого массива мы можем получить доступ к переменной в имени скобки, которой можно присвоить значение при инициализации или оставить без значения.

Если мы хотим читать сессии, мы можем сделать это так же, как мы читаем переменные, с зарезервированным словом «эхо»:

 $ _SESSION ["Name_of_variable_sample"] = "Значение переменной"; echo $ _SESSION ["Имя нашей_вариабельной переменной"]; 
В дополнение к функции session_start есть еще одна опция, которая нас интересует, если мы хотим создать сеанс или получить предыдущий, а также создать новую переменную сеанса. Он называется session_register и снова эта опция должна быть написана в коде вверху страницы, прежде чем все остальное.

Эта опция широко используется, если мы хотим подсчитать, сколько раз мы заходим на страницу, например:

 ...  ... 
Зарезервированное слово isset используется, потому что с помощью цикла if вы можете дать возможность того, что $ account не был инициализирован, и при вводе isset эта функция возвращает нулевую переменную нашей учетной записи, если она не была инициализирована.

Мы видели, что session_start и session_register создавали сеансы, но также важно знать, как удалить или уничтожить (отсюда и имя) информацию, связанную с конкретным сеансом.
С помощью функции session_destroy () мы уничтожим всю информацию, связанную с сеансом, однако ни cookie сеанса, ни глобальные переменные, связанные с ним, не будут удалены. Если мы хотим использовать их снова, мы должны снова вызвать функцию session_start . Это способ освободить функцию, удалив данные.

Если мы хотим полностью исключить сеанс, а также отключить рассматриваемого пользователя, мы должны сначала удалить идентификатор сеанса. По умолчанию идентификатор распространяется в куки, поэтому мы удаляем его:

 setcookie (session_name ()); 
После удаления куки мы уже можем использовать session_destroy () и полностью удалить сессию.

  • 0