質問: phpで会員制webサイトを作っています。 top.htmlからpost送信で数値を指定してデータベースからその番号の情報をpage.htmlに表示する単純なサイトなのですが、一度戻るボタンを押すと、フォーム再送信の確認画面が出てしまいます。 これを解決するために ``` session_start(); session_cache_expire(0); session_cache_limiter('private_no_expire'); ``` を使ったのですが、フォーム再送信の問題は解決されましたが、会員制サイトなので、ログインしたのに、キャッシュが残っていてログアウト状態になってしまうというバグが発生します。 ``` header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); ``` を使うことで、キャッシュは消去できるのですが、こうすると先の問題が再び発生します。 何か解決方法わかるかたいましたら教えてください。
回答: プログラムの構成が分からないですが、POSTで投げられた後、その内容をセッションに持っておいてGETへリダイレクトすると、戻るボタンで戻ったときにPOST再送信の画面は出なくなります。