Удаление cookie
Для удаления cookie надо вызвать функцию setcookie и передать ей имя того cookie, который подлежит удалению: setcookie("name").Другие установленные cookie при этом не удаляются.
Проверить, установлены ли cookie с заданным именем, используют функцию isset(name)
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
echo "Welcome guest!<br />";
?>
Задание.
1. Создайте скрипт, сохраняющий в cookie массив, в том числе многомерный, не прибегая к его упаковке в строку.
2. С помощью механизма cookie хранить информацию о вошедшем пользователе на форум из задания в Лекции №9.
Сессии
Сессии предназначены для хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере.
Сессии очень удобно использовать в таких приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении нескольких станиц, а, во-вторых, своевременно предоставлять пользователю новую информацию.
Протокол HTTP не имеет встроенного способа сохранения состояния между двумя транзакциями. Т. е., когда пользователь открывает сначала одну страницу сайта, а затем переходит на другую страницу этого же сайта, то основываясь только на средствах, предоставляемых протоколом HTTP невозможно установить, что оба запроса относятся к одному пользователю. Т. о. необходим метод, при помощи которого было бы отслеживать информацию о пользователе в течение одного сеанса связи с Web-сайтов. Сеанс представляет собой группу переменных, которые, в отличие от обычных переменных, сохраняются и после завершения выполнения PHP-сценария.
1. Открытие сессии заключается в использовании функции session_start, которая вызывается в начале PHP-сценария: session_start();
Эта функция проверяет, существует ли идентификатор сессии, и, если нет, то создает его. Если идентификатор текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.
2. После инициализации сессии можно сохранять информацию в суперглобальном массиве $_SESSION.
<?php
// Инициируем сессию
session_start();
// Помещаем значение в сессию
$_SESSION['name'] = "value";
// Помещаем массив в сессию
$arr = array("first", "second", "third");
$_SESSION['arr'] = $arr;
// Выводим ссылку на другую страницу
echo "<a href='other.php'>другая страница</a>";
?>
3. Извлечение значения сессионных переменных можно из суперглобального массива $_SESSION.
<?php
// Инициируем сессию
session_start();
// Выводим содержимое суперглобального массива $_SESSION
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
Результат работы скрипта выглядит следующим образом:
Array
(
[name] => value
[arr] => Array
(
[0] => first
[1] => second
[2] => third
)
)
4. Закрытие сессии
После завершения работы с сессией сначала нужно разрегистрировать все переменные сессии, вызвав функцию unset(): unset($_SESSION["username"]);
А после, удалить сессию вызовом функции session_destroy();
Дата добавления: 2015-08-26; просмотров: 602;