Intereting Posts
codeigniter select join дважды из той же таблицы Предупреждение: mysqli_query () ожидает, что параметр 1 будет mysqli, строка, указанная в DOCX Тип файла в PHP finfo_file – application / zip PHP занимает 90 раз больше времени для запуска запроса, чем клиент MySQL как загрузить аудиофайл на сервер (базу данных mysql) с помощью phonegap.? как показать все данные из таблицы joomla? Дата PHP («I») для будущей или прошлой даты Как сделать меньше для работы с бассетом в laravel 4? angularjs передает URL-адрес php Codeigniter / PHP проверить, можете ли подключиться к базе данных Как добавить несколько случаев условий внутри метода Switch? Избавиться от идентификатора (категории и статьи) из URL (Joomla 3.3 / 3.4 / 3.5) php / regex: как заменить часть найденного шаблона, но оставить остальное как есть? как получить в настоящее время зарегистрированных пользователей в mysql? Как закодировать простую систему управления версиями?

PHP Не удается прочитать файлы cookie?

Мне нравится использовать PHP, чтобы узнать, присутствует ли файл cookie PHPSID27258STATUS со значением COMPLETE en, если это так.

В google chrome (в Options) я вижу, что этот файл cookie присутствует и имеет значение COMPLETE .

Если я запустил этот скрипт PHP, я получаю «Не задано». Что я здесь делаю неправильно?

 $cookiename="PHPSID27258STATUS"; if (isset($_COOKIE[$cookiename]) && $_COOKIE[$cookiename] == "COMPLETE") 

–Обновить
Печенье устанавливается платформой обзора с открытым исходным кодом «limesurvey». Хотя, вероятно, это не самый лучший способ. Я использую limesurvey для проведения небольшого опроса (iframe) на сайте, который я строю. Мне нравится, чтобы опрос исчез при следующем посещении, когда он отправил бин. Limesurvey работает с одного и того же хоста (localhost now). И находится в подкаталоге сайта.

Я думаю (но в LS есть много кода), так как cookie создается после завершения опроса / сообщения.

 $cookiename="PHPSID".returnglobal('sid')."STATUS"; setcookie("$cookiename", "COMPLETE", time() + 31536000); //Cookie will expire in 365 days 

Related of "PHP Не удается прочитать файлы cookie?"

Вы не можете получить доступ к файлу cookie сразу после его установки. По крайней мере, в прошлый раз это было так. Удостоверьтесь, что у вас нет этой проблемы. Если это не так, у вас есть проблема с настройкой файла cookie, и в этом случае отправьте эту часть.

Вы можете читать только файлы cookie, принадлежащие тому же домену, что и скрипт чтения. Например, если файл cookie PHPSID27258STATUS был установлен доменом xyz.com, вы не можете прочитать его, используя скрипт на abc.com. Поэтому убедитесь, что домен вашего желаемого файла cookie совпадает. Также покажите нам часть кода, в которой вы настраиваете свой файл cookie.

Редактировать:

 setcookie($cookiename, "COMPLETE", (time() + 31536000) , '/'); 

Попробуйте настроить файл cookie с помощью этого кода:

 setcookie("cookiename", "cookievalue", time() + 31536000, "/"); 

Это делает файл cookie доступным для всего домена, я недавно столкнулся с той же проблемой, и когда я это пробовал, он заставил его работать, причина в том, что ваш браузер хранит файлы cookie для домена domain.com и http://www.domain.com, поэтому вы никогда не знаете от которого зависит ваш настрой и получение, рекомендуется установить домен, даже если у вас нет этой проблемы.

Вы отмечаете, что cookie задается программой, запущенной в своем собственном подкаталоге. Вы не указываете, установлен ли сам файл cookie в этом подкаталоге, но я подозреваю, что это ваша проблема.

Если cookie установлен в путь, он будет доступен только для страниц в этом пути. Это поведение описано на setcookie() руководства PHP setcookie() .

Когда вы устанавливаете файлы cookie на странице в подкаталоге, то для того, чтобы файл cookie был доступен для всего сайта, необходимо setcookie() с дополнительным параметром path установленным на "/" .

Вы указываете, что файл cookie устанавливается LimeSurvey. Я не знаю этого программного обеспечения, но вы должны иметь возможность посмотреть на источник и посмотреть, использует ли он параметр path когда он устанавливает cookie. Если нет, лучшим вариантом было бы изменить его так, чтобы он это делал. Затем файл cookie будет доступен для всего сайта. (Было бы вполне понятно, если разработчики LineSurvey решили не устанавливать его для всего сайта, потому что это позволит запускать программное обеспечение как более изолированное лицо из чего-либо еще на сайте).