[Tip] Pasar arreglos por post en PHP

1 Octubre 2009, publicado por: yyeshua


El caso es simple: Tenemos un arreglo y queremos enviarlo a otro script de PHP. Supongamos que el arreglo alberga una docena de elementos. Si hiciéramos un formulario con doce elementos tipo «hidden», y lo enviásemos, sería muy tedioso. ¿Y si el arreglo tiene mucho más que doce elementos?.

Es mucho más simple si convertimos nuestro arreglo php en una cadena de texto, lo enviamos por u formulario html, y el script que lo recibe convierte la cadena de texto nuevamente en un arreglo.
Al caso, tenemos un arreglo de muchos elementos:

1
2
3
4
$array['elemento1'] = 16;
$array['elemento2'] = 'cadena de texto';
//... y así
$array['elementoX'] = 'lo que sea';

Lo que haremos será construir dos funciones que nos facilitarán la vida. La primera se llamará «arrayToString» y servirá para convertir cualquier arreglo a una cadena de texto:

1
2
3
4
5
6
7
function arrayToString($array)
{
    $tmp = serialize($array);
    $tmp = urlencode($tmp);
 
    return $tmp;
}

La otra función, como probablemente presumáis, se llamará «stringToArray» y hará precisamente el procedimiento contrario:

1
2
3
4
5
6
7
8
function stringToArray($array)
{
    $tmp = stripslashes($array);
    $tmp = urldecode($tmp);
    $tmp = unserialize($tmp);
 
    return $tmp;
}

Podéis poner esas funciones en un archivo e incluirlas mediante la funcion «include» en cualquier script que necesitéis, y valla que ahorramos trabajo. Ahora veamos un ejemplo:

1
2
3
4
5
6
$array = arrayToString($array);
?>
    <form method="post" action='recibe.php'>
        <input type="hidden" name="txt_array" value="<?php echo $array; ?/>">
        <input type="submit" value="Enviar"/>
    </form>

Y en recibe.php lo manejamos:

1
2
$array = stringToArray($_POST['txt_array']);
echo $array['elemento1']; //16

Bueno, espero que os sea útil. Saludos.


Categorías: Desarrollo Web, Lenguajes, Programación, Tips
Etiquetas:


3 comentarios en “[Tip] Pasar arreglos por post en PHP”


yyeshua's status on Friday, 02-Oct-09 00:18:53 UTC - Identi.ca dice:

1 Octubre 2009 a las 18:19

[...] http://www.cafeinalibre.net/desarrollo_web/tip-pasar-arreglos-por-post-en-php/ a few seconds ago from IdentiFox [...]

meneame.net dice:

1 Octubre 2009 a las 12:02

[Tip] Pasar arreglos por post en PHP... El caso es simple: Tenemos un arreglo y queremos enviarlo a otro script de PHP. Supongamos que el arreglo alberga una docena de elementos. Si hiciéramos un formulario con doce elementos tipo «hidden», y lo enviásemos, sería muy tedioso. ¿Y si el arregl...

Bitacoras.com dice:

1 Octubre 2009 a las 12:01

Información Bitacoras.com... Valora en Bitacoras.com: El caso es simple: Tenemos un arreglo y queremos enviarlo a otro script de PHP. Supongamos que el arreglo alberga una docena de elementos. Si hicieramos un formulario con doce elementos tipo «hidden», y lo enviásemos, sería m.....

Yo

Contáctame

Cafeína Libre funciona gracias a Wordpress


Plantilla por Edwin Y. Rodas y NeocaptorX

Licencia Creative Commons