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


Доброго времени суток!
Сегодня рассмотрим примеры создания сессии, изменения и удаления.

Допустим получили некие данные посредством POST с другой страницы (какую нибудь форму заполнили) и хотим эти данные чтоб у нас висели в сессии и собственно как то отображались на следующих страницах.

Запись и вывод сессии:

PHP:

<?php
$family = $_POST['family'];
$name = $_POST['name'];
$login = $_POST['login'];

if (!empty($_POST['login'])){
$login=array($family,$name,$login);
session_start();
$_SESSION['login'] = $login;}

echo $_SESSION['login'][0]; // в сессии у нас находится массив, так мы выведем первое значение массива - переменную $family
print_r($_SESSION);//так мы сможем увидеть все что есть в сессии
?>


Изменение значения:

Для изменения содержимого сессии с именем ‘login’ делаем то же самое ($_SESSION[‘login’] = $login;) — данные внутри ‘login’ перезапишутся.

Для того чтобы удалить имя сессии с ее значениями придется импровизировать.
Этот код располагаем вверху или по крайней мере до вывода значений нашей сессии на странице.

Удаление сессии:

PHP:

<?php
if(isset($_POST['delete'])) //чтобы как то управлять удалением сессии создал форму с кнопкой
{
unset($_SESSION['login']); // этот код удаляет нашу сессию с именем 'login'
}

?>

форма HTML для удаления сессии:

<form method="post" action="">
<input type="hidden" name="delete" value="true">
<input type="submit" value="Удалить">
</form>
Здесь мы посылаем значение на ту же страницу (т.е перезагружаем ее) и код сверху нашей страницы принимает значение от этой формы, точнее даже не значение а наличие передачи данных.

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