显示输入表格

时间:2013-04-24 10:52:25

标签: php html

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

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

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

非常感谢。

1 个答案:

答案 0 :(得分: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

Template.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