- 締切済み
session_cache_limiterについて
お世話になっています。 キャッシュで、悩んでいます。 ログイン(セッションに名前などを登録) ↓ 入力フォーム(「登録」ボタンを押す) ↓ 判定(エラーが発生したら、「戻る」ボタンを押してもらい、 入力フォームに戻る。) という、ごくありきたりな、事をやっているのですが、 iniファイルで、session_cache_limiter('nocache') にすると、「戻る」ボタンを押しても、先ほど入力 したデータが全て消えています。 今度は、入力フォームの先頭で、session_cache_limiter("public");を 入れると、確かに、「戻る」ボタンを押しても、先ほど入力したデータが 保持されていますが、この状態で、 session_unset(); session_destroy(); をして、再度、入力フォームに行っても、前回のセッション情報 (前回ログインした、ユーザー名)を保持したままになっています。 セッションの情報のキャッシュは破棄して、入力フォームのデータ はキャッシュしたいのですが何か良い方法は、無いでしょうか? session_cache_limiter("private");にしても、結果は同じです。 環境は、php4.06 apache1.3 です。 よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kusukusu
- ベストアンサー率38% (141/363)
> セッションの情報のキャッシュは破棄して、入力フォームのデータ > はキャッシュしたいのですが何か良い方法は、無いでしょうか? では、入力フォームのデータはどこからもって来ればいいのでしょう(笑) どうしてもそうしたいのであれば、 from.php $data=$_SESSION["ses_data"]; session_unregister("ses_data"); と、セッションデータを他の変数に格納してから破棄します。 to.php $ses_data=$_POST["data"]; session_register("ses_data"); と、from.phpより、データを受けており、それをセッションに登録します。 ところで、なぜこう言うことがしたいのですか? それとも、私何か勘違いしていますか?(^^;