提交表单时如何打印所有 POST 结果? [复制]
Posted
技术标签:
【中文标题】提交表单时如何打印所有 POST 结果? [复制]【英文标题】:How do I print all POST results when a form is submitted? [duplicate] 【发布时间】:2012-03-09 02:47:50 【问题描述】:我需要查看所有提交到服务器进行测试的POST
结果。
什么是我如何创建一个新文件来提交的示例,该文件将回显与该表单一起提交的所有字段?
它是动态的,因此某些字段的名称/ID 可能为field1, field2, field3
等。
【问题讨论】:
建议的一些解决方案看起来不整洁的原因是因为它们依赖于换行符,但在浏览器中被解释为 html。只需在 var_dump() 或 print_r() 之前添加echo "<pre>";
。
【参考方案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_dump
或 print_r
输出放在 HTML <pre>
标签之间。【参考方案2】:
你可以试试var_dump:
var_dump($_POST)
【讨论】:
这行得通,但有没有让它更整洁一点?例如页面下方的列表仅显示“字段 ID:值”? @Zoolander 查看 kb. 在答案下的评论,关于简单地将var_dump
或 print_r
输出放在 HTML <pre>
标签之间。
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(' ', ' ', 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() 也将跟踪添加到您的调试中。
【讨论】:
以上是关于提交表单时如何打印所有 POST 结果? [复制]的主要内容,如果未能解决你的问题,请参考以下文章