2

我在 html 中有一个需要填写的表单的代码。单击“确定”按钮时,会将值发送到 php 脚本。我使用 $_POST。当输入格式不正确但仅在我的 php 脚本中执行此操作时,我可以显示相同的表单吗?
这是我检查我的一些字段但我不知道如何重新显示表单的地方。

if (isset($_POST["name"])) {
$name = $_POST["name"];
}

if (isset($_POST["date"])) {
    $date = $_POST["date"];
}

非常感谢。

4

1 回答 1

2

你可以尝试这样的事情:

<?php
    foreach($_POST as $key => $value) {
        $$key = $value;
    }
?>

<form method="post" action="">
    <input type="text" name="name" value="<?php echo !empty($name) ? $name : 'Fill in your name'; ?>" />
    <input type="text" name="age" value="<?php echo !empty($age) ? $age : 'Fill in your age'; ?>" />
    <input type="text" name="what" value="<?php echo !empty($what) ? $what : 'what'; ?>" />
    <input type="text" name="ever" value="<?php echo !empty($ever) ? $ever : 'ever'; ?>" />

    <input type="submit" value="Go" />
</form>

如果你正在寻找一个 php 模板引擎来拆分 PHP 和 HTML,我推荐Smarty

编辑

要在没有引擎的情况下拆分 HTML 和 PHP,您可以执行以下操作:组合函数file_get_contents()str_replace如下所示:

模板.html

<form method="post" action="">
    <input type="text" name="name" value="#_name_#" />

    <input type="submit" value="Go" />
</form>

PHP

<?php
    $template = file_get_contents('template.html');
    foreach($_POST as $key => $value) {
        $template = str_replace('#_'.$key.'_#', !empty($value) ? $value : '');
    }
    echo $template;
?>

这样你就可以得到 .html 文件,并#_name_#用帖子或默认值替换。

我还是建议你使用Smarty

于 2013-04-24T11:08:25.730 回答