|
|
|
| Добрый день, ломаю голову уже не один час...
Дело в том, что, есть рабочий скрипт авторизации, и он успешно работал до определенного момента, но почему то даже без моего вмешательства он отказался работать. После ввода логина с паролем скрипт удачно проверяет достоверность и наступает пора ставить куку, условие просто, если кука встала делаем обновления в базе и переходим на сайт, если нет то переходим и пишем об ошибке.
Скрипт срабатывает, устанавливает Куку, обновляет базу и переходит.... Утилиты для браузеров куку видят все значения верные, сравниваю с записью в базе все идентично, отсюда ясно все сработало, а банальный <? echo $_COOKIE['name']; ?> не пашет.... в следствии это не могу получить инфу из куки.. что это может быть?? Подскажите плз. сам пишу уже не первый год, а такая штука первый раз. Я уже в скрипте после установки куки прописал ее отображение, все равно тишина... | |
|
|
|
|
|
|
|
для: seletsky
(14.05.2009 в 11:57)
| | Перенаправление страницы на саму себя не убирали?
Куку вы можете увидеть только после второго посещения, сразу после установки вы её не достаните никак.... | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 12:09)
| | Да даже и не в этом деле после успешной авторизации скрипт хеадером отправляет на главную страницу, но там тоже ничего не видит.
А по сути программирование то идет в реальном времени, и скрипт после установки куки может отобразить ее содержимое, все равно что записать значение в переменную... | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 12:18)
| | Может но не отображает, а плагин к ФайрФоркс показывает эту куку без проблем.... | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 12:18)
| | А по сути программирование то идет в реальном времени, и скрипт после установки куки может отобразить ее содержимое, все равно что записать значение в переменную...
нет | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 12:18)
| | Попробуйте для начала перенаправить на туже страницу | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 12:52)
| | пробовал, толку нет. | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 12:55)
| | Дайте кусок кода от начала до установки куки | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 13:03)
| | скрипт сам по себе богат кодом, потому как используется индивидуальная авторизация с собственной системой шифрования, там все выполняется нормально потому как конечные данные всегда отображаются, вот момент установки куки.
$time=time()+300;
if (setcookie("isuid","data",$time,"","name.domain.ru",1)) mysql_query("записываем все данные полученные выше"); else header("Location: http://".$_SERVER['SERVER_NAME']."?profile&cookie");
header("Location: http://"name.domain.ru");
|
типо того, и еще раз повторюсь что плагины к браузерам для работы с куки видят работу скрипта! т.е. уставноленные куки, а пхп нет! проверяю наличие куки с http://name.domain.ru | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 13:28)
| | стоп, так вы устанавливаете куки на домене 2 уровня и пытаетесь рассмотреть их на домене 3 уровня? | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 13:52)
| | нет конечно, в том же примере видно куда уходит после установки, адрес тот же. | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 14:16)
| | Если это всё происходит на сервере, то отображение ошибок скорее всего отключено.
Вспомните, воэможно Вы редактировали какой-нибудь подключаемый до установки куки файл. Кука отправляется вместе с заголовком, а посему должна устанавливаться до любого вывода в браузер. Иногда "косяки" со стороны редактора который сохраняет код со спец символами, они то и летят в браузер "по перёд батьки"))
Хотя вы говорите чтто в браузере куку видно, но можт это какая нить старая печенюшка.
Просто я не знаю что там у Вас поэтому перебераю все возможные варианты. | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 16:27)
| | Спасибо что не остался равнодушным, я половину дня так и просидел в попытке разобраться и получилось.
1). Когда то при установки куки, я в конце поставил единицу (безопасная установка), все работало, но потом успешно перестало, убрал и все заработало сново.. природу этого феномена до сих пор не понял.. потому как куки ставились но не видились сайтом... Все заработало, но криво, логонился через раз, в FireFox и тоже нашел причину.
2). Косяк сам FireFox, при установки новой куки в своем хранилище, он вместо удаления куки setcookie("name") не заменяет уже существующую, а создает еще одну. Т.е. получается уже две печеньки с одним и тем же именем. При следующей попытке логиниться, авторизация происходит и он создает третью куку, уже с актуальными данными. И теперь ИНОГДА, не всегда, а время от времени бывает что пустая кука перекрывает новую и скрипт сайта не видит актуальную куку в следствии думает что авторизации небыло... Выход простой т.к. у пустой куки срок годности до выключения браузера, выключаем его, запускаем заново и опана! Сайт видит актуальную куку и все нормально. | |
|
|
|
|
|
|
|
для: Valick
(14.05.2009 в 13:03)
| | Аналогичная ситуация встретилась (отвалилась авторизация на сессиях, просто тупо не залогиниться),
на 99% уверен что абонент работает в опере (как и я).
Подозреваю что это чисто оперный глюк, проявился при переходе на самую свежую версию.
В общем починилось добавкой:
session_start();
setcookie("PHPSESSID", session_id() );
|
| |
|
|
|