2013年4月17日水曜日

ブラウザバックでformの値が消える

php + Pear Auth利用
phpで簡単な認証を行うページを作成、自前で実装も手間なので何かあったかなと調べるとPearにAuthあんじゃんかと。
とりあえず認証周りはOKであとはちょっとしたフォームを作成しテスト。
フォーム入力後にhistory.back()すると値が再現されない。
別にフレームワークも使ってないし、いちいちセッションやらなんやらで引き回すつもりはないが、戻ったときくらいは消えないで欲しい。
キャッシュ周りだろうと思いレスポンスヘッダを確認すると

Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
陽に設定した記憶もないしほかのページは問題ない。とするとPearがやってるのかな。
認証処理の前に以下を記述しIE,FFで確認。とりあえず期待した動作になりました。
session_cache_limiter('private_no_expire');


Pear Auth ・・・ ちょいちょいっと認証したいときにはいいのかもしれないが、
あんまりいい感じじゃないなー。ラッパーかませって感じなんだろうけど(実際そうしたし)データベースの接続からformの出力までやってくれちゃうし、inputタグの名前まで決め打ちって・・・。まあアダプター的なもの作ればすぐ済むし、これはこれですぐ使えて便利なんだろうな。