Установка куки перед перенаправлением - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь установить cookie непосредственно перед перенаправлением заголовка, но он не работает.Я прочитал, что установка cookie после строки перенаправления заголовка должна решить проблему, но мне не повезло.Точно так же в сообщении, которое здесь ранее было сказано, что если вы использовали «человеческий URL» в перенаправлении местоположения, вы должны использовать «/» в параметре пути куки.Это также было сделано без удачи.

header("Location: $url" . $params);
setcookie('cartstlang', 'lang', 0, '/', '', FALSE, FALSE);
setcookie('cartstdb', 'db', 0, '/', '', FALSE, FALSE);

Также обратите внимание, я проверил это, закомментировав перенаправление заголовка, а затем щелкнув ссылку для изменения страниц.Затем файлы cookie нормально появлялись в var_dump ().

Я работаю на XAMPP с PHP 5.3+.Я тестировал в IE 8 и Firefox 4.

Любая помощь будет отличной.Спасибо.

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Код setcookie должен стоять перед кодом header и убедитесь, что вы делаете exit() после, чтобы остановить любой вывод.

Также вы уверены, что он идет в тот же домен (естьразница между http://site.com и http://www.site.com)? Попробуйте установить для параметра домена значение .site.com в setcookie, чтобы к нему можно было получить доступ во всех поддоменах.

1 голос
/ 08 июня 2011

попробуйте

$value = 'something from somewhere';

setcookie("TestCookie", $value);




echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);

и отправьте ответ, что вы видите. Также убедитесь, что куки включены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...