Hola a todos, hoy os voy a explicar como podemos pasar un array en un formulario en PHP.
En un formulario PHP, podemos tener varios valores que queramos guardar en un array pero, ¿como podemos pasar un array en un formulario? Podemos usar implode y explode.
Vamos a crear un array con PHP:
<?php $array = array(1,2,3,4,5,6,7,8,9,10); ?>
Vamos a poner en un input con los valores del array:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Pasar array</title> </head> <body> <?php $array = array(1,2,3,4,5,6,7,8,9,10); ?> <form action="mostrar-array.php" method="POST"> <input type="text" readonly name="values_array" value="<?php echo implode(",", $array); ?>"> <input type="submit" value="Pasar array"> </form> </body> </html>
Fíjate que tengo un input text donde llamo a la función implode, esta función lo que hace es dado una cadena y un array, coge cada elemento, lo separa por esa cadena y nos lo devuelve en esa cadena.
Aquí podéis ver el resultado:
En mostrar-array.php, tendríamos lo siguiente:
<?php $array = $_POST['values_array']; echo "Valor recogido: " . $array . " "; echo "Convertirlo en array: "; print_r(explode(",", $array)); ?>
Fíjate que aquí hacemos lo contrario, que es pasar la cadena a array usando explode.
Este es el resultado:
Os dejo un vídeo donde trato el tema aunque meta sesiones de por medio:
Os dejo aquí la descarga del proyecto
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Hola soy Johana de colombia,te pregunto si es posible tengo un array. Que es el resultado de una consulta y debo presentarlo en en un formulario que está en otro Archivo PHP
hola amigo me ha gustado tu tema, tengo duda, espero que puedas ayudarme.
tengo un formulario con 5 cajas de texto, quiero que al oprimir un boton estos datos se guarden asi como lo haces en tu video, para que al terminar de capturar esto los pueda guardar en una bd, mi duda es: ¿tengo que hacer un array por cada campo? o si fueras tan amable de explicarme por favor. mil gracias