Помогите с куками?

программирование php веб Cookies

Устанавливаю кукис

setcookie('lalala','tututu');

И если на этой же странице сделать вывод

echo $_COOKIE['lalala'];

то всё выводится нормально.

А если попробовать вывести в соседнем скрипте, то происходит ошибка.

Почему так?

И еще, кукис же устанавливается по умолчанию на время пока браузер не будет закрыт (как сессии)? Да и даже если ставлю время жизни кукиса, всё равно не выводится. Наверное, нужно указывать string path? Но я не могу понять что туда писать. Или string domain? Но домена нет, ведь действие происходит на локальном сервере. :-)

Научите меня, пожалуйста. :-)

Примечание:
Ошибка Undefined index, как-будто кукиса и не существует вовсе. :-(

Примечание:
Он и работает, но только в том скрипте, где кукис устанавливается. А другой скрипт как-будто и не в курсе что кукис существует.

Примечание:
Ой, скрипт не соседний, а в другом каталоге. Что сделать, чтобы тоже работал?

Примечание:
Хмс, ну странно вообще, работает только в скриптах, которые в одной папке с тем, в котором кукис устанавливается. :-(

path ставлю в ' / ' не помогает.

Кстати, а если устанавливать кукис в скрипте из корневой папки, то работает потом во всех каталогах.

Примечание:
to Ильдар-,

так я и мучаю в рамках как бы одного домена (одной корневой папки). Вообщем, придётся создавать кукис в скрипте находящемся в корневой папке. А если установить кукис в /pervaya_papka/index.php (например) то видеть кукис будут только скрипты находящиеся в этой же папке, другие нет. :-(

Я думала что не важно с какого каталога установливать кукис, и он будет виден во всех других (этого же домена), ан нет, получается что не так всё.

Примечание:
to Артёмка, не неее, там конечно нет, это я для наглядности поставила тут, иначе сливается '/'

:-)

Примечание:
to Epsiloncool,
все мои эксперименты доказывают, что есть разница с какого места кукис устанавливать. Когда из корневой папки, то потом из любого каталога можно кукис вызвать, а если установить его в каком-нить http://domen.sru/papka1/papka2/papka3/index.php - и попробовать потом получить этот кукис в http://domen.sru/papka1/papka2/index.php, то ничего не получится. :-)

Примечание:
Вооо глюки. Не знаю почему не получалось в прошлый раз, но сейчас попробовала из дебрей и глубин установить кукис с указанной строкой path ' / ' и всё получилось. :-)

Артёмка, спасибо огромное за настойчивость. :-) И всем участникам большое спасибо. :-)
Ответы:
Попробуй поднять виртуальный хост и через него запустить код, должно работать, ну и path ставь в /, domain в соответствующий домен с точкой впереди и время жизни чтобы хватало.
Поставьте firebug и промониторьте заголовки, которыми обмениваются ваш браузер с сервером.
Убедись, что перед командой setcookie у тебя никаких выводов, никаких echo, print и так далее, нету.
> path ставлю в ' / ' не помогает.
Если в коде в кавычках тоже есть пробелы, то их надо убрать на фиг. И будет работать.
И еще: тот самый string path определяет видимость cookies. Если его не указывать, то cookies видны только в той директории, где лежит скрипт, и ее поддиректориях. Если указать другую папку, то, соответственно, в этой папке и ее подпапках. Если указать корневую папку, т.е. /, то видно будет везде в пределах домена.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.