Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTChET_PO_VEB-Dizaynu.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
126.46 Кб
Скачать

Открытие сессии

Самый простой способ открытия сессии заключается в использовании функции session_start, которая вызывается в начале PHP-сценария:

session_start();

Эта функция проверяет, существует ли идентификатор сессии, и, если нет, то создает его. Если идентификатор текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.

Регистрация переменных сессии

После инициализации сессии появляется возможность сохранять информацию в су-перглобальном массиве $_SESSION. Пусть имеется файл index.php в котором в массив $_SESSIONсохраняется переменная и массив.

<?php

// Инициируем сессию

session_start();

// Помещаем значение в сессию

$_SESSION['name'] = "value";

// Помещаем массив в сессию

$arr = array("first", "second", "third");

$_SESSION['arr'] = $arr;

// Выводим ссылку на другую страницу

echo "<a href='other.php'>другая страница</a>";

?>

Закрытие сессии

После завершения работы с сессией сначала нужно разрегистрировать все переменные сессии, а затем вызвать функцию unset():

unset($_SESSION["username"]);

Cookies - это текстовые строки, хранящиеся на стороне клиента, и содержащие пары "имя-значение", с которыми связан URL, по которому броузер определяет нужно ли посылать cookies на сервер.

Установка cookies

Установка cookies производится с помощью функции setcookie:

setcookie

bool setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

Эта функция имеет следующие аргументы:

  • name - имя устанавливаемого cookie;

  • value - значение, хранящееся в cookie с именем $name;

  • expire - время в секундах с начала эпохи, по истечение которого текущий cookie становится недейтвительным;

  • path - путь, по которому доступен cookie;

  • domain - домен, из которого доступен cookie;

  • secure - директива, определяющая, доступен ли cookie не по запросу HTTPS. По умолчанию эта директива имеет значение 0, что означает возможность доступа к cookie по обычному запросу HTTP.

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

Установка срока годности cookies

По умолчанию cookies устанавливаются на один сеанс работы с броузером, однако можно задать для них более продолжительный срок существования. Это очень удобное и полезное свойство, поскольку в этом случае пользователю не нужно предоставлять свои данные вновь при каждом посещении сайта.

Функция time просто переводит текущее системное время в количество секунд, прошедших с начала эпохи:

time

time();

Усовершенствованным вариантом функции time является функция mktime:

mktime

int mktime ([int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])

/* этот cookie действителен в течение 10 мин после создания */ setcookie("name", $value, time() + 600); /* действие этого cookie прекращается в полночь 25 января 2010 года */ setcookie("name", $value, mktime(0,0,0,01,25,2010)); /* действие этого cookie прекращается в 18.00 25 января 2010 года */ setcookie("name", $value, mktime(18,0,0,01,25,2010)); ?>