如何允许用户根据表单中的条目创建包含某些html的网页?即。我希望他们能够输入一个名称,当点击该按钮时,将创建一个名为该名称的网页。我想在php中这一定是可能的,但我会使用哪些函数/代码?
谢谢!
答案 0 :(得分:2)
首先,我会问自己这是否真的需要我。
为什么不创建基本模板页面并将数据作为参数传递?
类似的东西:
user.php?name=joachim
如果您仍想这样做,可以使用PHP函数打开,写入和关闭文件:
这是一个关于如何在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是没有意义的(我猜大多数情况下)。