Куки $_COOKIE в PHP
Раньше я не знал как передавать значение переменных из одной страницы в другую. Для этих целей я использовал GET - передачу данных. Это не совсем удобно если передаёте большое количество переменных. Ваш url-адрес будет слишком длинным. При передаче данных через массив куки $_COOKIE все данные будут храниться в ассоциативном массиве. Хочу рассказать о плюсах кук. Сколько бы тысяч элементов не содержал массив $_COOKIE он будет сохраняться в памяти вашего компьютера. В этом случае ваш сервер с сайтами не перегружается. Сколько бы тысяч пользователей не было вы не нагрузите ваш сервер данными пользователя. Если у вас в массиве 100 элементов и посещаемость равна 1000 уникальных посетителей в сутки, то в вашей базе данных или в сессии будет храниться 100х1000 = 100 000 элементов. Лучше хранить эти данные в куках. Перегружать базу данных не стоит. Для того чтобы данные в куках хранились 1 месяц вы должны выставить время жизни конкретной куки в функции setcookie(). В примере используется значение IP из массива $_SERVER PHP.
$value1 = date("Y-m-d H:i:s");
$value2 = 'Egor';
$value3 = $_SERVER['REMOTE_ADDR'];
//устанавливаю на 1 месяц
setcookie('paramOne', $value1, time()+2592000);
setcookie('user', $value2, time()+2592000);
setcookie('ip-adres', $value2, time()+2592000);
print_r($_COOKIE);
/*
Array
(
[paramOne] => 2015-07-25 21:02:30
[user] => Egor
[ip-adres] => Egor
)
*/
Вы можете удалить куки с помощью функции unset(). Можно удалить как весь массив, так и его определённый элемент. Функция unset() несколько странно работает. Как только вы её примените и передадите в входной параметр функции нужный массив или элемент массива, то вы удалите на время этот массив. Для текущего места где работает эта функция куки будут удалены, но в других частях вашего сайта куки снова появятся. Вам лучше не удалять подобным образом куки. Есть способы более надёжные. Надёжный способ удаления кук состоит в том, что их можно очистить от данных. Вы можете очистить весь массив от элементов, но при этом сам массив останется.
//заменяем пустотой
setcookie('', '');
/*устанавливаем второй параметр пустым
и переводим время на 1 час назад*/
setcookie('paramOne', '', time()-3600);
//удаляю весь массив куки
foreach($_COOKIE as $key=>$val)
{
setcookie($key, '', time()-3600);
}
//если предыдущий способ не сработал
foreach($_COOKIE as $key=>$val)
{
unset($_COOKIE[$key]);
}
Для распечатывания массива $_COOKIE используйте функцию print_r(); Я хочу вам показать на картинке как хранить данные. Вы решите сами в каком виде хранить данные. Либо это будут сессии, либо куки, либо база данных.

Помните о том, что куки в некоторых браузерах отключают и вы должны предупредить пользователя о том что информация записывается в куки. Если вы администратор сайта и данные которые нужно хранить предназначены для маленькой группы людей, то записывайте их в сессиях. Так будет надёжнее. Информацию для модераторов и администраторов не храните в куках. Это очень опасно.
Если у вас сайт-резинка и вы храните информацию о персональных настройках вашего сайта, то сохраняйте настройки в куках. Их будет много и в случае потери пользователь снова сделает необходимы настройки на сайте. Новые данные снова запишутся к нему на компьютер. Некоторые программисты записывают данные в базу данных MySQL. Учтите что при большой посещаемости база сильно разрастётся и прибавит в весе. Причем в этом случае важной информации будет мало, а основную часть базы будет занимать второстепенная информация.