Как распечатать все результаты 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('  ', '&nbsp; ', 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(), добавив трассировку в вашу отладку.