Foros del Web » Programando para Internet » PHP »

¿Se puede enviar por URL una variable que sea un array?

Estas en el tema de ¿Se puede enviar por URL una variable que sea un array? en el foro de PHP en Foros del Web. Es decir, podria hacer algo parecido a esto. echo "<a href=\"nombre.php?array=$var_array\">Pulsa aqui</a>" Siendo $var_array un array con X elementos que deberian ser tratados en nombre.php. ...
  #1 (permalink)  
Antiguo 04/05/2006, 10:03
 
Fecha de Ingreso: abril-2006
Mensajes: 14
Antigüedad: 11 años, 7 meses
Puntos: 0
¿Se puede enviar por URL una variable que sea un array?

Es decir, podria hacer algo parecido a esto.

echo "<a href=\"nombre.php?array=$var_array\">Pulsa aqui</a>"

Siendo $var_array un array con X elementos que deberian ser tratados en nombre.php.

Se puede pasar eso asi directamente y funcionar? de ser asi como lo recojo?

Usando R_$REQUEST['array'] no creo pq como minimo tendría que tener dos dimensiones, entonces como lo debería hacer, o que solución me proponeis.

Es para en un cine, elegir las butacas, las que eliges las meteria en un array, y luego las envio para tratarlas.

Un saludo y gracias
  #2 (permalink)  
Antiguo 04/05/2006, 10:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, pero "serializada" ....

Esta FAQ describe el proceso:
http://www.forosdelweb.com/showthrea...072#post262072


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/05/2006, 10:14
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Una vez usé eso, y lo que hice fue pasar el array a un string con implode() y luego recuperar el array desde el string con explode()

www.php.net/manual/es/function.implode.php
www.php.net/manual/es/function.explode.php

Ahh se me olvidaba que tambien se podia hacer con serialize() y unserialize().
  #4 (permalink)  
Antiguo 04/05/2006, 10:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es para en un cine, elegir las butacas, las que eliges las meteria en un array, y luego las envio para tratarlas.

Podrías propagar esos datos en una Sesión (www.php.net/session), así te evitas incluso el "serializado" de tu array.

Además que en el URL no puedes propagar datos "infinitos" .. hay un límite (no recuerdo cuanto: 255 caracteres? .. no sé). Es decir .. ten cuidado con ese método. Mejor intenta usar sesiones para tal fin. Más seguro y con menos restricciones de ese tipo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 04/05/2006, 11:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 12 años, 8 meses
Puntos: 0
Mismo Problema, Paso de Arrays a otro pagina

Hello Friends!!!!

Tengo el mismo problema

trato de meter en un array una consulta MYSQL
la estructura es la siguiente,...

<?

//todo el codigo para conectar a la basede datos......

$sql_usuario = "SELECT col1, col2, col3 FROM tabla";
$query_usuario = mysql_query($sql_usuario, $xxx) or die(mysql_error());

$x=array();
$y=array();
$z=array();
$i=1;
while($array=mysql_fetch_assoc($query_usuario)){
$x[$i]=$array['col1'];
$y[$i]=$array['col2'];
$z[$i]=$array['col3'];
$i=$i+1;
}
$x = addslashes(serialize($x)); //pasarla
$y = addslashes(serialize($y)); //pasarla
$z = addslashes(serialize($z)); //pasarla

?>
<form action="recibir_array.php" method="POST">
<input name="x" type="hidden" value="$x">
<input name="y" type="hidden" value="$y">
<input name="z" type="hidden" value="$z">
<input name="enviar" type="submit" value=" Enviar ">
</form>

Listo ahi todo bien....
el problema es cuando en recibir_array.php trato de recibir CUALQUIER VARIABLE.
Las recibo por $_POST
el error surge cuando intento esto:
$xx = unserialize(stripslashes($x)); // recuperarla

Notice: unserialize(): Error at offset 0 of 3 bytes in c:\archivos de programa\easyphp1-7\www\recibir_array.php on line 14

Otra pregunta que tengo es que si funcionara, como hago para listarlo????
de antemano mis agradecimientos!!!
  #6 (permalink)  
Antiguo 04/05/2006, 12:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por qué no pruebas la(s) funciones que deje en el link (FAQ) en mi anterior mensaje?

Por otro lado .. textualmente pusistes el código, te faltó el "echo" a tus variables $x ..

<input name="x" type="hidden" value="<? echo $x ?>">

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 04/05/2006, 15:02
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 12 años, 8 meses
Puntos: 0
Solucion!!!!

Hola,
Segui el consejo de cluster metiendolas en variables de session!!!
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.