#php #cookies
#php #файлы cookie
Вопрос:
Я попытался найти решение здесь и решил некоторые проблемы с файлами cookie (например, проблему с установкой файла cookie перед созданием HTML / заголовка). Я проверил свой браузер, и файл cookie установлен.
Однако, когда я использую код, подобный следующему, значение не отображается:
echo "cookie name: " . $cookie_name . "<br>";
if( isset( $_COOKIE[$cookie_name] ) )
{
echo "Cookie set: " . $_COOKIE[$cookie_name] . "<br>";
Значение переменной $cookie_name берется из файла конфигурации, который включен, и возвращает правильное значение. Проблема в том, что isset() не видит файл cookie. Вероятно, это очень простая проблема, но я ее не вижу. Заранее спасибо — Кен
По запросу, добавление кода в вопрос для удобства чтения:
Для двух используемых переменных установлено значение this (по крайней мере, на данный момент):
// for login cookies
$cookie_name = 'GSPCMS_Id';
$cookie_time = (3600 * 24 * 10); // 10 days
Команда, которая устанавливает файл cookie (в процедуре входа в систему):
setcookie( $cookie_name, $_SESSION['user_name'], time() $cookie_time );
Комментарии:
1. Сделайте a
print_r($_COOKIE);
перед проверкой, установлен ли он, просто для целей тестирования.2. Кроме того,
$cookie_name
установлено доказательство.3. Я вижу: Array ( [PHPSESSID] => nvruifgg3n62srldd2tlgntcm0)
4. Правильное доменное имя в файле cookie? Серьезно, логика cookie очень надежна в PHP. Если ваш файл cookie не возвращается, но файл cookie СЕАНСА возвращается, то, скорее всего, с вашим файлом cookie что-то не так? Пожалуйста, добавьте код к вашему вопросу 🙂
5. Добавьте код в свой вопрос, чтобы его было легче читать. На что
$cookie_name
установлено значение?