2009-12-10 3 views
0

Я не в состоянии создать кук Firefox с следующей строкой:Почему я не могу создавать файлы cookie в Firefox?

setcookie("TestCookie", $value, time()+3600, "/", "localhost"); 

Кто-то знает, почему?

Я проверил настройки в FF и принимает файлы cookie от сторонних сторон и удаляется, когда они истекают.

EDIT: Я могу создать теперь с этой линии:

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; 
setcookie('cookiename', 'data', time()+60*60*24*365, '/', $domain, false); 

но как удалить его?

Я пробовал просто переключить + на - но это не сработало.

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false; 
setcookie('cookiename', 'data', time()-60*60*24*365, '/', $domain, false); 
+1

Просто для уточнения ... доступ к сайту, чтобы проверить, что вы набираете Http: // Localhost в адресной строке? Просто хочу убедиться, что вы не используете, как http://127.0.0.1 или http: //192.168.1.xx или что-то подобное. –

+0

yes im using localhost/projects/blinder/index.php –

+0

Является ли «/» допустимым путем? Вы пробовали "/ foo /"? – bobber205

ответ

4

Это было некоторое время, так как я работал с LOCALHOST печеньем, но в соответствии с комментариями в PHP руководстве «локальный» является недопустимым значением для параметра домена.

Чтобы установить файл cookie на localhost, вместо этого используйте false. Пример:

setcookie("TestCookie", $value, time()+3600, "/", false); 

См http://www.php.net/manual/en/function.setcookie.php#73107

+0

спасибо, что это сработало. но теперь проблема в том, как удалить его? см. Мою обновленную версию –

+1

Чтобы удалить файл cookie, вы должны установить дату истечения срока действия в прошлом. В вашем случае вы будете использовать 'setcookie (" TestCookie ", '', time() - 3600,"/", false);' – zombat

Смежные вопросы