Проблема с cookie
1649 повідомлень
#14 років тому
Сегодня столкнулся с непонятной ситуацией.Есть файл 1.php в котором, по нажатию кнопки вызывается через AJAX файл 2.php.
В файле 2.php устанавливаю COOKIE на месяц: setcookie("notepad", $val, time()+60*60*24*30);
Все устанавливается нормально. При повторном запросе файла 2.php в куки добавляются еще какие то значение, все работает хорошо.
НО!!! При попытка получить значение этой куки в файле 1. php (который находится на том же домене что и 2.php).
Прямо мистика какая-то. Кто-то с таким сталкивался?
1649 повідомлень
#14 років тому
Путь не ставлю-сохраняется как для текущего домена. В браузере куки видны. И в Опере и в Мозилу.И как уже писал, при повторном вызове через аякс, файл 2.php видит эту куки. А в 1.php никак.
1649 повідомлень
16382 повідомлення
#14 років тому
посиланняpath
The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
1649 повідомлень
#14 років тому
Пипец. Заработало по ходу. setcookie("notepad", $val, time()+60*60*24*30,'/'
Но почему то не с первого раза.
11416 повідомлень
#14 років тому
Цитата ("WebDesignStudio"):Пипец. Заработало по ходу. setcookie("notepad", $val, time()+60*60*24*30,'/';
Я одно время тоже сума сходил от такого, пока мне не рассказали про волшебный слеш

Удалять кстати тоже со слешем если что

5330 повідомлень
#14 років тому
Цитата ("WebDesignStudio"):Но почему то не с первого раза.
1.php обновляется после установки 2.php куки?
Каааароче. кука идет в php из запроса. если небыло повторных запросов. то ничего и нет.
Т.е. если вы в начале файла ставите куку, то прочитать её в конце не сможете. только если обновите страницу.
Или я не так понял?
1267 повідомлень
#14 років тому
Цитата ("ArtPro"):Или я не так понял?
Он так вас не поймёт и разговор о другом.
Вкратце лучше так: куки хранятся на стороне клиента (в браузере) и PHP скрипт их получает и отправляет только через заголовки страниц. Если вы в PHP скрипте установите заголовок, то браузер его не получит пока не попытается загрузить страницу, соответственно это не случится (браузер не загрузит заголовок с установленным значением) cookie можно считать ещё не существующей.
Всё дело было в том, что автор не устанавливал путь для доступа и браузер не возвращал в заголовках куки тк посчитал что скрипту 1.php их передавать нельзя.
102 повідомлення
#14 років тому
У меня была проблема, что кука устанавливалась после второго запроса.Было бы хорошо взглянуть на код, а то гадать долго можно
659 повідомлень
#14 років тому
Заработало вероятно потому, что перезагрузили страницу. Проверьте - удалите куку и попробуйте опять работает ли с первого раза .
5330 повідомлень
#14 років тому
Цитата ("Miller_time"):У меня была проблема, что кука устанавливалась после второго запроса.
это как раз то, что я и Zionit описываем. Кука выставилась в первый раз, но что ы скрипт её принял - нужен второй раз ему запрос отправить с новыми куками