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

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

有什么例子可以说明我如何创建一个新的文件来提交,这将回显出与该表单一起提交的所有字段?

它是动态的,所以有些字段的名称/ID 可能是 field1, field2, field3,等等。

399249 次浏览

You could try var_dump:

var_dump($_POST)

You may mean something like this:

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

You could use something as simple as this

<?php
print_r($_POST);
?>

This would make it a bit more viewable:

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

Simply:

<?php
print_r($_POST);


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

All the values are stored in the $_POST collection

<?php print_r($_POST); ?>

or if you want something fancier that is easier to read use a foreach loop to loop through the $_POST collection and print the values.

<table>
<?php




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




?>
</table>

You can definitely use var_dump, but you mentioned you are in front-end development. I am sure you would know this, but just as a reminder, use Firefox's Firebug or Chrome's / Internet Explorer's developers tool and check for the post. Post goes through hearders, and you should be able to check it from there too.

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);

Bonus: Check debug_backtrace() too add tracing to your debugging.