使用PHP附加到文本文件,并在浏览器的HTML表中输出数据(无MYSQL)
我目前正在处理三页代码,1个HTML和2个PHP。当用户提交他们的名字、姓氏和年龄时,它应该显示在第一个PHP页面上,并输出一个字符串,感谢他们输入信息,然后同时HTML表单数据应该1)附加到我硬盘上的文本文件中,2)在第三个PHP页面中输出到浏览器上的HTML表中。我在将用户数据输出到第三个PHP页面时遇到问题。我也没有在我的代码中收到任何错误,这使得很难确定问题。为什么我的代码没有在第三个PHP页面中将数据附加到HTML表中 HTML PHP/HTML第3页使用PHP附加到文本文件,并在浏览器的HTML表中输出数据(无MYSQL),php,html,Php,Html,我目前正在处理三页代码,1个HTML和2个PHP。当用户提交他们的名字、姓氏和年龄时,它应该显示在第一个PHP页面上,并输出一个字符串,感谢他们输入信息,然后同时HTML表单数据应该1)附加到我硬盘上的文本文件中,2)在第三个PHP页面中输出到浏览器上的HTML表中。我在将用户数据输出到第三个PHP页面时遇到问题。我也没有在我的代码中收到任何错误,这使得很难确定问题。为什么我的代码没有在第三个PHP页面中将数据附加到HTML表中 HTML PHP/HTML第3页 if(isset($_POST
if(isset($_POST['submit'])){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age= $_POST['age'];
$filename ='files/addusers.txt';
?>
<table border = '1'>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Age</th>
</tr>
<?php
/*Insert User Info to HTML table*/
$output_results = "";
$cntr = 0;
$fp = fopen($filename, 'r');
while(true){
$line = fgets($fp);
if (feof($fp))
{
break;
}
$cntr++;
list($lastname, $firstname, $email, $bYear, $city) = explode('|', $line);
$output_results .= "<tr>";
$output_results .= "<td>".$lastname."</td>";
$output_results .= "<td>".$firstname."</td>";
$output_results .= "<td>". $age."</td>";
$output_results .= "</tr>\n";
}
fclose($fp);
print $output_results;
}//END OF ISSET
?>
</table>
if(isset($\u POST['submit'])){
$firstname=$_POST['firstname'];
$lastname=$\u POST['lastname'];
$age=$_POST['age'];
$filename='files/addusers.txt';
?>
姓
名字
年龄
我不知道如何将用户发送到第三页。但我认为问题出在第三页的第一行。用户没有使用POST方法
您可能需要删除if,或者实际上是前4行代码,当然还有结束if
}
标记。如何将用户重定向到第三页?打印$output\u结果;而不是打印$results?在我的代码中,它实际上是$output_结果(对不起),但它仍然没有输出到浏览器的HTML表中。这可能会在将来有所帮助,您可以使用FILE_APPEND保存所有打开/写入/关闭的文件。谢谢Nigel!我一定会用这个!你真棒,立刻解决了问题。出于学习目的,我应该只使用$u POST将用户输入存储到变量中一次,然后它应该在所有连接的PHP页面上工作?再次感谢你,巴德@WCA,No.$\u POST仅在您使用method=“POST”
提交表单时有效。$\u POST变量仅在此时才被表单中的变量填充。如果要跨多个页面使用变量,则应使用$\u会话变量。
if(isset($_POST['submit'])){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age= $_POST['age'];}
$filename ='files/addusers.txt';
$fp = fopen($filename, 'a');
$text = $firstname. '|' . $lastname. '|' . $age. '|' . "\n";
fwrite($fp, $text);
fclose($fp);
if(isset($_POST['submit'])){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age= $_POST['age'];
$filename ='files/addusers.txt';
?>
<table border = '1'>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Age</th>
</tr>
<?php
/*Insert User Info to HTML table*/
$output_results = "";
$cntr = 0;
$fp = fopen($filename, 'r');
while(true){
$line = fgets($fp);
if (feof($fp))
{
break;
}
$cntr++;
list($lastname, $firstname, $email, $bYear, $city) = explode('|', $line);
$output_results .= "<tr>";
$output_results .= "<td>".$lastname."</td>";
$output_results .= "<td>".$firstname."</td>";
$output_results .= "<td>". $age."</td>";
$output_results .= "</tr>\n";
}
fclose($fp);
print $output_results;
}//END OF ISSET
?>
</table>