Практическое занятие

Тема: Работа с датами в PHP. Сессии в PHP

 

Пример 1. Создание простой сессии.

Создать три страницы.

1) При посещении пользователем первой страницы index.php открывается сессия и регистрируется переменная username:

 

<?

  //запускаем сессию

  session_start();

  //регистрируем переменную username и записываем в нее данные

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

  //выводим текст-приветствие, используя значение переменной username сессии

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

  //выводим ссылку для перехода на вторую страницу

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

?>

 

2) После этого, пользователь нажимает на ссылку и попадает на страницу page2.php, код которой приведен ниже:

 

<?

  //запускаем сессию

  session_start();

  //выводим текст

  echo $_SESSION["username"]." , ты пришел на другую страницу этого сайта!<br>";

  //выводим ссылку для перехода на третью страницу

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

?>

 

3) При нажатии на ссылку, пользователь попадает на страницу page3.php, при этом происходит разрегистрация сеансовой переменной и уничтожение сессии. Соответствующий код реализации:

 

<?

  //запускаем сессию

  session_start();

  // разрегистрировали переменную username

  unset($_SESSION["username"]);

  //выводим текст и содержимое переменной username сессии

  echo "Привет, ".$_SESSION["username"];  // теперь имя пользователя уже не выводится

  // разрушаем сессию

  session_destroy();

?>

 

Как видно из рисунка, после разрегистрации сеансовой переменной значение массива $_SESSION["username"] уже недоступно:

 

Image

 

Пример 2.

Сделайте две страницы: index.php и hello.php. При заходе на index.php спросите с помощью формы имя пользователя, запишите его в сессию. При заходе на hello.php поприветствуйте пользователя фразой "Привет, %Имя%!".

 

 

Пример 3. Спросите у пользователя телефон с помощью формы. Затем сделайте так, чтобы в другой форме (поля: имя, фамилия, телефон) при ее открытии поле телефон было автоматически заполнено.

 

 

Пример 4. Cчетчик обновления страницы пользователем.

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

 

<?php

     //стартуем сессию

session_start();

//если сессия пустая

if (empty($_SESSION['kol_update']))

{

//записываем в сессию значение 0, что означает 0 раз обновлялась страница

$_SESSION['kol_update']=0;

//выводим текст

echo 'Вы еще не обновляли страницу <br>';

         }

//если сессия непустая

else

                        {

//наращиваем значение – счетчик числа обновлений страницы

$_SESSION['kol_update']++;

//выводим текст с количеством обновлений на странице

echo 'Количество обновлений страницы = '.$_SESSION['kol_update'];

}

?>

 

Пример 5. Запишите в сессию время захода пользователя на сайт. При обновлении страницы выводите, сколько минут и секунд назад пользователь зашел на сайт.

 

 

Пример 6. На странице покажите пользователю баннер с кнопкой 'Не показывать больше!'. Если он нажмет на эту кнопку – не показывайте ему баннер в течение месяца.

 

 

Пример 7. Сделайте на сайте 5 картинок с товарами. Реализуйте корзину. Под каждой картинкой должна быть указана цена товара и ссылка 'Положить в корзину'. По нажатию на эту ссылку этот товар должен занестись в корзину (сессия), также должна увеличиться общая сумма, которую должен заплатить пользователь.

 

Страница index.php

 

 

 

Страница korzina.php:

 

Самостоятельно: Добавьте кнопку Очистить корзину, по нажатии на которую происходит разрушение сессии. Проверьте работоспособность кнопки, зайдя на страницу korzina.php – там ничего не должно отображаться.