Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用表单发送的数据创建网页_Php_Html - Fatal编程技术网

Php 使用表单发送的数据创建网页

Php 使用表单发送的数据创建网页,php,html,Php,Html,我正在尝试用HTML构建一个表单,一旦提交,就会使用表单中输入的数据自动生成一个新网页。我通常是MATLAB和python用户,所以我首先尝试了它们。Matlab将解析数据并将其保存到一个新的.txt文件,而不是.html文件。Python也差不多。搜索之后,我遇到了使用PHP从表单数据创建新页面的建议。(有人在使用php创建包含用户名、电子邮件和图片的用户网页。我尝试根据自己的需要进行调整,但它并没有像我想象的那样生成新页面。相反,它只显示部分php代码。这是我制作的表单: <form

我正在尝试用HTML构建一个表单,一旦提交,就会使用表单中输入的数据自动生成一个新网页。我通常是MATLAB和python用户,所以我首先尝试了它们。Matlab将解析数据并将其保存到一个新的.txt文件,而不是.html文件。Python也差不多。搜索之后,我遇到了使用PHP从表单数据创建新页面的建议。(有人在使用php创建包含用户名、电子邮件和图片的用户网页。我尝试根据自己的需要进行调整,但它并没有像我想象的那样生成新页面。相反,它只显示部分php代码。这是我制作的表单:

<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-您可以执行吗e
    phpinfo()
    ?我们的基础设施目前还不是最好的,我担心这个页面,即使是内部的,也会把它搞得更糟。然而,因为我没有这方面的学位或任何可信的知识,我这样做的请求将被完全关闭