我有一个HTML表单,在提交时会转到一个php页面,该页面会写一个新的HTML,其中新的HTML具有写入第一个HTML页面的值。
实施例。在输入:文本中我输入“hi”并点击提交。然后进入一个php页面,该页面创建新的HTML,其中输入:text has value =“hi”
我在下面发布的代码有效但我必须将“虚拟”名称=“x”替换为value =“myvalue”。有没有办法将其添加到元素而不是替换元素。
还有一种方法可以使用它将值放入textarea吗?
使用此问题的帮助:Printing the current page to pdf using wkhtmltopdf我正在使用此代码:
$documentTemplate = file_get_contents ("form.html");
foreach ($_POST as $key => $postVar)
{
if($postVar == "on")
$documentTemplate = preg_replace ("/name=\"$key\"/", "checked", $documentTemplate);
else
$documentTemplate = preg_replace ("/name=\"$key\"/", "value=\"$postVar\"", $documentTemplate);
}
file_put_contents ("form_complete.html", $documentTemplate);
$html = file_get_contents("form_complete.html");
echo $html;
答案 0 :(得分:1)
这可以通过使用somepage.php
或POST
将表单的值传递给GET
来完成 - 我在下面的示例中使用了POST
。然后somepage.php
将检查以确保将值传递给它,如果确实传递了值,则将使用包含发布数据的输入字段生成表单。
<form action="somepage.php" method="post">
<input type="text" name="some_field" />
</form>
Somepage.php
if(isset($_POST['some_field'])){
echo '
<form action="">
<input type="text" value="' . $_POST['some_field'] . '" />
</form>';
}
else
{
echo 'post data below: <br>';
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
答案 1 :(得分:1)
不要使用file_get_contents将所有HTML加载到变量中,只需将PHP文件用作HTML模板即可。无论您想在何处使用PHP变量,请添加:
<?php echo $somevar; ?>
确保在呈现之前验证您回显到模板中的变量是否存在。您可能希望在模板顶部放置一个PHP块,用于验证并设置您要使用的所有变量:
<?php
if(isset($_POST['on'])){
$on = $_POST['on'];
}
else
{
$on = '';
}
?>
<html>
<head>
</head>
<body>
<form action="thispage.php" method="POST">
<input type="text" name="on" value="<?php echo $on; ?>">
</form>
</body>
</html>
您会及时发现您希望将这些文件分成多个文件,在这种情况下,您可以将HTML放入view.php
这样的文件中,并将验证码放入validate.php
然后您可以使用require(或require_once)方法将视图包含在验证器的末尾。
有一些常用的模式用于分离逻辑和显示。谷歌MVC。