Я успешно установил файл cookie cad
и вижу его в файле cookie-поиска firefox.
if(isset($_COOKIE['cad'])){ echo'YES'; }else{ echo'NO'; } //parse NO
Я настраиваю свой веб-сайт на размещенном сервере, собираюсь перейти от другого, так что сервер site.com.test.host.com. Это создает проблему для вызова cookie?
Но говорить о том, что print_r($_COOKIE);
показывает другие файлы cookie в одном тестовом домене.
Когда вы устанавливаете файл cookie, вы можете установить различные параметры. Куки-файлы, как известно, могут быть доступны только для скриптов в одном домене, но вы также можете повлиять на путь, на котором установлен cookie. Например, cookie, установленный на /foo/bar.php
может быть недоступен на /foobar.php
.
PHP по умолчанию устанавливает cookie в текущий путь. Итак, с приведенным выше примером, cookie установлен в путь /foo/
и недоступен вне этого пути.
Поэтому, когда вы устанавливаете свои файлы cookie, лучше указать, где вы хотите, чтобы они были доступны. В PHP это очень легко; просто установите дополнительный параметр, определяющий путь. Как вы указываете в комментариях, вам нужен самый либеральный путь /
, что означает «где угодно в этом домене».
setcookie('cad', 'somevalue', 0, '/');
См. Документацию setcookie
в руководстве по PHP .