在表单提交上创建网页?

时间:2010-03-08 18:13:51

标签: php

如何允许用户根据表单中的条目创建包含某些html的网页?即。我希望他们能够输入一个名称,当点击该按钮时,将创建一个名为该名称的网页。我想在php中这一定是可能的,但我会使用哪些函数/代码?

谢谢!

6 个答案:

答案 0 :(得分:2)

首先,我会问自己这是否真的需要我。

为什么不创建基本模板页面并将数据作为参数传递?

类似的东西:

user.php?name=joachim

如果您仍想这样做,可以使用PHP函数打开,写入和关闭文件:

这是一个关于如何在php中创建文件的教程:

http://www.tizag.com/phpT/filecreate.php

答案 1 :(得分:1)

这可能会带来很大的安全隐患,无论如何,假设表单是用html文本提交的,你可以这样做:

$handle = fopen('file_name.html', 'r+');
// write to file
fwrite($handle, $_POST['fieldname']);
close($handle);

注意:您必须考虑 XSS和其他安全问题,因为您允许用户创建网页。坏人可以轻松利用它。

<强> Resoures:

<强> PHP File Handling Functions

<强> XSS

最后,必须阅读PHP安全指南:

http://phpsec.org/projects/guide/

<强>思想: 只需允许他们进行最少量的自定义,并使用预先制作的页面,您可以在其中插入此用户数据。如上所述,您需要清理用户提交的数据并考虑安全问题。

答案 2 :(得分:0)

我只会有一个页面作为模板,根据你提到的字段填充,除非你真的需要一个物理文件。

模板使更改和安全性变得更加容易。

更新:基本上,您可以将表单提交到将这些POSTed字段打印到适当位置或发布到数据库然后拉到页面的页面。

答案 3 :(得分:0)

您需要从$ _GET或$ _POST数组中提取表单的条目,然后使用文件写入函数(如fwrite)来创建文件。这是一个关于如何进行简单写here的例子。

答案 4 :(得分:0)

排除允许用户在主机上创建任何文件存在安全风险的事实......

您可以通过fopen(),fwrite()fclose()或使用file_put_contents()创建文件。我更喜欢使用您先加载的某种模板文件,然后在其中添加用户输入值,然后通过fwrite()file_put_contents()保存整个字符串。您可以从$_GET$_POST数组中获取用户输入,具体取决于您在表单中使用的方法。

答案 5 :(得分:0)

通过说“创建一个包含某些HTML的网页,基于他们在表单中的条目”我将假设(是的,我知道),你真正的意思是通过以下条目来确定页面的内容表格。

试着尽可能地解释这个,因为我不完全确定我理解你的意图。

当您编写表单时,您将拥有一个包含action =“example.php”的标记。这意味着它将在example.php上执行操作

在example.php中,您可以通过查看$_POST[] array variable内的表单来检索传递给它的变量。然后,您可以使用php中的变量来更改example.php或结果页面的结构,以确定您打印的内容。

我不认为生成物理文件是必要的,因为你使用表单来获取信息,$ _GET是没有意义的(我猜大多数情况下)。