Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4 - сеансы.doc
Скачиваний:
7
Добавлен:
03.05.2019
Размер:
261.63 Кб
Скачать

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

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

        )

)

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

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

Синтаксис:

unset($_SESSION["username"]);

2.1.4 Пример простой сессии

Рассмотрим пример простой сессии, работающей с тремя страницами. При посещении пользователем первой страницы открывается сессия и регистрируется переменная $username. Соответствующий код реализации приведен в листинге:

<?

  session_start();

  $_SESSION['username'] = "maksim";

  echo 'Привет, '.$_SESSION['username']."<br>";

?>

  <a href="page2.php">На следующую страницу </a>

Результат работы этого сценария показан на рис:

После этого, пользователь 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'] уже недоступно:

2.2 Cookies

Использование сookies удобно как для программистов, так и для пользователей. Пользователи выигрывают за счет того, что им не приходится каждый раз заново вводить информацию о себе, а программистам сookies помогают легко и надежно сохранять информацию о пользователях.

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