如果出现错误,需要type =“text”输入字段以显示先前POST项

时间:2013-01-25 03:35:07

标签: php

我可能没有解释我在标题中想要做的事情,所以这里有:

我在.php文件中有一个HTML条目表单。提交文件POST操作时的那个条目表单。该POST操作具有检查字段输入的代码,类似于:

    <?php

    ...

    if ($_POST["submitted"] == 1) {  
        //"submitted" is a hidden field with value '1' in the form 

        $isvalid = 1; // Inits to 1, changes to 0 if something fails checks.

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

    ...

    /*
      Checks for validation on each field go here,
      but are not relevant to this question here.
    */

    }

    if ($isvalid == 1) {
        // Send email
    } else { ?>
        <!-- Print form, and error msg. -->

    ...

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

    ...

所以上面是示例代码,但这里是真正的问题:如何在我的表单中获取任何文本输入字段,在提交时发生错误,以自动包含输入的先前值,以便用户可以根据我设置的约束来相应地更正条目吗?

2 个答案:

答案 0 :(得分:2)

您可以使用基本的三元运算符设置value参数:

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

请注意,如果$ _POST数组中没有指定字段的索引,则此处使用三元运算符来防止错误

答案 1 :(得分:1)

只需添加value="<?=$_POST['field1']?>"(假设PHP 5.4,否则使用<?php echo $_POST['field1'] ?>