Главная страница \ Статьи \ Метод проб и ошибок \ Скрипты \ Проблема с установкой cookies в PHP

Проблема с установкой cookies в PHP

Недавно столкнулся с проблемой установки cookies.

session_set_cookie_params(0, '/', '.localhost');
setcookie ("TestCookie", "", time() + 3600, "/", ".localhost", 1);

Казалось бы, cookie должен устанавливаться! Но не тут то было!

Оказалось, что из-за особенностей установки cookie - он не может быть установлен на "зону" домена. Т.е. это все равно что написать такую установку cookie:

session_set_cookie_params(0, '/', '.ru');
setcookie ("TestCookie", "", time() + 3600, "/", ".ru", 1);

Как видно, установка cookie для тестового "домена" '.test' и всех его поддоменов равносильна установки cookie для зоны RU, к примеру. Поэтому браузер наотрез отказывался запоминать такие экзотические cookie. После добавления зоны к имени домена - все пошло как по маслу:

session_set_cookie_params(0, '/', '.test.ru');
setcookie ("TestCookie", "", time() + 3600, "/", ".test.ru", 1);
Powered by Elise