1

サーバーへの投稿に失敗した場合に、データが残っているフォームにユーザーを戻してほしいというフォームがあります。現在、フォームからコンテンツをデータベースに送信し、数秒後にフォームにリダイレクトするphpファイルに移動する場所を設定しています。しかし、エラーが発生した場合、エンド ユーザーがすべての情報を再入力する必要がないようにしたいと考えています。

4

3 に答える 3

1

フォーム データの送信に失敗した場合の最善の策は、最初にそれをセッション変数に書き込むことです。ロジックは次のようになります。

  1. フォームデータを入力
  2. フォーム値でセッション変数を設定する
  3. データをデータベースに投稿し、成功した場合はセッション変数をクリアします
  4. 投稿が失敗した場合はフォームにリダイレクトし、フィールドにセッション変数データを入力します
于 2012-06-12T19:02:47.453 に答える
0

検証に失敗するフォームをユーザーが送信した場合は、POST または GET で取得した値を使用してフォームの HTML を再構築し、それをユーザーに送り返します。

于 2012-06-12T19:00:33.743 に答える
0

これを行う簡単な方法は、フォームをそれ自体にポストし、必要なエラー チェックを行うことです。検証に合格した場合は、他に必要なことは何でも実行できます (データベースに挿入する、電子メールを送信する、サンキュー ページに転送するなど)。ただし、失敗した場合は、フォームを再度生成し、 $_POST、$_GET、または $_REQUEST 変数 (フォームのメソッドに応じて) を使用して、フィールドを再入力できます。

たとえば、次のような名前フィールドがある場合、次のよう<input type="text" name="fname" id="fname" />に変更できます。

<input type="text" name="fname" id="fname" value="<?php echo $_POST['fname']?>" /> 

これにより、ユーザーが入力したデータがフィールドに入力されます。選択メニュー、チェックボックス、およびラジオ ボタンは、以前に入力したフォーム データを使用して再設定することもできます。コードは少しだけ複雑です。

于 2012-06-12T19:05:19.527 に答える