1

私はphpとstackoverflowにかなり慣れていませんが、基本を知っており、かなり早く物事を理解することができます.

チェックボックスとラジオボタンのグループをユーザーに提示し、各グループを個別のページに表示し、メニューから到達するアプリケーションを念頭に置いています。

例 国籍 役所名 収入プロフィール

各グループから選択する必要はなく、選択を行ったら、選択に基づいてデータベースにクエリを実行し、データを表示できます。選択ページのいずれかに再アクセスして選択を微調整し、データベースを再クエリできるようにしてほしいと思います。

彼らがこれらの選択フォームを進むにつれて、どのように選択を保存するのが最善でしょうか. Cookie またはセッション変数を使用しますか? 選択内容をデータベースに保存することを考えましたが、これは複雑になる可能性があります。

この段階ではポインタのみが必要です。

ありがとう

ジャスティン

4

1 に答える 1

0

これを次のように設計します。

それらについて必要なすべてのデータを含むフォームを作成します。ユーザーの ID を指定すると (すぐに取得します)、データベースからユーザーのレコードを照会し、ユーザーが保存したすべての情報を表示するように PHP を記述します。彼らは好きなように変更を加え、フォームを送信できます。これにより、データベース内のレコードが更新され、次回ページを表示したときに新しい情報が表示されます。

フォームが送信されると、まずそれらが既に存在するかどうかを確認する必要があります。存在する場合はレコードを更新し、存在しない場合は挿入します。これは PHP で行うことができますが、素敵な mysql ステートメントを介して行うこともできます (重複キーの更新時に挿入...)。

ユーザーがアカウントを作成すると、ログイン/ユーザー名がデータベース内の一意の ID に関連付けられます。彼らがこれを (再度ログインして) 確認すると、その ID がセッション変数に渡されるため、いつでもデータベースから簡単にデータにアクセスできます。

最後に、これを行っているときは、準備済みステートメントを使用してデータベースとの間でデータを取得することをお勧めします。PDO を自分でお勧めします。それは素晴らしいことですデータベース間の互換性などがあります。優れたセキュリティを検討している場合は、パスワードを直接保存するのではなく、ソルトして、その場で検証されるハッシュを保持することをお勧めします。半固有のトークンをすぐに挿入して、パスワードを忘れた場合に送信して、リンクを介して確認できるようにすることをお勧めします。また、ユーザー名/ログインを Cookie に保存することは問題ありませんが、パスワードをそこに保存しないでください。実際、パスワードをセッションに保存しないでください。パスワードが確認されたら、何らかのサインインフラグを保存し、それに対してチェックしてください。

編集:

プロセスの開始時にユーザーに一意の ID を割り当てることができる場合 (たとえば、ユーザーから電子メールを受け取るなど)、一意の ID を与えることができます (または、ピンチで電子メール アドレスを使用します)。その後、最初から最終行にデータを挿入できます。Mysql はinsert ... on duplicate key update構文を提供します。つまり、渡された各ページでデータを行に挿入し、いつでも参照することができ、おまけとしてメールアドレスのような一意のキーを使用するため、データに関連付けることができます。一部のデータを入力するには、サイトを離れて後で戻ってきて、残りを入力します。

于 2012-08-26T08:23:21.687 に答える