0

下の画像を参照してください。必要に応じて多くの製品を追加できます。まず、ドロップダウンからカテゴリを選択します。これにより、Ajaxを介して[アイテム]ドロップダウンに関連するエントリが生成されます。「別の商品を追加」をクリックすると、好きなだけ商品を追加できます。

製品の選択が終了したら、[送信/注文]ボタンをクリックする必要があります。このボタンは、販売に追加する前に、PHP(Ajaxなし)を介してフィールドを検証します。検証に合格しなかった場合-選択したすべてのカテゴリとエントリを再入力する必要があります(つまり、製品フィールドを再度作成します)-これを行うにはどうすればよいですか?

注:すべてのデータはに保存されます$_POST

ここに画像の説明を入力してください

4

2 に答える 2

1

あなたのオプション:

  • $ _POSTデータを使用して、ユーザーが作成したフィールドを含むhtmlを生成します
  • $ _POSTデータを(たとえばセッションで)保存し、ユーザーを元のフォームにリダイレクトします。保存されたデータが見つかった場合は、ユーザーが作成したフィールドを生成するコードを含める必要があります。

2番目のオプションが推奨されます。

編集:オプション2に関する追加情報。

検証が失敗した場合は、セッションに$ _POSTデータを保存します。$_SESSION['stored post'] = $_POST;元のフォーム(POSTの元のフォーム)にリダイレクトします。header('Location: /url/of/the/original-form.html);

注文フォームを生成するコードに、以下を追加します。

if ( isset($_SESSION['stored post']) 
     && is_array($_SESSION['stored post']) 
     && count($_SESSION['stored post']) > 0 ) //check if there is POST stored
{
    //generate fields from data stored in $_SESSION['stored post'] here

    unset($_SESSION['stored post'];  //remove the stored data
}
于 2012-10-02T20:34:24.563 に答える
0

入力ボックスの場合、それは行うのと同じくらい簡単です

<input name="fname" value="<?php if(isset($_POST['fname'])) echo $_POST['fname']' ?>">

選択ボックスの場合、オプションを繰り返し処理して、選択するオブジェクトを見つける必要があります。

于 2012-10-02T20:21:41.797 に答える