¿Cómo imprimo todos los resultados POST cuando se envía un formulario? [duplicate]

3 minutos de lectura

avatar de usuario
Zoolander

necesito ver todo el POST resultados que se envían al servidor para su prueba.

¿Cuál sería un ejemplo de cómo puedo crear un nuevo archivo para enviar que repita todos los campos que se enviaron con ese formulario?

Es dinámico, por lo que algunos campos pueden tener un nombre/ID de field1, field2, field3etc.

  • La razón por la que algunas de las soluciones sugeridas no se ven ordenadas es porque se basan en líneas nuevas, pero se interpretan como HTML en el navegador. Simplemente agregue echo "<pre>"; antes de var_dump() o print_r().

    – kb.

    17 de febrero de 2012 a las 17:36

avatar de usuario
Jrod

Todos los valores se almacenan en el $_POST recopilación

<?php print_r($_POST); ?>

o si desea algo más elegante que sea más fácil de leer, use un bucle foreach para recorrer el $_POST colección e imprimir los valores.

<table>
<?php 


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


?>
</table>

  • ¿No debería ser $_REQUEST? (si no es $_POST)

    – kb.

    17 de febrero de 2012 a las 17:35

  • Significa que sea $_POST. Tenía un script similar para las variables $_SERVER que agarré pero no pude hacer esa pequeña edición. Gracias.

    – Jrod

    17 de febrero de 2012 a las 17:36

  • Probablemente valga la pena resaltar el comentario de kb. debajo de la respuesta, sobre simplemente poner var_dump o print_r salida entre HTML <pre> etiquetas

    – Skippy el Gran Gourou

    3 oct 2015 a las 14:51


avatar de usuario
paco valdez

Tu podrías intentar var_dump:

var_dump($_POST)

  • Esto funciona, pero ¿hay alguna forma de hacerlo un poco más ordenado? ¿Como una lista que va hacia abajo en la página que simplemente dice “ID de campo: valor”?

    – Zoolander

    17 de febrero de 2012 a las 17:29

  • @Zoolander Vea el comentario de kb. debajo de la respuesta, sobre simplemente poner var_dump o print_r salida entre HTML <pre> etiquetas

    – Skippy el Gran Gourou

    3 oct 2015 a las 14:50

  • var_dump más corto y más claro

    – Vladímir Lapenkov

    29 de diciembre de 2015 a las 7:40

avatar de usuario
Nicolás

Simplemente:

<?php
    print_r($_POST);

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

avatar de usuario
poni

Puedes querer decir algo como esto:

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

Podrías usar algo tan simple como esto

<?php
   print_r($_POST);
?>

Esto lo haría un poco más visible:

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

avatar de usuario
Pedro Mortensen

Definitivamente puedes usar var_dump, pero mencionaste que estás en desarrollo front-end. Estoy seguro de que sabrás esto, pero solo como recordatorio, usa Firefox’s bicho de fuego o la herramienta de desarrolladores de Chrome/Internet Explorer y verifique la publicación. La publicación pasa por los oyentes, y también debería poder verificarla desde allí.

avatar de usuario
Pedro Mortensen

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

Bono: Comprobar debug_backtrace() también agregue seguimiento a su depuración.

¿Ha sido útil esta solución?