4

これは私の最初の投稿です。)

PHPで複数ページのフォームを作成したいと考えています。

フォームは 3 ページにまたがり、各ページはフォームに入力されたデータをクライアントで (jquery 検証を使用して) 検証する必要があり、javascript が無効になっている場合はサーバーで、関連するフォームの横にエラー メッセージを表示する必要があります。分野。

検証時に、できればセッション変数を使用して、データをフォームの次のページに渡す必要があります。

私が抱えている主な問題は、ほとんどの検証スクリプトが action="" を現在のページへの自己参照として残していることです。そのため、投稿変数を一連のフォーム内の別のページに渡すことができません。

検証する検証スクリプトが必要であり、送信ボタンをクリックすると新しいページに投稿されます。

ありがとう

ピーター

4

4 に答える 4

6

次のページに投稿する必要はありません。

現在のページのフォーム フィールドを検証し、それらをセッションに保存してから、header("location: nextPage.php"); exit(0);リダイレクトを使用して次のページに移動できます。

于 2009-08-06T21:24:15.170 に答える
0

一般的に、次のようなことができます

<form onsubmit="return validateForm();" method="post" action="/wherever">

これにより、JavaScript 検証フォームが呼び出され、検証フォームが false を返す場合はフォームが送信されません。

また、サーバー側の検証を行う必要があります。以前のフォーム検証結果を再投稿するのではなく、セッションに保存することをお勧めします (これらは毎回再検証する必要がないためです!)

于 2009-08-06T21:24:48.993 に答える
0

ポスト リダイレクト パターンを使用する必要があります。変数を次のページ (制御ページ) に投稿します。検証に合格すると、そのページは

header("Location: /page2.php");

投稿された変数をセッションに保存した後。サーバー側の検証が失敗した場合は、page1.php にエラーを含むヘッダーを作成します。pこれで戻るボタンが使えます。

于 2009-08-06T21:25:41.267 に答える
-1

このJS バリデーターをお勧めします。非常に使いやすく、パラメーターにまったく依存しないため、必要に応じてaction=""設定できます。

于 2009-08-06T21:24:38.760 に答える