2011-07-26 10 views
0

私はユーザーの入力を受け取り、それを表示してデータベースを作成するWebアプリケーションで作業しています。ユーザーが「保存ボタン」をクリックするだけです。Tempへの良いアプローチPHP DBをユーザーごとに記録しますか?

"jsfiddle"と似た概念は、ユーザーが決定するまでは作成できますが保存することはできませんが、カスタムURLも作成します。

質問です:

保存されるまで、ユーザーエントリを保持するための良い方法でしょうか?

  • セッション・アレイ(のは時にDBへのプッシュを取得「ボタンを救う」)
  • 一時MySQLのテーブルのレコード
  • クッキー/セッションコンビネーション

質問は、より明確にする必要がある場合にアドバイスしてください。質問は一時的な記録に向かっている。 PHP言語。

+0

あなたの唯一の疑問は、保存されていないデータをどうするかです。 DBにストアするかどうかにかかわらず、まったく同じデータ構造が必要です。 –

+0

私はそう信じています。私は、機能的なシーンは、セッションのみのデータとdbの挿入が可能だと思います。誰かが、データベースが非アクティブなフラグですべてを書き込んで、ユーザの決定に応じてアクティブ化するよう提案しました。私はどちらのアプローチもトレードオフだと思う。 – Codex73

答えて

1

のまず、あなたはクッキーに任意のデータ量を保存することはできません - (IIRC、制限は特定のホストのすべてのCookieのサイズに設定されている)RFCのグーグルを持っています。

は、NORあなたはmysqlの一時テーブルを使用することができます - MySQLのセッションセッションのみPHPスクリプト限り実行されます - mysqlのセッション(いないデータを作成するための機構であるPHPセッションの終了時の呼び出しの間存続しますインタプリタ)、一時テーブルは失われます。

最も効率的な解決方法は、ユーザーがデータ入力を放棄する頻度とワーキングセット内のサイズの範囲に依存しますが、最も簡単な解決策は、最終的に書き込まれるテーブルにデータを格納することですこれは、ユーザーIDまたはセッションIDへのリンクを含む作業コピーとしてのものです。

1

答えは実際に使用しているコンテンツの種類によって異なります。長い複雑なフォームの場合は、一時的なテーブルエントリを使用して保存時にコンテンツをコピーします。古いテンポラリエントリを削除するためのシステムを用意してください。

あまり複雑でない問題については、従来の方法でも、PHP $ _SESSIONを使用してもクッキーシステムを使用するだけです。

0

HTML5を使用できますか?

  • はい:あなたは、サーバー上のそれ以上の処理を必要としない、データクライアント側の多くを保存することができますどのlocalStorageを使用しています。ブラウザのクラッシュに耐え、同期問題のネットワークなどの影響を受けません。
  • なし:ユーザーが選択したものを覚えておくために、サーバーにCookieを使用する必要があります。 あなたのデータは4koで保持されますか?
    • はい:すべてのデータをクッキーに保存できるので、サーバーに何かを保存する必要はありません。
    • なし:セッション内容をサーバーに保存し、サーバー上のデータの場所を知るためにCookieのみを使用するPHPセッションメカニズムを使用します。
+0

PHPのセッション管理は、すでにクッキーによって参照されているサーバ上のデータを管理するための構造を実装しています。 – symcbean

+0

おっと、私の悪いです。私の答えを訂正しました。 –

関連する問題