[PHP-users 2662] Re: 戻るとクリアーされます

しょうなり php-users@php.gr.jp
Fri, 12 Oct 2001 19:06:19 +0900


しょうなり@信州です。

> ブラウザーの戻りボタンやJavaScriptのHistoryBackを使って前の画面に
> 戻ろうとすると,フィールドに入力されていた値が全てクリアされています。
>(略)
> 1画面に項目が50個もあるため,フィールド値を変数で持ち回るのは避けたいです。

[PHP-users 2234] と同じ質問ですね。(よく覚えていたなぁ)
前回はレスがついてなかったようですね。

ブラウザのバックボタンを利用して戻るのはブラウザのキャッシュを利用して
一度表示された画面を再利用する方法ですが、
利用者のブラウザやその設定によって動作が変わってしまうため
PHPでなくてもデータ保持の保障はされてないと思います。
(どこかでそういう文章を見たわけじゃないですが)

データベースを利用するサイトを作る場合、
やはりその1つ1つのデータは大切なものですので、
不確定な方法をせず、面倒でも1つ1つセッションに入れて
管理されることをお勧めします。

※ 50個くらいのデータを取り扱うのは普通な気もしますが…(^^;;


/* 役に立つかどうかわかりませんが、いっぺんにセッション登録するスクリプト */ 

// セッション管理するアイテム名を配列で用意する。
$session_items = array (
  "d_edit",
  "edit_dname1",  "edit_dfurigana1", "edit_dname2",
  "edit_dfurigana2", "edit_dgakunen", "edit_dzip",
  "edit_daddr1",  "edit_daddr2",  "edit_daddr3",
  "edit_dtel1",  "edit_dtel2",  "edit_dhphone",
  "edit_dfax",  "edit_demail"
);
foreach ($session_items as $s) {
  session_register($s);
}
unset($session_items); // おまけ


--=-=-----=-=-==-=------=--
しょうなり
shounari@pop16.odn.ne.jp