Tengo un formulario que envía todos los datos con jQuery .serialize() En el formulario son cuatro arrays qty[], etc enviar los datos del formulario a una sendMail página y quiero conseguir la publicación de los datos de las matrices.

He intentado:

$qty = $_POST['qty[]'];
foreach($qty as $value)
{
  $qtyOut = $value . "<br>";
}

Y probado esto:

for($q=0;$q<=$qty;$q++)
{
 $qtyOut = $q . "<br>";
}

Este es el enfoque correcto?

  • Pruebe con $qty = $_POST['qty'];
InformationsquelleAutor StudentRik | 2014-02-13

5 Comentarios

  1. 11

    Tiene [] dentro de su $_POST variable – estos no son necesarios. Usted debe utilizar:

    $qty = $_POST['qty'];

    El código sería:

    $qty = $_POST['qty'];
    
    foreach($qty as $value) {
    
       $qtyOut = $value . "<br>";
    
    }
  2. 7

    php detecta automáticamente $_POST y $_GET-matrices de modo que usted puede juse:

    <form method="post">
        <input value="user1"  name="qty[]" type="checkbox">
        <input value="user2"  name="qty[]" type="checkbox">
        <input type="submit">
    </form>
    
    <?php
    $qty = $_POST['qty'];

    y $cant voluntad por un php-Matriz. Ahora usted puede acceder a él:

    if (is_array($qty))
    {
      for ($i=0;$i<size($qty);$i++)
      {
        print ($qty[$i]);
      }
    }
    ?>

    si usted no está seguro acerca del formato de los datos recibidos de la estructura puede utilizar:

    print_r($_POST['qty']);

    o incluso

    print_r($_POST);

    para ver cómo se almacena.

    • Exactamente. Una pena señalar: no olvides [ ] en el nombre de su entrada en HTML. Me olvidé de esto y he desperdiciado horas de mi vida.
    • Su respuesta es perfecto para múltiples matrices. Por ejemplo, voy a publicar los nombres y edades, para que yo pueda conseguir ambos valores a la vez.
    • Para añadir a esto, mediante el establecimiento de valores reales entre los corchetes en lugar de dejarlas vacías y por el análisis de la matriz devuelta por este foreach (array_expression as $clave => $valor) bucle foreach puede conservar el id. Útil cuando se trabaja con varias páginas
  3. 1

    Mi versión de PHP 4.4.4 tira un error:
    Fatal error: Call to undefined function: size()

    He cambiado tamaño a contar y, a continuación, la rutina se ejecutó correctamente.

    <?php
    $qty = $_POST['qty'];
    
    if (is_array($qty)) {
       for ($i=0;$i<count($qty);$i++)
       {
           print ($qty[$i]);
       }
    }
    ?>
  4. 0

    Prefiero foreach en lugar de para, porque no necesita heandle el tamaño.

    if( isset( $_POST['qty'] ) )
    {
        $qty = $_POST ['qty'] ;
        if( is_array( $qty ) )
        {
            foreach ( $qty as $key => $value ) 
            {
                print( $value );
            }
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here