Работа с cookie php

C самого начала поста я предположу, что вы уже знаете что такое куки и для чего их можно использовать. И собственно пост рассчитан как раз на тех людей, которые хотят узнать ответ на вопрос «КАК?» — то есть задействовать куки на своём сайте.

Установка куков, простой пример

Например тут мы установили куки my_name со значением Миша и в качестве периода её существования задали 5 дней в UNIX-формате времени. time() — текущее время + 86400 * 5 — 5 дней в секундах.

Получение куков через PHP

То, что вы видите в круглых скобках, это обычное условие if-else , только в сокращенном виде, в полном виде оно бы выглядело вот так:

Всё очень просто, верно же?

Функция setcookie() на самом деле имеет и несколько других параметров и пример можно усложнить, включив в неё директорию, домен, защиту и использование только по HTTP. Сейчас объясню.

По сути куки та же самая, но мы также назначили её к директории «

mycookie» для домена «truemisha.ru», следующим параметров, равным true разрешили использовать только в SSL-подключении и в следующем параметре, тоже равным true , запретили для использования в JavaScript.

Также имейте ввиду несколько вещей:

  • Несмотря на то, что мы ставим срок истечения действия куков, они могут быть удалены пользователем в любое время.
  • Пользователь может вообще выключить куки в браузере.
  • Куки ни при каких условиях не получится использовать между разными доменами.

Удаление куков

Первый — если вы установите время истечения куки равным 0, то она будет удалена по истечении сессии в браузера (после закрытия)

Читайте также  Русификатор для акробат ридер

Чтобы удалить куку немедленно, вам нужно установить ей пустое значение или срок истечения в прошедшем времени, например:

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

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

В сегодняшнем уроке мы поговорим о работе с cookie в PHP. Начнём с того, что же это такое, для чего это нужно и почему оно вообще появилось.

Как мы с вами уже знаем, в PHP мы можем работать с GET- и POST-запросами. Они позволяют нам передавать серверу данные, чтобы как-то повлиять на работу кода. Мы можем передать скрипту логин и пароль, он их проверит и разрешит нам доступ к какой-либо информации. Однако, это не позволит создать сессию между нами и сервером. То есть сервер не может нас «запомнить», и каждый раз, как мы хотим сказать что это мы, придется отправлять отдельный новый запрос с логином и паролем.

Продолжение урока будет доступно вам
после покупки курса PHP для начинающих

Cookie (куки) представляют небольшие наборы данных (не более 4 кБайт), с помощью которых веб-сайт может сохранить на компьютере пользователя любую информацию. С помощью куки можно отслеживать активность пользователя на сайте: залогинен пользователь на сайте или нет, отслеживать историю его визитов и т.д.

Сохранение cookie

Для сохранения куки на компьютере пользователя используется функция setcookie(). Она имеет следующее определение:

Функция setcookie() может принимать следующие параметры:

Читайте также  Сказка волга и вазуза толстой

name : имя cookie, которое будет использоваться для доступа к его значению

value : значение или содержимое cookie — любой алфавитно-цифровой текст не более 4 кБайт

expire (необязательный параметр): срок действия, после которого cookie уничтожаются. Если данный параметр не установлен или равен 0, то уничтожение cookie происходит после закрытия браузера.

path (необязательный параметр): путь к каталогу на сервере, для которого будут доступны cookie. Если задать ‘/’, cookie будут доступны для всего сайта. Если задать, например, ‘/mydir/’ , cookie будут доступны только из каталога /mydir/’ и всех его подкаталогов. По умолчанию значением является текущий каталог, в котором устанавливаются cookie.

domain (необязательный параметр): задает домен, для которого будут доступны cookie. Если это домен второго уровня, например, localhost.com, то cookie доступны для всего сайта localhost.com, в том числе и для его поддоменов типа blog.localhost.com.

Если задан поддомен blog.localhost.com, то cookie доступны только внутри этого поддомена.

secure (необязательный параметр): указывает на то, что значение cookie должно передаваться по протоколу HTTPS. Если задано true , cookie от клиента будет передано на сервер, только если установлено защищенное соединение. По умолчанию равно false .

httponly (необязательный параметр): если равно true , cookie будут доступны только через http протокол. То есть cookie в этом случае не будут доступны скриптовым языкам, например, JavaScript. По умолчанию параметр равен false

Здесь устанавливаются две куки: "city" и "language". Первая куки уничтожается после закрытия браузера, а вторая — через 3600 секунд, то есть через час

В cookie можно сохранить любую информацию, но не стоит сохранять важные с точки зрения безопасности данные, например, пароли. А если и сохранять какую-то важную информацию, то следует хранить ее в зашифрованном виде.

Читайте также  Символ новой строки html

Получение cookie

Чтобы получить cookie, можно использовать глобальный ассоциативный массив $_COOKIE, например, $_COOKIE["city"] . Так, получим ранее сохраненные куки:

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

Сохранение в куки массивов имеет некоторые особенности. Например, сохраним следующий массив:

Теперь получим его и выведем на страницу:

Удаление cookie

Для удаления cookie достаточно в качестве срока действия указать какое-либо время в прошлом:

Ссылка на основную публикацию
Adblock
detector