TransWikia.com

Guardar formulario en una array PHP

Stack Overflow en español Asked by GMP on January 6, 2022

Llevo un buen rato probando varias cosas para intentar guardar los datos del formulario dentro de una array y me que quedado atascado en lo siguiente:

Código:

PHP:

<?php
    //$number = $_POST['number'];
    $number = [$_POST['number']];
    //$numbers[] = [$number];
    $numbers[] = array_push($number);

    //var_dump($number);
    var_dump($numbers);
    //print_r($number)
?>

HTML:

<!DOCTYPE HTML>
<html>
    <head>
     <meta charset= "utf-8">
    </head>
    <body>
        <form action="algo.php" method="post">
            <input type="text" name="number[]"><br />
            <input type="text" name="number[]"><br />
            <input type="text" name="number[]"><br />
            <input type="text" name="number[]"><br />
            <input type="text" name="number[]"><br />
            <input type="text" name="number[]"><br />
            <input type="submit" name="submit" value="Submit">
        </form>
    </body>
<html>

Mi intención es guardar cada entrada del formulario como una línea de la array(myarray[0] -> 1,2,3,4,5,6; myarray[1] -> 1,2,3,4,5,6….). Lo he intentado hacer guardando el contenido del formulario a una array y luego esa array dentro de otra, no se si está bien planteado o hay alguna forma mejor, pero como podría ir guardando cada entrada del formulario como distintas entradas y que las fuera guardando todas?

Gracias

2 Answers

Primero en tu html estas creando un array de inputs el cual puedes recorrer en tu php para obtener los valores, o puedes crear ese mismo array y a cada input ponerle una etiqueta para luego acceder por ella en php: aqui te dejo el ejemplo:

  Creando los input:
  <form action="script.php" method="post">
      <input type="text" name="number[][valor1]"><br/>
      <input type="text" name="number[][valor2]"><br/>
      <input type="text" name="number[][valor3]"><br/>
      <input type="text" name="number[][valor4]"><br/>
      <input type="text" name="number[][valor5]"><br/>
      <input type="text" name="number[][valor6]"><br/>
      <input type="submit" name="submit" value="Submit">
 </form>

Obteniendo los valores de los input:

<?php
$arrayDatos = $_POST['number'];

$valor1 = "";
$valor2 = "";
$valor3 = "";
$valor4 = "";
$valor5 = "";

foreach ($arrayDatos as $key => $value) {
    $valor1 = $value['valor1'];
    $valor2 = $value['valor2'];
    $valor3 = $value['valor3'];
    $valor4 = $value['valor4'];
    $valor5 = $value['valor6'];
}
echo "valores: " . $valor1 . " - " . $valor2 . " - " . $valor3 . " - " . $valor4 . " -" . $valor5
?>


  //ahora puede guardar esos valores en tu arrar o manejarlos como gustes:

 array_push($miArray, $valor1);

Answered by Igmer Rodriguez on January 6, 2022

array_push necesita dos parámetros: el primero es la array y el segundo es la variable $number.

<?php
    // Agarra los numeros (Esto los consigue a todos)
    $number = $_POST['number'];

    // Crea la array vacía
    $numbers = [];

    // Agrega los numeros a la array
    array_push($numbers, $number);

    // mostra el resultado
    var_dump($numbers);

Espero que esto te ayude! Lo siento por mi mal español.

Answered by bwalshy on January 6, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP