Cookie (куки) - это способ долговременного хранения данных в браузере пользователя.
К сожалению, в куки можно сохранить только 4 килобайта информации. Кроме того, есть ограничение на количество кук для данного домена.
Пишем в cookie
Обращаю ваше внимание на то, что в куки нужно писать до любого вывода на экран. Замечания по этому поводу аналогичны проблемам с сессиями на PHP.
Написать что-то в куки можно с помощью функции setcookie, которая первым параметром принимает имя этой куки, а вторым - значение:
<?php
//Запишем в куки с именем test значение 'Тест!':
setcookie('test', 'Тест!');
?>
Однако такие куки долго не живут - только до закрытия браузера.
Продлить время жизни куки можно с помощью третьего параметра, который принимает время (конкретную дату) окончания жизни куки в формате timestamp.
Для тех, кто не помнит, что это за формат - напоминаю: это количество секунд, прошедших с первого января 1970 года.
Однако устанавливать конкретную дату 'смерти' куки не очень удобно, так как дата установки этой куки всегда разная.
Поэтому третий параметр принято записывать так: настоящий момент времени + N секунд.
Настоящий момент времени в формате timestamp можно получить с помощью функции time. Примеры:
<?php
//Запишем куку на час (в часе 3600 секунд!):
setcookie("test","Тест!", time() + 3600);
//Запишем куку на день (в сутках 3600*24 секунд!):
setcookie("test","Тест!", time() + 3600*24);
//Запишем куку на месяц (в месяце 3600*24*30 секунд!):
setcookie("test","Тест!", time() + 3600*24*30);
//Запишем куку на год (в году 3600*24*30*365 секунд!):
setcookie("test","Тест!", time() + 3600*24*30*365);
?>
Читаем из cookie
Куки можно прочитать с помощью глобального массива $_COOKIE.
Давайте прочитаем ранее установленную куку test:
<?php
//Выведем на экран значение куки test:
echo $_COOKIE['test'];
?>
Удаляем cookie
Удаляют куки очень хитрым способом - устанавливая дату 'смерти' куки на текущий момент времени:
<?php
//Удалим куку, установив третий параметр в текущий момент времени:
setcookie('test', '', time());
?>