Cookie (куки) представляют небольшие наборы данных (не более 4 кБайт), с помощью которых веб-сайт может сохранить на компьютере пользователя любую информацию. С помощью куки можно отслеживать активность пользователя на сайте: залогинен пользователь на сайте или нет, отслеживать историю его визитов и т.д.
Сохранение cookie
Для сохранения куки на компьютере пользователя используется функция setcookie(). Она имеет следующее определение:
| 
			 1 2  | 
			
			 
 
  | 
		
Функция 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 
Сохраним cookie:
| 
			 1 2 3 4  | 
			
			 
 
 
 
  | 
		
Здесь устанавливаются две куки: "city" и "language". Первая куки уничтожается после закрытия браузера, а вторая - через 3600 секунд, то есть через час
В cookie можно сохранить любую информацию, но не стоит сохранять важные с точки зрения безопасности данные, например, пароли. А если и сохранять какую-то важную информацию, то следует хранить ее в зашифрованном виде.
Получение cookie
Чтобы получить cookie, можно использовать глобальный ассоциативный массив $_COOKIE, например, $_COOKIE["city"]. Так, получим ранее сохраненные куки:
| 
			 1 2 3  | 
			
			 
 
 
  | 
		
Сохранение массивов в cookie
Сохранение в куки массивов имеет некоторые особенности. Например, сохраним следующий массив:
| 
			 1 2 3  | 
			
			 
 
 
  | 
		
Теперь получим его и выведем на страницу:
| 
			 1 2 3 4 5 6 7  | 
			
			 
 
 
 
 
 
 
  | 
		
Удаление cookie
Для удаления cookie достаточно в качестве срока действия указать какое-либо время в прошлом:
| 
			 1  | 
			
			 
  |