在表单提交期间保存字段值

时间:2014-04-05 17:39:08

标签: php

我希望当用户提交表单时,某些原因会发生一些错误,我希望保存用户已写入的字段,因此我希望显示用户已编写的值。

我使用下面的代码执行此操作,但我不明白为什么,当我提交表单时,字段保持空白。

有人看错了吗?

<?php
if (isset($_POST['sendForm'])) {
    $f['name']    = $_POST['name'];
    $f['content'] = $_POST['content'];
    $f['date']    = $_POST['date'];
} ?>

<form name="form" action="" method="post">

    <label class="line">
        <span class="data">Name:</span>
        <input type="text" name="name" value="<?php if (isset($f['name'])) echo $f['name']; ?>"/>
    </label>

    <label class="line">
        <span class="data">Content:</span>
        <textarea name="content" rows="3" value="<?php if (isset($f['content'])) echo $f['content']; ?>"></textarea>
    </label>

    <label class="line">
        <span class="data">Date:</span>
        <input type="text" name="date" value="<?php if (isset($f['date'])) {
            echo $f['date'];
        } else {
            echo date('d/m/Y H:i:s');
        } ?>"/>
    </label>

    <input type="submit" value="Create" name="sendForm" class="btn"/>

</form>

1 个答案:

答案 0 :(得分:1)

简而言之,你可以通过这种方式设置,

<input type="text" id="name" name="name" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>" />

您无需使用$f['name']。您可以通过$_POST['name']方法直接获取价值。