Изучаем PHP 7. №25. Cookie.

Уроки PHP 7. Cookie.
Куки или печеньки — небольшие системные файлы создаваемые браузером на стороне клиента. В куках можно хранить пароль, это нужно чтобы пользователю не приходилось заново вводить его при следующем заходе на сайт.
Файл куки — по сути текстовый файл хранящий в себе информацию в виде «имя=значение». Хранение важных данных в куках не особо приветствуются, так как их вполне реально украсть. Все данные кук передаются заголовком HTTP, то есть они должны быть отправлены до выполнения любых команд.
Для установки и использования куки есть функция setcookie().
Вот структура функции:
bool setcookie (string имя, string значение, int время жизни, string путь, string домен, bool протокол, bool http only )

Чаще всего используются только первые три параметра, а остальные уже по надобности. Вот расшифровка параметров:

string имя — имя в паре имя=значение
string значение — значение в паре имя=значение
int время жизни — время хранения cookie, это метка времени Unix, т.е. желательно задавать это время с помощью функции time(), прибавляя время в секундах, через которое срок действия cookie должен истечь. Также можно воспользоваться функцией mktime().
string путь — путь к директории на сервере, из которой будут доступны cookie.
string домен — домен, которому доступны cookie.
bool протокол — указывает на то, что значение cookie должно передаваться от клиента по защищенному HTTPS соединению. Если задано TRUE, cookie от клиента будет передано на сервер, только если установлено защищенное соединение. При передаче cookie от сервера клиенту следить за тем, чтобы cookie этого типа передавались по защищенному каналу, должен программист веб-сервера.
bool http only — если задано TRUE, cookie будут доступны только через HTTP протокол. То есть cookie в этом случае не будут доступны скриптовым языкам, вроде JavaScript. Эта возможность была предложена в качестве меры, эффективно снижающей количество краж личных данных посредством XSS атак (несмотря на то, что поддерживается не всеми броузерами). Стоит однако же отметить, что вокруг этой возможности часто возникают споры о ее эффективности и целесообразности. Аргумент добавлен в PHP 5.2.0. Может принимать значения TRUE или FALSE.

Если не указать третий параметр — время жизни куки, то все данные сотрутся сразу же после закрытия браузера.
Вывести данные из куки можно обратившись к глобальному массиву по имени куки:

$_COOKIE['name'];

Вот небольшой пример из двух страничек. В этом примере куки живут 1 минуту (60 секунд).

index.php

<?php setcookie("name", "Виталий", time() + 60);?>
<meta charset="utf-8">
<?php echo "<br>Привет, ".$_COOKIE['name']."<br>"?>

<a href="/second.php">Другая страничка</a>

second.php

<meta charset="utf-8">
<h1>Другая страничка</h1>
<?php echo "<br>Привет, ".$_COOKIE['name']."<br>"?>
<a href="/">Назад</a>

Это самый простой пример передачи данных между страницами.

Удалить куки так же очень легко, достаточно указать отрицательное время ее жизни:

setcookie("name", "", time() - 60);
echo "cookie удалены";

 
——————
Хотите узнать как вырастить красивый кактус дома на окне? Тогда читайте рекомендации, которые представлены по адресу http://cactusnik.ru/na-okne-v-komnate/

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

×