Los datos básicos (números, texto) pueden ser enviados mediante POST y GET. Cuando tratamos de enviar estructuras compuestas (vectores, matrices) es necesario SERIALIZAR la estructura para que pueda ser recibida por la página activa correspondiente. Veamos un ejemplo:
<?php
// Para transmitir un objeto por post o get, es necesario
serializarlo
$v[1]=38;
$v[2]='Patata';
// vamos a atacar a MySQL,
creando una matriz bidimensional m
$c=mysql_connect("127.0.0.1","root","root");
mysql_select_db("facturitas");
// Sacamos los datos de la factura número 1
$orden="SELECT nombre,direccion,nif,fecha,denominacion,precio,cantidad
FROM clientes,articulos,facturas,lineas_factura
WHERE clientes.cod_cli=facturas.cod_cli
AND facturas.num_fact=lineas_factura.num_fact
AND lineas_factura.cod_art=articulos.cod_art
AND facturas.num_fact=1";
$paquete=mysql_query($orden);
$linea=1;
while($registro=mysql_fetch_array($paquete)){
}
// Mandamos el vector v[]
y la matriz m[][] mediante un formulario por POST pero serializando
echo "<form name=f method=post action=desserializando.php>";
echo "<input type=hidden name=v value='".serialize($v)."'>";
echo "<input type=hidden name=m value='".serialize($m)."'>";
echo "<input type=submit name=enviar value=enviar>";
echo "</form>";
?>
De igual forma, es necesario, al recibirlo "desserializar" la estructura recibida. De esta forma será manejable:
<?php
// Recojo el vector v[] y lo desserializo para poderlo
manejar
$v=unserialize($_POST['v']);
// Ahora la matriz m[][]
$m=unserialize($_POST['m']);
?>