Foros del Web » Programando para Internet » PHP »

com enviar array por campo oculto

Estas en el tema de com enviar array por campo oculto en el foro de PHP en Foros del Web. hola alguien me podra ayudar en lo siguiente tengo una consulta que arroga varias fechas, lo que ago es guardar las fechas en un array ...
  #1 (permalink)  
Antiguo 25/12/2011, 11:45
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
com enviar array por campo oculto

hola alguien me podra ayudar en lo siguiente

tengo una consulta que arroga varias fechas, lo que ago es guardar las fechas en un array
mi pregunta es como puedo hacer para pasar dicho array (array_fechas []) por un campo oculto, claro y despues tambien como lo leo



$fechas = "select fecha from historial where nombre=diego;
$resulfechas = @mysql_query($fechas, $aconexion) or die("produciuse un error");
while(list($fecha) = mysql_fetch_array($resulfechas _mensajes)){

echo $fecha;
ademas de mostrar el resultado lo guardo en un array para enviarlo por campo oculto

array_fechas [] = $fecha;

}


<form name='cliente2' method='GET' action='index1.php'>
<textarea name='repuesta2' ></textarea>
<input type='hidden' name='oculto_array' value='???????????' />
<input type='submit' name='enviar2' value='Enviar'/>
</from>
  #2 (permalink)  
Antiguo 25/12/2011, 11:51
Avatar de leo_  
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 11
Pregunta Respuesta: com enviar array por campo oculto

Hola amigo ¿no sería más sencillo guardarlo en una variable de sesion?. Saludos.
__________________
Di que no haces las cosas para que te las agradezcan, pero trata de hacerlas para gente agradecida. Cipriano.
  #3 (permalink)  
Antiguo 25/12/2011, 11:57
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

leo es que asi me ocuparia espacio en el servidor no, si eso no sabrias como hacerlo pero en vez de variable de session con cookies
  #4 (permalink)  
Antiguo 25/12/2011, 12:12
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Si no son muchos registros puedes usar serialize para convertir el array en un string y poderlo enviar por el campo oculto. Luego puedes usar unserialize para recuperar el string y convertirlo de nuevo en un array.

Para más info consulta el manual:

http://php.net/manual/es/function.serialize.php
http://www.php.net/manual/es/function.unserialize.php

También puedes enviar los valores separados por comas etc... Hay muchas alternativas.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 25/12/2011, 12:59
Avatar de leo_  
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 11
Sonrisa Respuesta: com enviar array por campo oculto

Hola andresdzphp si te fijas en los temas q inicio diegohugogallego me parece q el tema de el pasa mas por el uso de los recursos del servidor q por si hacer las cosas de una u otra forma en particular. Lamentablemente no podría darle mayores explicaciones sobre el profiling de aplicaciones php porq nunca he tenido necesidad de hacerlo asi q no estoy muy embebido en el tema. A lo mejor vos puedas darle una mejor explicacion acerca de como hacerlo o demostrarle si en verdad valdría la pena para su proyecto liarse en estos temas q ya es hilar muy fino, muy fino. Saludos amigo.
__________________
Di que no haces las cosas para que te las agradezcan, pero trata de hacerlas para gente agradecida. Cipriano.
  #6 (permalink)  
Antiguo 25/12/2011, 13:45
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Yo estoy con los que dicen que los recursos que consume son realmente muy bajos. Yo no me preocuparía si las fechas (registros) son muy pocos. En temas anteriores como en este sigue con la misma duda.

Cita:
Tema 1: la verda que tengo un problema, q no se pasar dicho array ($variable[] = $fecha)
por campo oculto hacia otra pagina

alguien me podria ayudar
Cita:
Tema 2: mi pregunta es como puedo hacer para pasar dicho array (array_fechas []) por un campo oculto, claro y despues tambien como lo leo

Todas las soluciones que le dimos sirven para pasar un array por campo oculto. Usa la que más se ajuste a tus necesidades.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 25/12/2011, 15:02
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

muchas gracias a los dos por vuestro tiempo, pero lo siento la verda es que nome entere de nada
los enlaces que me pasaste andres ya los habia mirado, pero nome entero de como usarlo por eso puse mi duda en el foro

si me pudierais poner un poco de codigo a modo de ejemplo os lo agradeceria (tanto sea por session o campo oculto ), saludos

Última edición por diegohugogallego; 25/12/2011 a las 15:10
  #8 (permalink)  
Antiguo 25/12/2011, 15:21
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Tienes un array...

Código PHP:
Ver original
  1. <?php
  2. $tu_array = array(1,2,3,4,5,6,7,8,9,10);
  3. ?>

y tienes un formulario con campo oculto, donde imprimes el contenido del array convertido a string:

Código HTML:
Ver original
  1. <form name='cliente2' method='POST' action='pruebas.php'>
  2. <input type='hidden' name='oculto_array' value='<?php echo serialize($tu_array)?>' />
  3. <input type='submit' name='enviar2' value='Enviar'/>
  4. </form>

y lo recibes en la otra página así:

Código Javascript:
Ver original
  1. <?php
  2. $array_pasado = unserialize($_POST['oculto_array']);
  3. print_r($array_pasado);

También te puede servir implode y explode para conseguir el mismo resultado.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 25/12/2011, 15:34
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: com enviar array por campo oculto

O tambien puedes hacer algo así:
Código PHP:
Ver original
  1. $fechas = array('11/11/2010', '20/10/2011', '30/12/2011', '20/11/2011');
  2.  
  3. foreach($fechas as $index => $value) {
  4.     echo '<input type="hidden" name="fechas['.$index.']" value="'.$value.'" />';
  5. }

Y para recibir:
Código PHP:
Ver original
  1. print_r($_POST['fechas']);

Éste método se usa comúnmente en checkboxes, pero igual te puede servir. Es una de las ventajas de PHP; si tienes un input con corchetes,
PHP transforma el contenido a un array

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #10 (permalink)  
Antiguo 25/12/2011, 15:50
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

bueno os cuento intente pasar el array por session como decia leo y si, tenia razon es mas facil, pero tengo el siguiente problema que nome elimina la session, si no que me va creando variables de sesson cada vez que refresco la pagina
este es mi codigo

$_SESSION['array'] = $array;
foreach ($_SESSION['array'] as $key ) {
echo "array:" . $key . "<br>";
}
unset ($_SESSION['array']);



y andres muchas gracias por el codigo, pero lo intente y nome funciona nome devuelve nada
este seria el valor que tiene la variable oculto_arrayy
pero despues no me muestra nada

<input type="hidden" value="a:10:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i :5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;}" name="oculto_arrayy">




y bueno voy intentar con el codigo que me dejo Sourcegeek haber que tal

muchas gracias a todos
  #11 (permalink)  
Antiguo 25/12/2011, 16:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Muestra como estás recibiendo el valor del campo oculto porque a mi me funciona perfectamente.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 25/12/2011, 16:24
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

vale el codigo que me paso Sourcegeek me funciona solo queria modificar este trozo

while(list($fecha,) = mysql_fetch_array($resultado_mensajes)){
cmo ago para poner $fechas en vez de array('11/11/2010', '20/10/2011', '30/12/2011', '20/11/2011');
$resultad_array = array('11/11/2010', '20/10/2011', '30/12/2011', '20/11/2011');
}





andres lo tengo asi:

echo"<form name='cliente1' method='GET' action='index1.php'>
<textarea name='repuesta_comentario1' rows='4' cols='71'></textarea>
<input type='hidden' name='oculto_arrayy' value='".serialize($tu_array)."' />
<input type='submit' name='enviar_respuesta1' value='Enviar'/>
</from>";


y lo recogo asi:

$array_pasado = unserialize($_POST['oculto_arrayy']);
echo "sale:" . $array_pasado;
  #13 (permalink)  
Antiguo 25/12/2011, 16:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

En el formulario tienes method='GET' y lo recibes por POST es obvio que no funcione.

y usa print_r o implode para ver el contenido del array, con echo no te va a salir sino "array".

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #14 (permalink)  
Antiguo 25/12/2011, 16:30
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

andre lo siento culpa mia que modifique un trozo de tu codigo (utiluze un echo en vez de un print_r) aunque no entiendo cual es la diferencia de uno y otro


echo "sale:" . $array_pasado;

print_r($array_pasado);
  #15 (permalink)  
Antiguo 25/12/2011, 16:33
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Código PHP:
Ver original
  1. <?php
  2. $tu_array = array(1,2,3,4,5,6,7,8,9,10);
  3.  
  4. echo $tu_array;

Cita:
Resultado: Array
Código PHP:
Ver original
  1. <?php
  2. $tu_array = array(1,2,3,4,5,6,7,8,9,10);
  3.  
  4. print_r($tu_array);

Cita:
Resultado: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
Código PHP:
Ver original
  1. <?php
  2. $tu_array = array(1,2,3,4,5,6,7,8,9,10);
  3.  
  4. echo implode(', ', $tu_array);

Cita:
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
La diferencia se ve probándo. Volviendo a tu problema de arriba... Si lo vas a recoger por POST debes enviarlo por POST no por GET.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #16 (permalink)  
Antiguo 25/12/2011, 16:37
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: com enviar array por campo oculto

muchisimas gracias andres era el print_r q yo para recoger siempre utilizo $_request para evitar esos fallos, solo q te pase mal el codigo

una ultima duda sabrias como resolver esto, en vez de poner array(1,2,3,4,5,6,7,8,9,10) que ya me cree un array de fechas (algo asi $todas_las_fechas = $fecha)


while(list($fecha) = mysql_fetch_array($resultado_mensajes)){
cmo ago para poner $fechas en vez de array(1,2,3,4,5,6,7,8,9,10);

$tu_array = array(1,2,3,4,5,6,7,8,9,10);
}
  #17 (permalink)  
Antiguo 25/12/2011, 16:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: com enviar array por campo oculto

Así como lo tienes en el inicio:

Código PHP:
Ver original
  1. $array_fechas[] = $fecha;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, oculto, campos
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 21:59.