| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Проблема с установкой кук |
| Автор: begin 21.10.2009, 19:53 | ||||
Проверяю, есть ли кука. Если нет, то назначаю ей свежий номер из базы. Но даже после обновления страницы, скрипт не видит куку - каждый раз пытается ставить новую.
В другом скрипте кука ставится аналогично и без проблем:
и после обновления страницы кука нормально видна. |
| Автор: Kallisto 21.10.2009, 20:00 |
| Дата и время на компьютере где запущен сервер и на вашем какие ? |
| Автор: begin 21.10.2009, 20:29 |
| Разница в 1 один час. Я живу в Украине, а сервер находится в России. Даты совпадают. |
| Автор: Ипатьев 21.10.2009, 20:36 |
| выводить отладочную информацию. смотреть, что в $chat (переменные, кстати, в кавычках не пишут) смотреть, какой заголовок уходит браузеру Добавлено через 25 секунд проверка, кстати, странная |
| Автор: begin 21.10.2009, 20:45 | ||
Значение переменной проверял - правильно берется из базы и увеличивается на 1. Пробовал и с кавычками и без. Сейчас убрал. А как посоветуете правильно проверить, установлена ли кука с таким именем? |
| Автор: Ипатьев 21.10.2009, 20:48 | ||
| isset(), empty() значение берется совсем неправильно. вместо всего этого винегрета должно быть
хотя странно. в этой таблице единственное поле? |
| Автор: begin 25.10.2009, 21:55 | ||||
попробовал оба варианта - не работают
да, эта таблица нужна для хранения счетчика. Вобщем на всякий случай еще раз обрисую проблему: человек заходит на сайте в раздел Контакты. Там есть чат с менеджером сайта. В момент захода на страницу скрипт проверяет - установлена ли кука. Если нет, то берется самый последний id из таблицы, увеличивается на один. Это значение записывается в таблицу, а также на компе пользователя устанавливается кука с таким значением. Сама кука является идентификатором переписки посетителя с менеджером (чтобы одновременные переписки не накладывались друг на друга, а также не были видны остальным посетителям). Куку я ставлю на сутки, чтобы человек ведя чат с менеджером, мог время от времени уходить на другие страницы сайта. Когда возвращается в раздел Контакты, то все еще видит свою переписку. Но именно эта возможность у меня сейчас и не работает - каждый раз при открытии этой страницы скрипт не находит куку и ставит новую |
| Автор: Ипатьев 25.10.2009, 21:57 |
значит, неправильно пробовал |
| Автор: begin 25.10.2009, 23:09 | ||||
Делал вот так:
и вот так:
не работает ни то, ни то. |
| Автор: Ипатьев 26.10.2009, 08:34 |
| да, проверка правильная. если нужно, чтобы кука была доступна во всех каталогах сайта, надо ставить ее для корневого каталога, указывая это в параметрах. |
| Автор: begin 26.10.2009, 15:15 | ||||
вот, что я прочитал об использовании данного параметра в куках:
У меня скрипт, устанавливающий куку и скрипт, ее проверяющий - один и тот же, и находится в в папке mysite.com/new До этого я уже несколько раз делал подобное на других сайтах и тоже устанавливал куки не из корня сервера, а из вложенной папки. И скрипты из этой же папки нормально видели куки. Пожалуйста объясните, если я что то не так понял. Но почему тогда именно в этот раз скрипт перестал видеть куки? |
| Автор: Ипатьев 26.10.2009, 15:21 |
Готового ответа на этот вопрос не существует. Надо разбираться. Ставьте просмотрщик HTTP заголовков (есть в FireBug) и смотрите, какую куку ставит сервер. Возвращает ли ее браузер. Тренируйтесь сначала без базу данных. Вы, собственно, проверили - возвращает ли она хоть что-нибудь? |