だ。ログ。

開発とかスノボとかやきうとか。

CakePHPのセッション管理

CakePHP2のフォームを作る方向で調査していたのだが、POSTの際には

$this->request->data

で参照出来るのだが、リロードした場合にrequestから全て消滅してしまう。
リロード対策としてPOSTした先でセッションに格納と言う事でなんとか対処しようと

$this->Session->write('hoge',$this->request->data);

と言う形で、POSTされたデータをそのまま変数hogeの中にぶっ込んだ。

のだが、挙動がおかしい。

CakePHPで生成されたセッション変数は保存されるのだが、リロードするとセッションが保存されない。
色々と悩んだが

    function beforeFilter(){
        session_start();      ← コレを追記
        parent::beforeFilter();
    }

明示的にページ内でセッション宣言をする。これだけなのだがCakeの変数自体は保存されているしもっと言えばwriteで格納したデータもvar_dumpで表示すると格納されているのだが
ページを離れた段階で消えてしまう。

普通のフォームの感覚で作ってると本当に面倒な事なる。。