PHP занятие 9. Cookie (Куки)

Дата изменения: 2 апреля 2018
На уроке рассмотрены методы передачи данных форм GET и POST

Cookie: создание и параметры

Существуют переменные сессионные (временные) и постоянные. Временные существуют пока открыт браузер, постоянные — пока не истечет срок годности cookie.
Работу сервера и браузера с cookie файлами демонстрирует следующая иллюстрация:

Браузер, посылая запрос на конкретный домен, смотрит, есть ли у него куки для этого домена

Браузер, посылая запрос на конкретный домен, смотрит, есть ли у него куки для этого домена


Пример cookie

Пример cookie


 Параметры cookie php

Рис. 9.1. Параметры cookie


Расшифруем параметры cookie в порядке их следования:

  1. Имя куки: только латинские буквы, цифры, символ подчеркивания и дефис
  2. Значение параметра
  3. Дата истечения срока годности
  4. Путь, который определяет, в каком месте домена может использоваться файл куки
  5. Домен
  6. Указание, что данные куки должны передаваться посредством безопасного соединения HTTPS

Пример установки cookie php

Рис. 9.2. Пример установки cookie


Проверка передачи cookie php

Рис. 9.3. Проверка передачи cookie

Задание 9_1: Создать cookie, установить значение – ваше имя. Написать код с проверкой передачи и выводом данного cookie на экран. Добавить текстовое поле для вывода значения cookie в нем.
Задание 9_2:
Выводите на экран количество посещений страницы, используя cookie.
Предлагаемый алгоритм (возможен другой вариант выполнения):

  1. Установите переменную для счетчика ($counter), обнулив ее.
  2. Проверьте, установлен ли уже cookie, если да — то присвойте переменной $counter значение cookie (см. пункт 3).
  3. Добавьте cookie для хранения количества посещений.
  4. Приращивайте счетчик.
  5. Проверьте, установлен ли уже cookie, если да — то выводите значение cookie.

Помимо стандартного создания cookie

setcookie("TestCookie", "Ivan", time()+300);

существует возможность создания массива из разных cookie:

Создание массива из разных cookie

Рис. 9.3. Создание массива из разных cookie

Пример: Создать два cookie для хранения имени и возраста. Представить cookie, как массив из двух элементов

Выполнение:

1
2
3
4
5
6
7
while(list($name,$value)=each($_COOKIE)){
	$array[0]="Иван";
	$array[1]="23";
}
foreach($array as $val){
	echo "значение=".$val."<br>";
}

Результат:

значение=Иван
значение=23

Данное задание также можно выполнить при помощи ассоциативного массива:
Выполнение:

1
2
3
4
5
6
while(list($name,$value)=each($_COOKIE)){
	$array["Иван"]=23;
}
foreach($array as $k=>$val){
  echo "индекс= ".$k." значение=".$val."<br>";
}

Результат:

значение=Иван
значение=23
Задание:
Создать массив данных для хранения паролей. Значения паролей сохранить в cookie. В html-код добавить текстовые поля, выводить в них значения паролей.

Cookie: удаление

Удаление cookie php

Рис. 9.4. Удаление cookie

Задание 9_3: удалить cookie из задания 9_1 и повторно обновить браузер.
Лабораторная работа 9_1:
Создать файл cookie.php.
Задача:

  • При первом запросе страницы cookie.php пользователем, выводить фразу «Добро пожаловать!»
  • При повторных запросах:

  • Выводить количество посещений. Например: «Вы зашли на страницу 5 раз»
  • Указывать дату и время последнего посещения. Например: «Последнее посещение: 20-08-2009 16:34:45»
  • date('d/m/Y   H:i:s')

    Алгоритм выполнения:

    1. Инициализируйте переменную для подсчета количества посещений
    2. Если соответствующие данные передавались через куки, сохраняйте их в эту
      переменную
    3. Нарастите счетчик посещений
    4. Инициализируйте переменную для хранения значения последнего посещения
      страницы
    5. Если соответствующие данные передавались из куки, отфильтруйте их и сохраните в эту переменную
    6. Установите соответствующие куки (для счетчика и для даты)
    7. Выводите информацию о количестве посещений и дате последнего посещения

    Результат:
    пример работы с куки

    Заголовки. Функция header: переадресация, установка кодировки и др

    редирект php
    установка кодировки php

    Задание 9_4:

    • Создать файл header.php с заголовком второго уровня «Здравствуйте!». При помощи директивы header отображать данную страницу в текстовом формате.
    • Использовать на этой же странице директиву для перехода через 5 секунд на какую-либо другую страницу.

    Хэш-функция (шифрование)

    md5(string) — функция шифрования для хранения зашифрованных (хэшированных) данных в базе данных

    хэш функция php

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    *
    *

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить