从我到目前为止,我有一个HTML表单使用方法POST的PHP。我想做的是使用输入自动创建一个页面,其中包括样式表和表单中没有的内容。我知道可以像这样创建一个XML页面,但是您可以创建一个HTML页面吗?以下是我目前所做的,包括创建XML页面,创建HTML页面是否与创建XML页面非常相似?
HTML表单:<form action="insertpage.php" method="post" class="form">
Noun<input name="form1" value="" type="text">
Adjective<textarea name="form2" cols="40" rows="4"></textarea>
<input type="submit" value="Submit">
</form>
PHP创建XML文件
$xml = new DOMDocument("1.0");
$root = $xml->createElement ('root');
$xml->appendChild($root);
$form1 = $xml->createElement ('form1');
$vtext = $xml->createTextNode($_POST[form1]);
$form1->appendChild($vtext);
$root->appendChild ($form1);
$form2 = $xml->createElement ('form2');
$advtext = $xml->createTextNode($_POST[form2]);
$form2->appendChild($advtext);
$root->appendChild ($form2);
$xml ->save("words/$_POST[form1].xml"))) or die ("error creating file");
这工作得很好,除了我找不到一种方法来自动创建一个带有用户输入的HTML页面。有没有办法用PHP做这个,因为那将是完美的了。顺便说一下,我知道这种方法非常不安全,我正在努力创建一些安全性,比如captcha。如果你不能用PHP做到这一点,还有其他的编程语言可以做到吗?谢谢你
这里有一个非常简单的想法让你开始。
HTML模板:Template . HTML (Very much trim down)
<div>
<p>[[name]]</p>
<p>[[email]]</p>
</div>
HTML表单:<form action="whatever.php" method="post">
<input type="text" name="name" placeholder="name" />
<input type="text" name="email" placeholder="email address" />
<button>Create Page</button>
<input type="hidden" name="create_page" value="true" />
</form>
PHP脚本:<?php
if (isset($_POST['create_page']))
{
$template = file_get_contents('template.html');
$template_vars = array(
'name' => $_POST['name'],
'email' => $_POST['email']
);
foreach ($template_vars as $k => $v)
{
$template = str_replace("[[{$k}]]", $v, $template);
}
file_put_contents('newfilename.html', $template);
}
希望对你有帮助。
值得一提的是,这是对恶意用户输入开放的,您应该清理所有的帖子数据,这只是一个非常快速的例子。
只使用<?php echo $_POST['form1'];... ?>
标签和<input>
标签。