Mam tablicę jak tenPHP jak stringify tablicę i przechowywać w pliku cookie
$ value = {array ('id' => $ id, 'email' => $ email 'Token' => $ token)}
Chciałbym uszeregować tablicę, a następnie ją kodować, a następnie zapisać w cookie "login". Jak to robisz? Proszę mi również powiedzieć, jak rozszyfrować i odczytać zapisaną wartość.
Edit:
Próbowałem serialize/unserialize, ale to nie działa zgodnie z oczekiwaniami. na przykład
$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";}
Ale gdy wartość iść do ciastka, wygląda to
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
Plik cookie nigdy nie będzie zwykłym tekstem. Powodem jest to, jak jest przechowywany w nagłówku HTTP. Nagłówek 'Cookie:' używa znaków, takich jak dwukropki i średniki, dla separatorów, w związku z czym należy je pominąć (PHP w zasadzie pobiera wartość cookie i wykonuje [url_encode] (http://php.net/manual/en/function. urlencode.php) na nim przed wysłaniem go do klienta) –
tak, aby odczytać wartość cookie mam najpierw do url_decode? –
w php url_decode powinno nastąpić automatycznie podczas budowania superglobalu $ _COOKIE. –