2012-01-05 7 views
-1

私は検証でフォームを使用してmysqlの行を更新するための最良の方法を見つけようとしています。PHPのmysqlの更新とフォームの検証 - 最善の方法?

フォームがかなり大きいので、必要なコード/ページを追加したくありません。

別のページが2つ必要ですか?

1ページでフォームを読み込んで、mysqlデータを入力します。

次に、サブミット時に、完全な新しい検証ページに移動し、検証後にデータがポストされます。

ありがとうございます!

+0

どのようなページですか?それらはHTML形式ですか? – dezso

+0

古典的な[post-redirect-get](http://en.wikipedia.org/wiki/Post/Redirect/Get)アプローチを使用してください。検証/更新/表示ページは、入力エラー時に同じフォーム(以前に入力された日付)を出力する必要があるため、フォームの投入を扱うのと同じコントローラページにすることができます。成功した場合、同じフォームにリダイレクトするだけで、ページの更新時に再送信する必要がなくなります。 – ashein

+0

はい、私はすべてのデータを含む別のmysqlロードフォームページを呼び出すと思います。その後、サブミット時に元のフォームページがロードされますが、代わりにアップデートされます。 – user4006

答えて

0

MVCのようなアプローチでは、独自のファイルでフォームを作成する必要がありますが、単純な旧式の手続き型PHPを使用していて、これを行うだけであれば、より管理しやすいように見えます。また、includeを使用すると、長すぎるページのセクションを自分のファイルに配置することもできます。そして、別のページに提出することなく、同じことをやり続けることができます。

+0

ええ、手続き型PHPについては明らかにどちらの方法でも行うことができます。私はフォームを介してmysqlデータを更新するための最良の実践的なガイダンスを探していたと思います。 mysqlデータを最初のフォームにロードし、フォーム検証ページに送信します。ありがとう! – user4006

+0

@ user4006ああ、私はそれを1つの論理ページに保管することは必ずしも悪い習慣であるとは言いませんでした。しかし、別々のページを持つこともできます! :D – RobertSF

+0

ああ、私はあなたにどちらかの方法が悪い練習ではなかったことに同意していました。 ;) – user4006

1

フォームが送信されたかどうか、または初めてページにアクセスしているかどうかを確認します。

  • 何も送信されなかった場合は、フォーム表示関数またはビューを呼び出します。
  • 提出されたデータがある場合は、そのデータを検証します。
    • データが有効である場合は、DBクエリを実行し、成功表示関数またはビューを呼び出します。
    • データはエラーとともに、提出されたデータを使用してフォーム表示機能/ビューを(そう、彼らはそれを再入力する必要はありません)を実行し、検証されない場合。
+0

これは、フォームを送信するのに適しています。私はフォームを更新するベストプラクティスを探していましたが、あなたのロジックで作業することができます。ありがとう! – user4006

関連する問題