$值= {陣列( '身份證'=> $ ID, '電子郵件'=> $電子郵件的數組, '令牌'=> $令牌)}
我想串起數組,然後編碼,然後將它存儲在cookie「登錄」。你是怎樣做的 ?也請告訴我如何解碼和讀取存儲的值。
編輯:
我一直在試圖序列化/反序列化,但如預期沒有奏效。例如,
$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";}
但當值去的cookie,它看起來像這樣
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
該cookie永遠不會是純文本。原因在於它如何存儲在HTTP標頭中。 `Cookie:`頭文件使用冒號和分號等字符作爲分隔符,因此需要將它們轉義出來(PHP基本上接受cookie的值並執行[url_encode](http://php.net/manual/en/function)。 urlencode.php)在輸出到客戶端之前) – 2011-01-12 18:14:31
這樣讀取cookie值我必須先url_decode? – 2011-01-12 18:22:44
在php中,url_decode應該在構建$ _COOKIE superglobal時自動發生。 – 2011-01-12 18:28:58