どうも。ご無沙汰です。。。いつもご無沙汰ですね。
さてさて、一応生きて元気に活動してます。
もろもろの事情により、勉強会とかなんらかの会合は行くことが出来ないでいますけど。
そんなもんだから勉強してます。PHPとか英語とか。もちろんJavaも。
勉強会と言えば、直前のお知らせになっちゃうんですけど、九州は宮崎にて勉強会が行われます。明日ですね。
【日時 2010/11/12 17:00】
■MWW : ATND
あー・・・ほんと行きたかったなー。
嘆いても仕方ないんで、遠くから会の成功を祈るばかりです。
というか行ける方はほんと行くと良いんです。
宮崎って遠くに感じますけど、遠いんですよ!違った。近いんですよ!
で、ようやくここから本題です。
今回はPHP使ってて、Cookieをムシャムシャ食べてる最中に起きました。
serializeで保存可能な形式に変換して、unserializeで戻して取り出すところなんですが。。。
なぜか正しく戻らない。取り出せない。
はてなにかおかしいのかな?と悩んでしまいました。
結論としては、serialize → stripslashes → unserialize で解決しました。
stripslashesを利用したら正しく読み込めた。
以下みたいな感じです。
if(isset ($_COOKIE['cookie_hoge']) == TRUE) {
var_dump($_COOKIE['cookie_hoge']);
// うまく行かなかった時
// $hoge = unserialize($_COOKIE['cookie_hoge']);
$hoge = stripslashes($_COOKIE['cookie_hoge']);
$data = unserialize($hoge);
var_dump($hoge);
}
Cookie値を読み込むとエスケープ処理されているのかな?と。
なので、アンエスケープ処理を行う stripslashes してみたら、ちゃんと普通状態に変換されました。
あとがき
まだまだ知識がアレなんで、こうやって小さなこと(自分にとっては大きかったですけど)が解決出来るだけでとても嬉しいです(^ω^)
Cookieを利用した「お気に入りリスト」みたいの作るのが当面の目標です。
追記:2011/02/09 05:43:09
-> 目標達成です。こちらのWebアプリで利用してみました。
■ATND API+CakePHPでイベント検索。「気になるATND検索」