2012-05-22 2 views
0

Я делаю небольшой проект на своем диске, и я наткнулся на небольшую проблему. Я настроил собственный домен, указанный в моем каталоге, и написал несколько скриптов для добавления файлов cookie (с setcookie). Таким образом, мой код на данный момент (установочные файлы cookie):Извлечение файлов cookie не работает (localhost с пользовательским доменом)

setcookie('id',$login->id, time()+3600*24); 
setcookie('name',$login->name, time()+3600*24); 
setcookie('pass',$login->pass, time()+3600*24); 

Итак, в основном - ничего большого. Значения берутся из базы данных, а вставка файлов cookie работает нормально. Они там, привязанные к моему домену. Проблема возникает, когда я пытаюсь их распечатать. Я попытался эхом и настроить переменную с помощью $_COOKIE['id'] и с помощью print_r($_COOKIE), чтобы увидеть их. Оба возвращают нулевые значения. Что я могу сделать?

+0

Возможно, у вас, возможно, был настроен отклонить cookies? Кроме того, я бы не рекомендовал использовать файлы cookie для хранения паролей любым способом ... –

+0

Нет, нет, я тестировал его в трех разных браузерах (Chrome, FF и Opera), и он не работает ни на одном из них. –

+0

Что вы имеете в виду, когда говорите: «Вставка файлов cookie работает нормально. Они там, напечатаны в моем домене»? Кроме того, как вы указываете домен на свой компьютер? –

ответ

1

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

Во-вторых, попробуйте указать домен для печенья.

setcookie('id',$login->id, time()+3600*24,'/','site.com'); 
    setcookie('name',$login->name, time()+3600*24,'/','site.com'); 
    setcookie('pass',$login->pass, time()+3600*24,'/','site.com'); 

и, наконец, проверьте функцию setcookie().

var_dump(setcookie('id',$login->id, time()+3600*24,'/','site.com')); 
+0

Большое спасибо, он работает с определённым доменом. Можешь мне сказать почему? Я имею в виду, что это первый раз, когда мне нужно было определить домен (работая на localhost и на «Net/custom domains»). –

+0

Я не знаю, почему это происходит, но перед этим я столкнулся с такой проблемой. Тогда я не успел посмотреть, но теперь я не могу воспроизвести его. Я думаю, проблема возникает из-за изменений в заголовках, представленных веб-сервером. Это противоречит RFC6265. и даже устарел RFC2109. – ShaaD

+0

Очень странно, но, тем не менее, ваши решения работают. Еще раз спасибо! –