2009-07-02 5 views
0

私は、画面上のいくつかのフィールドに値を設定するために使用される3つのデータ配列を持っています。ユーザーが(配列に含まれるデータとは無関係に)フォームを投稿すると、画面上に配列データを再度表示したいが、ページがリロードされたときにデータベースから検索する必要はない。これらの値を一時的に保存する最善の方法は何ですか?ユーザーがフォームを投稿した後で、データベースに戻らずに画面にフィールドを表示するにはどうすればよいですか?

私はセッションでそれらを保存することを考えていましたが、それは悪い習慣ですか?おそらく隠されたフォームの値として渡すより良い方法はありますか?

答えて

1

もう1つのオプションは、アレイserializeにあり、一時ファイルに保存することができます。

質問セッションと隠れフォームフィールドについて:フォームフィールドの欠点は、ハッカーがHTMLソースコードで見て、それを悪用できることです。したがって、フォームフィールドが有効であるかどうかを確認するために、いくつかのチェックを余儀なくされます。

セッションとシリアライズの問題は、ユーザーがプロセス全体を終了する前にウェブサイトから離れていれば、サーバー上に情報が配置されることです。

最後に、これらの配列の大きさを書いていません。これらの3つの配列のそれぞれが数千のエントリを持つ場合、シリアライズはセッションフィールドとフォームフィールドよりも良い選択肢になります。

おそらくセッションが必要です。しかし、他のことも考慮に入れるべきです。

0

セッションは完璧な使い方のようです。私は実際にエラーがあったときに、データが保存されたと思うようにユーザーを誤解させたくないので、データベース関数で適切なエラー処理が行われていることを確認するだけで十分です。

1

フォームに隠れた入力のセットを生成します。それからあなたはポストからそれらを読むことができます。

関連する問題