Php 使用表单发送的数据创建网页
我正在尝试用HTML构建一个表单,一旦提交,就会使用表单中输入的数据自动生成一个新网页。我通常是MATLAB和python用户,所以我首先尝试了它们。Matlab将解析数据并将其保存到一个新的.txt文件,而不是.html文件。Python也差不多。搜索之后,我遇到了使用PHP从表单数据创建新页面的建议。(有人在使用php创建包含用户名、电子邮件和图片的用户网页。我尝试根据自己的需要进行调整,但它并没有像我想象的那样生成新页面。相反,它只显示部分php代码。这是我制作的表单:Php 使用表单发送的数据创建网页,php,html,Php,Html,我正在尝试用HTML构建一个表单,一旦提交,就会使用表单中输入的数据自动生成一个新网页。我通常是MATLAB和python用户,所以我首先尝试了它们。Matlab将解析数据并将其保存到一个新的.txt文件,而不是.html文件。Python也差不多。搜索之后,我遇到了使用PHP从表单数据创建新页面的建议。(有人在使用php创建包含用户名、电子邮件和图片的用户网页。我尝试根据自己的需要进行调整,但它并没有像我想象的那样生成新页面。相反,它只显示部分php代码。这是我制作的表单: <form
<form action="htmlData.php" method="post">
Product Name:
<input name="Name" size="20" type="text">
<br><br>
Project Lead Name:
<input name="PLname" size="20" type="text"> <br><br>
Team-members: <br>
<textarea name="Team_members" rows=10 cols=40> </textarea> <br><br>
Product Type: <br>
<input name="Product_Type" size="20" type="text"> <br><br>
Description: <br>
<textarea name="Description" rows=10 cols=40 type="text"> </textarea>
<br>
<br> <br>
<input value="Submit" type="submit" name="formSubmit">
<input value="Reset" type="reset">
<input value="Help" type="button" onclick="window.location.href='problems.html'">
</form>
产品名称:
项目负责人姓名:
团队成员:
产品类型:
说明:
…这是名为htmlData.PHP的PHP文件:
ob_start();
$Name = $_POST['Name'];
$PLname= $_POST['PLname'];
$Team_members= $_POST['Team_members'];
$Product_type= $_POST['Product_type'];
$Description= $_POST['Description'];
$html = <<<HEREDOC
Product Name: $Name <br>
Project Lead: $PLname <br>
Team Members: $Team_members <br> <br>
Product Type: $Product_type <br>
Description: $Description
HEREDOC;
file_put_contents('newPage.htm', $html);
header()redirect.header('location: newPage.html')
ob_start();
$Name=$_POST['Name'];
$PLname=$_POST['PLname'];
$Team_members=$_POST['Team_members'];
$Product\U type=$\U POST['Product\U type'];
$Description=$_POST['Description'];
$html=
相反,它只显示部分PHP代码
似乎是以下情况之一:
- 您在服务器上安装了PHP吗
- 服务器是否配置为传递要处理的.php页面
这可能是值得的,因为在浏览器上显示PHP代码意味着Web服务器没有正确处理它
一旦您认为它已经安装,运行phpinfo()
对于PHP代码,有几个小问题。首先,herdoc
必须在行首结束(在结束herdoc之前不能有任何空格)
其次,要重定向的PHP代码无效。请尝试以下更改:
<?php
$Name = $_POST['Name'];
$PLname= $_POST['PLname'];
$Team_members= $_POST['Team_members'];
$Product_type= $_POST['Product_type'];
$Description= $_POST['Description'];
$html = <<<HEREDOC
Product Name: $Name <br>
Project Lead: $PLname <br>
Team Members: $Team_members <br> <br>
Product Type: $Product_type <br>
Description: $Description
HEREDOC;
file_put_contents('newPage.htm', $html);
header('location: newPage.html');
exit;
如果显示php代码,则表示:
1.您没有安装php,
2.安装了类似Apache的http服务器
即使满足上述2个条件,您的代码也不是有效的PHP代码,并且无法工作
您对PHP还不够精通,在尝试创建任何动态页面之前,您需要返回并学习最基本的知识。您的新文件声明中缺少了一个“l”:
file_put_contents('newPage.htm', $html);
另外,尝试物理地创建newPage.html文件并将其放置在项目目录中,然后查看是否显示该页面。如果是这种情况,我将检查您是否安装了PHP,以及服务器是否配置为处理post。通常,它配置为处理post或get,但默认情况下通常不同时处理两者。,而不是e很好地解决了您最初的问题,我希望我没有太过离谱:
您的问题通常通过将数据库与PHP等语言结合使用来解决。在表单提交后将此信息存储在数据库中将允许newPage.htm您必须接受GET参数并动态显示来自数据库的相应数据。例如:newPage.html?id=245将该id传递给PHP代码进程PHP将使用该ID查询数据库中的正确信息,并将其显示在页面上。这样,每次提交表单时就不会有一个文件,表单数据也更易于维护。请查看类似以下内容:以获取更多信息
要记住的另一个方面是安全性。您当前的代码将直接用户输入放在服务器上的文件中。这是一个巨大的安全漏洞。建议您避开用户输入
如果不需要创建新页面,请在PHP代码的开头删除ob_start(),然后添加
如果(isset($_请求['formSubmit'])){
....
....
}
您的页面将在submit press上自动创建。您需要在磁盘上创建一个文件,或者只显示页面?好的一点,OP应该确保他们的服务器/开发系统上安装了PHP。我现在正在WAMP服务器上运行它,因为我们的个人Web服务器没有安装PHP。@ChelseaCerame-您可以执行吗ephpinfo()
?我们的基础设施目前还不是最好的,我担心这个页面,即使是内部的,也会把它搞得更糟。然而,因为我没有这方面的学位或任何可信的知识,我这样做的请求将被完全关闭