Foros del Web » Programando para Internet » PHP »

pasar array javascript a php

Estas en el tema de pasar array javascript a php en el foro de PHP en Foros del Web. Hola necesito enviar por post un array multiple generado en javascript para utilizarlo en php. He intentado lo siguiente: <input type="hidden" name="mi_array[]"> y lo he ...
  #1 (permalink)  
Antiguo 01/06/2005, 05:34
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
pasar array javascript a php

Hola necesito enviar por post un array multiple generado en javascript para utilizarlo en php.
He intentado lo siguiente:

<input type="hidden" name="mi_array[]">

y lo he recogido en php asi:

$array=$HTTP_POST_VARS['ar_accesos'] ;
print_r( $array);

pero no me funciona, os agradecieria que me ayudarais, gracias
__________________
Muchas gracias, saludos.
  #2 (permalink)  
Antiguo 01/06/2005, 06:13
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola.

¿No será que le estás dando nombres distintos a una variable?

En la primera página, el array se llama mi_array y en el código PHP que recoge los datos por POST se llama ar_accesos.

Por otro lado, la matriz global $HTTP_POST_VARS ya casi no se usa, sino que se usa simplemente $_POST... Aunque no creo que ese sea el problema porque me parece haber leído en el manual oficial de PHP que por razones de compatibilidad las futuras versiones la seguirán procesando.

Pienso que es mejor que nos escribas el código de las 2 páginas: La que envía el formulario y la que lo recibe... Tal vez el problema sea otro.

Saludos.
__________________
Gustavo Narea.
Venezuela.
  #3 (permalink)  
Antiguo 01/06/2005, 06:16
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
perdona al teclear se me ha pasado.
<form action="otrapagina.php" method="post" name="form_envio">
<input type="hidden" name="mi_array[]">

y lo he recogido en php asi:

$array=$HTTP_POST_VARS['mi_array'] ;
print_r( $array);
__________________
Muchas gracias, saludos.
  #4 (permalink)  
Antiguo 01/06/2005, 06:31
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola.

Bueno, no he probado el código, pero no le veo ningún error.

A veces sucede en la programación que la teoría no se cumple, o por lo menos, no se cumple de la manera en que uno interpreta la teoría... Haciendo la salvedad de que casi siempre el error lo comete el programador. En vista de eso, se deben tomar vías alternativas.

Prueba con el siguiente código en PHP para ver si te imprime los valores de las variables:

Código PHP:
foreach($_POST['mi_array'] as $clave=>$valor)
echo 
"\$_POST['mi_array']['$clave']='$valor';<br>"
Si te imprime todas las variables del array mi_array, es porque las recibió bien.

Por favor pruébalo y me dices.

Saludos.

EDITADO: Después que envié el mensaje, lo edité para corregir un error en el código PHP.
__________________
Gustavo Narea.
Venezuela.
  #5 (permalink)  
Antiguo 01/06/2005, 07:03
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
lo que me imprime en pantalla es esto:
$_POST['mi_array']['0']='';

tengo que deicr que mi array es un multiarray.
__________________
Muchas gracias, saludos.
  #6 (permalink)  
Antiguo 01/06/2005, 07:08
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
Cita:
Iniciado por xias
lo que me imprime en pantalla es esto:
$_POST['mi_array']['0']='';

tengo que deicr que mi array es un multiarray.
¿Estás seguro que la variable tiene algún valor?

Fíjate que el INPUT es:
Código HTML:
<input type=hidden name="mi_array[]"> 
Pero, ¿dónde está el atributo value? ¿Lo asignas con javascript? ¿Cómo le asignas el valor a la variable?

Saludos.
__________________
Gustavo Narea.
Venezuela.
  #7 (permalink)  
Antiguo 01/06/2005, 08:32
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
Mi problema es que lo que quiero es que el array mi_array llegue a php con los datos que tiene el array.
<input type=hidden name="mi_array[]" value="mi_array[]" >


otrapagina.php

<?

$array=$HTTP_POST_VARS['mi_array'] ;
print_r( $array);
?>
__________________
Muchas gracias, saludos.
  #8 (permalink)  
Antiguo 01/06/2005, 11:49
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
A mi me parece que está bien lo que te devuelve PHP, por eso es que pienso que lo que se tiene que revisar es el valor de las variables contenidas en la matriz.

Por lo que me cuentas que devuelve PHP, el array mi_array() sólo contiene una variable que es igual a una cadena vacía... Si tú crees que ese array debería contener más de una variable y/o la variable no es una cadena vacía, te digo con toda seguridad que el problema está en los datos del formulario: No en el código HTML que muestra el formulario, sino que algo está fallando cuando envías los datos, me atrevería a asegurar que es javascript el que no está enviando los datos.

Estoy totalmente seguro de que PHP sí recibe los datos bien de manera en que lo estás haciendo. No tengo duda en eso.

Mi consejo es que revises el código javascript y no el PHP. Con PHP está bien todo.

Si no logras hallar el error, puedes escribir el código de las dos páginas para revisarlo... o lo publicas en el foro de javascript.

Saludos.

Cita:
Iniciado por xias
Mi problema es que lo que quiero es que el array mi_array llegue a php con los datos que tiene el array.
<input type=hidden name="mi_array[]" value="mi_array[]" >


otrapagina.php

<?

$array=$HTTP_POST_VARS['mi_array'] ;
print_r( $array);
?>
__________________
Gustavo Narea.
Venezuela.
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 14:10.