Materializing [マテリアライジング]

About Home

unserializeしてもエラーになったり読み込めない時はstripslashesを考慮

arata (2010年11月11日 13:23)

どうも。ご無沙汰です。。。いつもご無沙汰ですね。
さてさて、一応生きて元気に活動してます。
もろもろの事情により、勉強会とかなんらかの会合は行くことが出来ないでいますけど。
そんなもんだから勉強してます。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検索」

Materializing [マテリアライジング]

About This Site

基本的には自分のためのNoteって感じでゆるく運営中。
紹介している情報(サイトやWeb制作、CMS解説など)は、どちらかというと初心者向けです。
このサイト自体をWebに関する実験場として、Webの楽しいところや難しいところなど、伝え遺して行けたらなーと思ってます。


Name
新(arata)
Hobby
Driving,PC,Listening Music
Handling
Webサイト(CMS),Programming(PHP,Java),Webグラフィック
Profile Page URL
http://iddy.jp/profile/materializing/
Twitter
Twitter/arata
Other Info
My Profile by iddy

Create with jQuery, jQTouch.


CLOSE