dポイントプレゼントキャンペーン実施中!

お世話になっています。

キャッシュで、悩んでいます。

ログイン(セッションに名前などを登録)
 ↓
入力フォーム(「登録」ボタンを押す)
 ↓
判定(エラーが発生したら、「戻る」ボタンを押してもらい、
入力フォームに戻る。)

という、ごくありきたりな、事をやっているのですが、
iniファイルで、session_cache_limiter('nocache')
にすると、「戻る」ボタンを押しても、先ほど入力
したデータが全て消えています。

今度は、入力フォームの先頭で、session_cache_limiter("public");を
入れると、確かに、「戻る」ボタンを押しても、先ほど入力したデータが
保持されていますが、この状態で、

session_unset();
session_destroy();

をして、再度、入力フォームに行っても、前回のセッション情報
(前回ログインした、ユーザー名)を保持したままになっています。
セッションの情報のキャッシュは破棄して、入力フォームのデータ
はキャッシュしたいのですが何か良い方法は、無いでしょうか?
session_cache_limiter("private");にしても、結果は同じです。

環境は、php4.06 apache1.3 です。

よろしくお願い致します。

A 回答 (1件)

> セッションの情報のキャッシュは破棄して、入力フォームのデータ


> はキャッシュしたいのですが何か良い方法は、無いでしょうか?

では、入力フォームのデータはどこからもって来ればいいのでしょう(笑)

どうしてもそうしたいのであれば、

from.php
$data=$_SESSION["ses_data"];
session_unregister("ses_data");
と、セッションデータを他の変数に格納してから破棄します。

to.php
$ses_data=$_POST["data"];
session_register("ses_data");
と、from.phpより、データを受けており、それをセッションに登録します。

ところで、なぜこう言うことがしたいのですか?
それとも、私何か勘違いしていますか?(^^;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!