【问题标题】:How do I print all POST results when a form is submitted? [duplicate]提交表单时如何打印所有 POST 结果? [复制]
【发布时间】:2012-03-09 02:47:50
【问题描述】:

我需要查看所有提交到服务器进行测试的POST 结果。

什么是我如何创建一个新文件来提交的示例,该文件将回显与该表单一起提交的所有字段?

它是动态的,因此某些字段的名称/ID 可能为field1, field2, field3 等。

【问题讨论】:

  • 建议的一些解决方案看起来不整洁的原因是因为它们依赖于换行符,但在浏览器中被解释为 HTML。只需在 var_dump() 或 print_r() 之前添加 echo "<pre>";

标签: php post echo


【解决方案1】:

所有值都存储在$_POST 集合中

<?php print_r($_POST); ?>

或者,如果您想要更有趣、更易于阅读的内容,请使用 foreach 循环遍历 $_POST 集合并打印值。

<table>
<?php 


    foreach ($_POST as $key => $value) {
        echo "<tr>";
        echo "<td>";
        echo $key;
        echo "</td>";
        echo "<td>";
        echo $value;
        echo "</td>";
        echo "</tr>";
    }


?>
</table>

【讨论】:

  • 不应该是 $_REQUEST 吗? (如果不是 $_POST)
  • 意味着它是 $_POST。我抓取了一个用于 $_SERVER 变量的类似脚本,但未能进行那个小编辑。谢谢。
  • 可能值得在答案下突出显示 kb. 的评论,关于简单地将 var_dumpprint_r 输出放在 HTML &lt;pre&gt; 标签之间。
【解决方案2】:

你可以试试var_dump:

var_dump($_POST)

【讨论】:

  • 这行得通,但有没有让它更整洁一点?例如页面下方的列表仅显示“字段 ID:值”?
  • @Zoolander 查看 kb. 在答案下的评论,关于简单地将 var_dumpprint_r 输出放在 HTML &lt;pre&gt; 标签之间。
  • var_dump 更短更清晰
【解决方案3】:

简单地说:

<?php
    print_r($_POST);

    //Or:
    foreach ($_POST as $key => $value)
        echo $key.'='.$value.'<br />';
?>

【讨论】:

    【解决方案4】:

    你的意思可能是这样的:

    <?php
        $output = var_export($_POST, true);
        error_log($output, 0, "/path/to/file.log");
    ?>
    

    【讨论】:

      【解决方案5】:

      你可以使用像这样简单的东西

      <?php
         print_r($_POST);
      ?>
      

      这会让它更容易看到:

      <?php
         echo str_replace('  ', '&nbsp; ', nl2br(print_r($_POST, true)));
      ?>
      

      【讨论】:

        【解决方案6】:

        你绝对可以使用var_dump,但你提到你是前端开发的。我相信您会知道这一点,但提醒一下,请使用 Firefox 的 Firebug 或 Chrome 的 / Internet Explorer 的开发人员工具并检查帖子。帖子通过听众,您也应该可以从那里检查它。

        【讨论】:

        • var_dump($_POST) 没有为我做任何事情 - 不像 $_GET。
        【解决方案7】:
        if (! function_exists('d'))
        {
            // Debugger
            function d($var, $exit = 0)
            {
                // Only output on localhost
                if ($_SERVER['HTTP_HOST'] != 'localhost')
                {
                    return;
                }
        
                echo "\n[degug_output_BEGIN]<pre>\n";
                echo var_export($var, 1);
                echo "\n</pre>[degug_output_END]\n";
        
                if ($exit)
                    exit;
            }
        }
        
        // Call:
        d($_POST);
        

        奖励:检查debug_backtrace() 也将跟踪添加到您的调试中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-12-13
          • 1970-01-01
          • 2021-07-10
          • 1970-01-01
          • 2020-09-22
          • 1970-01-01
          • 2013-07-14
          相关资源
          最近更新 更多