Как распечатать все результаты POST при отправке формы?
Мне нужно увидеть все результаты POST
, которые были отправлены на сервер для тестирования.
Каким будет пример того, как я могу создать новый файл для отправки на него, будет отображать все поля, которые были отправлены с этой формой?
Он динамический, поэтому некоторые поля могут иметь имя/идентификатор field1, field2, field3
и т.д.
Ответы
Ответ 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>
Ответ 2
Вы можете попробовать var_dump:
var_dump($_POST)
Ответ 3
Просто:
<?php
print_r($_POST);
//Or:
foreach ($_POST as $key => $value)
echo $key.'='.$value.'<br />';
?>
Ответ 4
Вы можете использовать что-то так же просто, как это
<?php
print_r($_POST);
?>
Это сделало бы его более доступным:
<?php
echo str_replace(' ', ' ', nl2br(print_r($_POST, true)));
?>
Ответ 5
Вы можете определенно использовать var_dump
, но вы упомянули, что находитесь в начальной разработке. Я уверен, что вы это знаете, но как напоминание, используйте Firefox Firebug или инструмент разработчика Chrome/Internet Explorer и проверьте после. Сообщение проходит через слушателей, и вы также сможете проверить его там.
Ответ 6
Вы можете означать что-то вроде этого:
<?php
$output = var_export($_POST, true);
error_log($output, 0, "/path/to/file.log");
?>
Ответ 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(), добавив трассировку в вашу отладку.