я получил массив как этотPHP как stringify массив и хранить в куки
$ значение = {массив ('ид' => $ ID, 'электронной почты' => $ электронной почты, 'маркер' => $ токен)}
Я хочу, чтобы строка массива затем закодировать, а затем сохранить его в cookie "login". Как ты это делаешь ? Также, пожалуйста, скажите мне, как декодировать и читать сохраненное значение.
Edit:
Я пытался сериализации/десериализации, но он не работает, как ожидалось. например,
$value = serialize(array('id'=>33, 'email'=>'[email protected]', 'token'=>'e9aa0966773d68e0fbf9cb21fc2877b4'));
echo $value; //a:3:{s:2:"id";i:33;s:5:"email";s:20:"[email protected]";s:5:"token";s:32:"e9aa0966773d68e0fbf9cb21fc2877b4";}
Но когда значение пойти печенье, это выглядит, как этот
a%3A3%3A%7Bs%3A2%3A%22id%22%3Bs%3A1%3A%226%22%3Bs%3A5%3A%22email%22%3Bs%3A20%3A%22craigcosmo%40gmail.com%22%3Bs%3A5%3A%22token%22%3Bs%3A32%3A%22e9aa0966773d68e0fbf9cb21fc2877b4%22%3B%7D
Печенье никогда не будет простым текстом. Причина в том, как он хранится в заголовке HTTP. В заголовке 'Cookie:' используются символы, такие как двоеточия и точки с запятой для разделителей, поэтому их нужно избегать (PHP в основном берет значение cookie и выполняет [url_encode] (http://php.net/manual/en/function. urlencode.php), прежде чем вывести его клиенту) –
, поэтому для чтения значения cookie мне нужно сначала указать url_decode? –
в php url_decode должен происходить автоматически, когда он создает суперкомбактуру $ _COOKIE. –