У меня есть теоретический вопрос.
Я знаю, что вы можете получить / прочитать PHP-файл cookie с помощью javascript, используя: document.cookie
Есть ли аналогичный способ сделать это в PHP?
Может ли PHP получить / прочитать файл cookie, который создан i JavaScript? Если да, то как вы можете это сделать?
Вы можете использовать $_COOKIE
, $_COOKIE
. Просто $_COOKIE['key_name']
него, как на любой массив, где $_COOKIE['key_name']
– это файл cookie, к $_COOKIE['key_name']
вы хотите получить доступ.
См. Документацию по API PHP .
Чтобы увидеть их, вы можете сделать это:
foreach($_COOKIE as $v){ echo htmlentities($v, 3, 'UTF-8').'<br />'; }
Для одного файла cookie это просто:
echo htmlentities($_COOKIE['cookieName'], 3, 'UTF-8');
Не стесняйтесь изменять стиль цитаты (3 – ENT_QUOTES) и кодировку в соответствии с вашими потребностями.
Примечание. Файл cookie должен быть установлен в том же домене, чтобы вы могли получить к нему доступ.
Я думаю, что это хороший способ установить все намеки в одном cookie и использовать символ между вашей информацией. Затем используйте, например, это в «PHP» после набора cookie с помощью JavaScript
$mystr = print_r($_COOKIE); $way=explode(";",$mystr);
Ответ PHPglue хорош, но в нем есть несколько опечаток. Он также не говорит вам, что такое индекс, который может быть очень полезен.
foreach($_COOKIE as $key=>$value) { echo "key: ".$key.'<br />'; echo "value: ".$value.'<br />'; };
Моя проблема заключалась в том, что я устанавливал свой файл cookie в Javascript с периодами в имени. Они были преобразованы в символы подчеркивания. Например, имя файла cookie, facebookLogin.myapp.com изменен на facebookLogin_myapp_com. Как только я запустил код выше, я смог увидеть, что имя отличается от ожидаемого и правильно прочитало имя из PHP.