我在html中有代码需要填写。单击“确定”按钮时,值将发送到php脚本。我用$ _POST。当输入的格式不正确时,我可以显示相同的表格,但只能在我的PHP脚本中执行此操作吗? 这是我查看我的一些字段的地方,但我不知道如何重新显示表单。
if (isset($_POST["name"])) {
$name = $_POST["name"];
}
if (isset($_POST["date"])) {
$date = $_POST["date"];
}
非常感谢。
答案 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
:
<form method="post" action="">
<input type="text" name="name" value="#_name_#" />
<input type="submit" value="Go" />
</form>
<?php
$template = file_get_contents('template.html');
foreach($_POST as $key => $value) {
$template = str_replace('#_'.$key.'_#', !empty($value) ? $value : '');
}
echo $template;
?>
这样您就可以获得.html文件,并用帖子或默认值替换#_name_#
。
我仍然建议您使用Smarty