0

我正在尝试在我的表单中缓存用户输入。我的代码是:

    echo '
<form method="POST">
    Name:<br /><input class="contact_name" type="text" name="contact_name" maxlength="32" placeholder="Enter Name" /><br />
    Email:<br /><input class="contact_email" type="text" name="contact_email" maxlength="50" placeholder="Email Address" /><br />
    Subject:<br /><input class="contact_subject" type="text" name="contact_subject" maxlength="50" placeholder="Subject Line" /><br />
    Message:<br /><textarea class="message_area" name="contact_message" rows="10" cols="50" maxlength="1000" placeholder="Message ..." /></textarea><br />
    <input class="submit_button" name="submit_button" type="submit" value="Send" />
</form>
';

我试图寻找答案,我发现的唯一一件事是添加:

<?php if(isset($contact_name)) { echo $contact_name; } ?>

然而,这对我不起作用,因为我的表单在 PHP 回显中,我正在尝试制作一个基本的 wordpress 插件。每当我将表单带出 echo and 时,样式就会混乱,表单样式本身也会中断。所以我想知道我是否可以将我的表单与占位符一起保存在我的回声中,并能够缓存用户输入,因此当错误显示导致他们没有填写其中一个位置时,它不会删除所有内容。

谢谢你。

4

1 回答 1

1

然后,只需放下echo并切换到 HTML 模式:

?>
<form method="post">
Name:<br /><input ... value="<?php echo (isset($contact_name) ? htmlspecialchars($contact_name, ENT_QUOTES, 'UTF-8') : ''; ?>" />
...
<?php

如果你需要它作为一个字符串,你可以使用输出缓冲:

ob_start();
?>
<input ... />
<?php

echo ob_get_clean();
于 2013-04-12T03:10:03.177 回答