« submitボタンを押しても反応なし | メイン | ヤマレコの構成(1:全体構成) »
2006年09月21日
ページの有効期限
山行記録の入力ページが3ページにわたっていて、途中でブラウザの
「戻る」ボタンや「進む」ボタンをおしたら、「ページの有効期限切れ」
が表示されてしまう。
□page1
↓POST入力
□page2
↓POST入力
□確認ページ
どうやらブラウザのボタンで移動すると、POSTで送るメッセージを再現できずに有効期限切れとなる様子。
とりあえず以下で対応できた。
□page1
↓POST入力
□page1' ⇒ セッションに保存
↓リダイレクト(ページ番号をGETで渡す)
□page2
↓POST入力
□page2' ⇒ セッションに保存
↓リダイレクト(ページ番号をGETで渡す)
□確認ページ
ブラウザのキャッシュをうまく使うためにphp.iniのsession.cashe_limiter設定や、session_cache_limiter関数による設定でも制御できるらしい。
後者はsession_start()の前に書いておく必要あり。
xoopsでsession_start()を読んでいるのはcommon.phpの192行目あたりだけど、モジュール的には
mainfile.phpをincludeする前に書いておけばいいのかな。
- Reference:
PHPマニュアル(session_cache_limiter)
http://jp.php.net/manual/ja/function.session-cache-limiter.php
memo.xight.org - Internet Explorer の「ページの有効期限切れ」対策
http://memo.xight.org/2006-06-13-2
