提交表单时,如何打印所有POST结果


How do I print all POST results when a form is submitted?

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

我可以创建一个新文件提交给它,它将回声出与该表单一起提交的所有字段,这个例子是什么?

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

所有值都存储在$_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>

您可以尝试var_dump:

var_dump($_POST)

简单地说:

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

你的意思可能是这样的:

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

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

<?php
   print_r($_POST);
?>

这将使其更具可视性:

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

您肯定可以使用var_dump,但您提到您正在进行前端开发。我相信你会知道这一点,但作为提醒,请使用Firefox的Firebug或Chrome的/Internet;Explorer的开发人员工具并检查帖子。帖子会通过窃听器,你也应该能够从那里查看它。

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()也可以将跟踪添加到调试中。