Foros del Web » Programando para Internet » PHP »

Pasar array PHP por parámetro a Javasript

Estas en el tema de Pasar array PHP por parámetro a Javasript en el foro de PHP en Foros del Web. Hola a todos, no se si mi pregunta corresponde en este apartado del foro, pero bueno. Tengo un pequeño problema necesito pasar un array PHP ...
  #1 (permalink)  
Antiguo 19/04/2006, 18:09
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 0
Busqueda Pasar array PHP por parámetro a Javasript

Hola a todos, no se si mi pregunta corresponde en este apartado del foro, pero bueno.

Tengo un pequeño problema necesito pasar un array PHP por parámetro en javacript.

Código PHP:
$datos=array($TxtTitle,$TxtEmail,$TxtBody);

echo(
"<script language='JavaScript' type='text/javascript'>");    
echo(
"location.href='preview.php?arreglo=".$datos."'");
echo(
"</script>"); 
Pero cuando salta a la pag. preview.php en la dirección me sale esto:
Código PHP:
http://localhost/class/ad/preview.php?arreglo=Array 
y en la pag. preview.php debo obtener estos datos y mostrarlos en PHP
es decir no pasa los datos del arreglo.
Gracias

Última edición por hmv; 19/04/2006 a las 19:18
  #2 (permalink)  
Antiguo 19/04/2006, 19:21
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
Exclamación

Código PHP:
header("Location: preview.php?arreglo=".$datos); 
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #3 (permalink)  
Antiguo 20/04/2006, 03:10
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Por aquí se habló de lo mismo y Mr. Panino se sacó de la manga un código bien chévere:
http://www.forosdelweb.com/f13/pasar-variable-php-js-382585/
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #4 (permalink)  
Antiguo 20/04/2006, 05:42
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 0
Sigo sin resolver el problema, les explico con mas detalles:

Tengo un formulario en index.php y valido(en la misma pag.) con PHP(No uso javascript para validar) si llenarón los datos requeridos, si todo es correcto me manda a una pagina preview, para ver como va a quedar los datos ingresados.

Código PHP:
  if ($obj->Validar_datos($TxtNom$TxtApe$TxtDNI)==1)
      {
         
//Aqui va la redireccion a la pag. preview.php
        //Puse este codigo en javascrtip para la redirec

         
echo"<script language=javascript>";
         echo
" location.href='preview.php' ";
         echo
"</script>";
      } 
el problema es que no muestra los datos en el preview.php, parece q se perdieron los datos despues de validarlos. Es por eso q quiero mandar los datos como parametro: asi
preview.php?datos=arreglo_datos;. O hay alguna otra solución??

Gracias
  #5 (permalink)  
Antiguo 20/04/2006, 05:48
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 0
Sigo sin resolver el problema, les explico con mas detalles:

Tengo un formulario en index.ph y valido(en la misma pag.) con PHP(No uso javascript para validar) si llenarón los datos requeridos, si todo es correcto me manda a una pagina preview, para ver como va a quedar los datos ingresados.

Código PHP:
 echo "<br>";
if (
$HTTP_POST_VARS['CmdPreview']=="Preview"//si hacen click en el boton preview
  
{
     if (
$obj->Validar_datos($TxtNom$TxtApe$TxtDNI)==1)
       {
         
//Aqui va la redireccion a la pag. preview.php
        //Puse este codigo en javascrtip para la redirec

         
echo"<script language=javascript>";
         echo
" location.href='preview.php' ";
         echo
"</script>";
      }
  } 
el problema es que no muestra los datos en el preview.php, parece q se perdieron los datos cuando se hiso la validación. Es por eso q quiero mandar los datos como parametro: asi
preview.php?datos=arreglo_datos;. O hay alguna otra solución??

Gracias
  #6 (permalink)  
Antiguo 20/04/2006, 05:54
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Cita:
O hay alguna otra solución??
Podrías almacenar esos datos en variables de sesión. Luego, ya en preview, puedes acceder a ellos sin tener que pasarlos como parámetro.

Código PHP:
<?
if ($obj->Validar_datos($TxtNom$TxtApe$TxtDNI)==1)
      {
         
//Aqui va la redireccion a la pag. preview.php
         
$_SESSION['TxtNom'] = $TxtNom;
         
$_SESSION['TxtApe'] = $TxtApe;
         
$_SESSION['TxtDNI'] = $TxtDNI;
         
header("Location: preview.php"); //vamos al preview...
      
}  
?>
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #7 (permalink)  
Antiguo 20/04/2006, 06:24
hmv
 
Fecha de Ingreso: abril-2005
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 0
Gracias por responder, pero una cosa

Me sale error en el header:
Warning: Cannot add header information - headers already sent by...

Tengo entendido q el header se pone al inicio de la pag, sin espacios.
Pero alli ya no podria validar el form antes de saltar al preview.

Si cambio el header con la redireccion en javascript si funciona
  #8 (permalink)  
Antiguo 20/04/2006, 06:32
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Hola de nuevo. La cabecera la puedes meter en cualquier lado, no sólo al principio. La restricción es que no imprimas nada (nada de echos, print's, etc.) antes de que mandes tus cabeceras.

En el código de tu ejemplo, veo que mandas un: echo "<br>"

Está bien si te funciona así, aunque escribir código en Js significa que primero le cargas al cliente una página para luego mandarlo a otra.

Se me haría más lógico que desde el servidor se tome la decisión y desde ahí se le lleve directamente a la página final, así, si el navegador cliente no tuviera su Javascript activado, de todas formas puede ver preview.php.

=)
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #9 (permalink)  
Antiguo 20/04/2006, 14:03
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
asi es.. usa ob_clean.
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
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 05:30.