- •1.Информационные технологии. Основные понятия и определения. Содержание информационной технологии как составной части информатики.
- •2.Создание распределенных систем на базе web-технологий. Общий подход, используемое программное обеспечение, основные информационные технологии.
- •3. Протокол http. Принцип работы. Описание основных заголовков и кодов ответа. Методы передачи данных get и post.
- •Заголовки http
- •4.Методологии разработки программного обеспечения. Microsoft Solution Framework.
- •5. Методологии разработки программного обеспечения.
- •6.Тестирование программного обеспечения. Виды тестирования. Тестирование «черного» и «белого» ящика.
- •7.Информационные технологии поддержки коллективной работы над проектами. Основные понятия. Модели ведения версий.
- •8.Язык гипертекстовой разметки html как основное средство представления информации при использовании Web-технологий. Структура документа. Описание основных тегов. Форматирование документов
- •9. Язык html и табличное представление данных. Создание простых и сложных таблиц. Примеры
- •10. Взаимодействие пользователя и информационной системы. Формы html Передача данных от пользователя к серверу. Примеры
- •11. Создание серверной части информационной системы. Язык php. Описание базового синтаксиса.
- •12. Устранение недостатка протокола http. Создание сеансов на основе сессий и cookie. Механизм работы. Примеры на php.
- •12[2] Примеры установки срока годности cookies:
- •13. Язык php. Организация взаимодействия с субд MySql.
- •14. Язык php. Обработка текстовой информации. Функции работы со строками. Регулярные выражения.
- •15. Язык php. Организация взаимодействия с web-сервером по протоколу http. Понятие socket.
- •16. Создание приложений, выполняющихся на стороне клиента. Язык JavaScript. Описание базового синтаксиса.
12. Устранение недостатка протокола http. Создание сеансов на основе сессий и cookie. Механизм работы. Примеры на php.
Сессии (сеансы) в PHP
Протокол HTTP является протоколом "без сохранения состояния". Это означает, что данный протокол не имеет встроенного способа сохранения состояния между двумя транзакциями. Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу отсылаются браузером серверу.
При работе с сессиями различают следующие этапы:
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>";
?>
На страницах, где происходит вызов функции session_start(), значения данных переменных можно извлечь из суперглобального массива $_SESSION. В следующем листинге приводится содержимое страницы other.php, где извлекаются данные, ранее помещенные на странице index.php.
<?php
session_start(); // Инициируем сессию
// Выводим содержимое суперглобального массива $_SESSION
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>
Результат работы скрипта выглядит следующим образом:
Array
(
[name] => value
[arr] => Array
(
[0] => first
[1] => second
[2] => third
)
)
3)---Закрытие сессии
После завершения работы с сессией сначала нужно разрегистрировать все переменные сессии, а затем вызвать функцию unset().
Синтаксис:
unset($_SESSION["username"]);
Пример простой сессии, работающей с 3-мя страницами. При посещении пользователем первой страницы открывается сессия и регистрируется переменная $username. Код реализации:
<?
session_start();
$_SESSION['username'] = "maksim";
echo 'Привет, '.$_SESSION['username']."<br>";
?>
<a href="page2.php">На следующую страницу </a>
Результат работы сценария:
Привет, maksim
На следующую страницу
12[1] После этого, пользователь maksim нажимает на ссылку и попадает на страницу page2.php, код:
<?
session_start();
echo $_SESSION['username'].' , ты пришел на другую страницу этого сайта!';
echo("<br>");
?>
<a href="page3.php">На следующую страницу </a>
При нажатии на ссылку, пользователь попадает на страницу page3.php, при этом происходит разрегистрация сеансовой переменной и уничтожение сессии.
<?
session_start();
unset($_SESSION['username']); // разрегистрировали переменную
echo 'Привет, '.$_SESSION['username'];
/* теперь имя пользователя уже не выводится */
session_destroy(); // разрушаем сессию
?>
После разрегистрации сеансовой переменной значение массива $_SESSION['username'] уже недоступно.
--------------Сookies-----------------
Cookies - это текстовые строки, хранящиеся на стороне клиента, и содержащие пары "имя-значение", с которыми связан URL, по которому браузер определяет, нужно ли посылать cookies на сервер.
Установка cookies
Установка cookies производится с помощью функции 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 не по запросу HTPP. По умолчанию эта директива имеет значение 0, что означает возможность доступа к cookie по обычному запросу HTTP.
Пример приложения с cookies
Создадим сценарий, подсчитывающий при помощи cookies количество обращений посетителя к странице.
В cookie с именем counter будет храниться число посещений страницы пользователем:
<?
$counter++;
setcookie("counter",$counter);
echo("Вы посетили эту страницу $counter раз");
?>
Установка срока годности cookies
По умолчанию cookies устанавливаются на один сеанс работы с браузером, однако можно задать для них более продолжительный срок существования.
В PHP существуют функции time и mktime для работы с датой и временем, позволяющие переводить текущее время в количество секунд с начала эпохи. Синтаксис:
time();
Усовершенствованным вариантом функции time является функция mktime.
Синтаксис:
int mktime ([int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])
Аргумент is_dst этой функции определяет, попадает ли эта дата в период летнего времени и может принимать следующие значения:
-1 (По умолчанию. Означает, что свойство не задано);
0 (интервал не приходится на период летнего времени);
1 (интервал приходится на период летнего времени).