1

我有一个 HTML 表单,当提交时它会转到一个 php 页面,该页面编写一个新的 HTML,其中新的 HTML 具有写入它的第一个 HTML 页面的值。

前任。在输入:文本中,我输入“hi”并点击提交。然后进入一个 php 页面,该页面创建新的 HTML,其中 input:text 具有 value="hi"

我在下面发布的代码有效,但我必须放置一个“虚拟”名称=“x”来替换为值=“myvalue”。有没有办法将它添加到元素中而不是替换某些东西。

还有一种方法可以使用它来将值放入 textarea 中吗?

使用此问题的帮助:使用 wkhtmltopdf 将当前页面打印为 pdf我正在使用此代码:

$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;
4

2 回答 2

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。

于 2013-04-22T20:53:19.650 回答
1

这可以简单地通过将表单的值传递给somepage.php使用POSTor来完成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>';
}
于 2013-04-22T20:46:55.747 回答