0

タイトルでやろうとしていることをうまく説明できていないかもしれないので、次のようにします。

ファイルに HTML エントリ フォームがあり.phpます。提出されたときのそのエントリーフォームは、POST操作をファイルします。その POST 操作には、次のようなフィールド入力をチェックするコードがあります。

    <?php

    ...

    if ($_POST["提出済み"] == 1) {  
        //"submitted" は、フォーム内の値が '1' の非表示フィールドです

        $isvalid = 1; // 1 に初期化され、チェックに失敗した場合は 0 に変更されます。

        $field1 = $_POST["field1"];
        $field2 = $_POST["field2"];

    ...

    /*
      各フィールドの検証のチェックはここに移動します。
      しかし、ここではこの質問には関係ありません。
    */

    }

    もし ($isvalid == 1) {
        // メールを送る
    } そうでなければ { ?>
        <!-- フォームとエラー メッセージを出力します。-->

    ...

    <input name="field1" type="text" id="field1" size="32" class="stylingclass">

    ...

上記はコード例ですが、本当の質問は次のとおりです。フォームを送信してエラーが発生したときに、フォームのテキスト入力フィールドを取得して、以前に入力した値を自動的に格納し、ユーザーが修正できるようにするにはどうすればよいですか?私が設定した制約に基づいて、それに応じてエントリ?

4

2 に答える 2

2

基本的な三項演算子を使用して値パラメーターを設定できます。

<input name="field1" type="text" id="field1" value="<?php echo isset($_POST["field1"]) ? $_POST["field1"] : ''; ?>" size="32" class="stylingclass">

$_POST 配列に指定されたフィールドのインデックスがない場合のエラーを防ぐために、ここで三項演算子が使用されていることに注意してください。

于 2013-01-25T03:37:59.417 に答える
1

追加するだけvalue="<?=$_POST['field1']?>"です(PHP 5.4を想定し、<?php echo $_POST['field1'] ?>それ以外を使用)

于 2013-01-25T03:37:09.043 に答える