Как удалить cookie php
Перейти к содержимому

Как удалить cookie php

  • автор:

Как удалить cookie php

Проектирование, разработка и оптимизация веб-приложений

Cookie в PHP

setcookie() определяет куку для отправки вместе с остальной header-информацией. Куки обязаны быть отправлены до любых других шапок/headers (это ограничение кук, а не РНР). Это требует, чтобы вы помещали вызовы этой функции перед первым выводом на страницу, т.е. до тэга <html>.

int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

После того как куки установлены, доступ к ним может быть получен при загрузке следующей страницы через массив $_COOKIE (который вызывается $HTTP_COOKIE_VARS в версиях PHP до 4.1.0).

Куки будут невидимы до тех пор, пока не будет загружена следующая страница.

Куки обязаны быть удалены с теми же параметрами, с которыми были установлены.

В PHP 3 множественные вызовы setcookie() в том же скрипте могут быть выполнены в реверсном порядке. Если вы пытаетесь удалить одну куку до вставки другой, вы должны сделать вставку до удаления. В PHP 4 множественные вызовы setcookie() выполняются в порядке вызова.

Далее идут примеры отправки кук:

Пример 1. Отправка кук функцией setcookie()

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

Пример 2. Удаление куки с помощью setcookie()
Пример 3. Удаление всех кук
Пример 4.

Обратите внимание, что часть value куки будет автоматически urlencoded при отправке куки, и, когда она получена, она автоматически декодируется и присваивается переменной с тем же именем, что и имя куки. Для просмотра содержимого нашей тестовой куки в скрипте просто используйте один из следующих примеров:

Пример 5.

Вы можете также установить куки массива, используя нотацию в имени куки. Это даёт эффект установки стольких кук, сколько элементов в этом массиве, но, когда кука получается скриптом, значения помещаются в массив с именем куки:

Как удалить cookie php

Cookie: A Cookie is a small file sent by the server to preserve stateful information for a user. It is stored on the client’s computer and sent to the server every time the user makes a request for the same page.

To create cookies you can set the cookie by using the setcookie() function of the PHP.

Syntax:

Parameters: This function accepts seven parameters as mentioned above and described below:

  • name: The name of the cookie.
  • value: The value you want to store in the cookie.
  • expire-time: It is the number of seconds until the cookie will be kept on the user’s machine by the browser. After that, it will automatically be deleted. If not set then the cookie will be preserved by browser until it is open.
  • path: It determines for which directories cookie will valid. If you want to access it in all directories then put it on “/”, i.e. the cookie is accessible in the entire domain. Otherwise, the cookie will be limited to the subdirectory.
  • domain: It is used to define the access hierarchy for the cookie. For example, if you set this to “yourdomain.com”, it will be accessible via all the subdomains also. but if it set to “sub.yourdomain.com”, it will be accessible by “sub.yourdomain.com” and its subdomains.
  • secure: It determines how the cookie will be sent, via HTTP or HTTPS. If set to true then the cookie will be sent via HTTPS only, otherwise, it will be sent via HTTP. Its default value is false.
  • httponly: If it set to true, the cookie is accessible only either via HTTP or HTTPS. That means the client code (like Javascript) can not access the cookie.

Out of the above parameters, only the first two parameters are mandatory. Others are optional parameters. If you want to preserve the cookie, then provide the expire-time parameter.

Note: It is stored in the global array named $_COOKIE.

Creating a Cookie: As mentioned earlier, we can set cookies by using the function setcookie().

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

В PHP нет встроенного механизма для удаления кук. Поэтому удаляют куки хитрым способом — устанавливая время ‘смерти’ куки на текущий момент:

Удаление куки приведет к изменению $_COOKIE только после перезагрузки страницы:

Удалите какую-нибудь куку. Обновите страницу и убедитесь, что она удалилась.

Хитрый прием

Для того, чтобы при удалении куки сразу менялся $_COOKIE можно использовать уже известный нам хитрый прием:

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

Удалите какую-нибудь куку с помощью хитрого приема. Убедитесь, что она будет удалена сразу.

Работа с cookie в PHP

Cookies – это механизм хранения данных браузером для отслеживания или идентификации возвращающихся посетителей. В PHP работа с Cookie происходит следующем образом:

Установка cookies

Установка cookies производится функцией setcookie или setrawcookie (без URL-кодирования значения).

Cookie передаются клиенту вместе с другими HTTP-заголовками, поэтому setcookie() должна быть вызвана до вывода в браузер.

$expires – время жизни (метка времени Unix), если 0 или пропустить аргумент, cookie будут действовать до закрытия браузера.

$path – путь к директории, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене.

$domain – домен, которому доступны cookie. Например, ' www.example.com ' сделает cookie доступными только в нём. Для того, чтобы сделать cookie доступными для всего домена и поддоменов, нужно указать имя домена ' example.com '.

$secure – при true значения cookie будут доступны только по HTTPS.

$httponly – при true , cookie будут доступны только через HTTP-протокол.

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

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