Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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附加到文本文件,并在浏览器的HTML表中输出数据(无MYSQL)_Php_Html - Fatal编程技术网

使用PHP附加到文本文件,并在浏览器的HTML表中输出数据(无MYSQL)

使用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

我目前正在处理三页代码,1个HTML和2个PHP。当用户提交他们的名字、姓氏和年龄时,它应该显示在第一个PHP页面上,并输出一个字符串,感谢他们输入信息,然后同时HTML表单数据应该1)附加到我硬盘上的文本文件中,2)在第三个PHP页面中输出到浏览器上的HTML表中。我在将用户数据输出到第三个PHP页面时遇到问题。我也没有在我的代码中收到任何错误,这使得很难确定问题。为什么我的代码没有在第三个PHP页面中将数据附加到HTML表中

HTML

PHP/HTML第3页

 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>