Foros del Web » Programando para Internet » PHP »

Pasar variable y recargar página

Estas en el tema de Pasar variable y recargar página en el foro de PHP en Foros del Web. Buenas, describo mi problema: Tengo una página .php en la cual con un botón del formulario abro un Popup en el que aparece un listado ...
  #1 (permalink)  
Antiguo 23/04/2004, 06:02
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Pregunta Pasar variable y recargar página

Buenas, describo mi problema:

Tengo una página .php en la cual con un botón del formulario abro un Popup en el que aparece un listado de datos.

---- Codigo "Muestra datos"-----

Código PHP:
<?php
while ($datos mysql_fetch_array($resultado)){
  
printf("<tr>");
  
printf("<td bgcolor='#336699' height='15' class='Titulo'>");
  
printf("<a href='javascript:devuelve_nombre(\"%s\")'>%s</a>"
         
,$datos['fichero'],$datos['nombre']);
  
printf("</td>");
}
?>
Cada registro ke se muestra en el listado tiene un enlace a un javascript donde paso una variable ke contiene el valor del dato seleccionado y a continuación cierra el Popup.

---- Codigo Javascript -----

<SCRIPT LANGUAGE="JavaScript">
function devuelve_nombre(el_fichero) {
document.location="enviob.php4?dato="+el_fichero;
window.close();
}


EL PROBLEMA, es cuando vuelvo a la pagina .php desde la cual se abrió el Popup. En dicha pagina tengo un:

<input type="text" name="el_boletin" value="<? echo $dato ?>" size="60" maxlength="60" readonly>

aquí es donde kiero ke se ponga el valor de $dato ke ha sido enviado desde el Popup, pero para ello supongo ke necesitaria recargar la página .php y no se como hacerlo.

P.D: con ke me contesteis eso me vale, aunke si podeis ir más allá, puedo añadir el problema de ke en la página .php hay otros datos ke al hacer la recarga no kiero ke desaparezcan o se cambien.



Muchisimas gracias por adelantado

Última edición por pr0; 23/04/2004 a las 07:44
  #2 (permalink)  
Antiguo 23/04/2004, 08:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El proceso lógico sería:

listado (que abres en tu popup y muestra tus datos)
Código PHP:
while ....
// generas links normales hacia el script de proceso ..tu:
echo "<a href=\"enviob.php4?dato=".$datos['fichero']."\">".=".$datos['nombre']."</a>

El script "enviob.php4" procesa tus datos y .. al final de este será donde tendrá que tener el código Javscript de cerrado de tu ventana.

Código PHP:
<?
// proceso php de enviob.php4
// procesar variable ... $_GET['dato']
?>
<html>
<head>
</head>
<body onLoad="window.close()">
<body>
</html>
a ese window.close() de javascript .. manejando la propiedad "opener" de javacript .. podrías recargar la página padre a la vez que cierras (primero recargar y luego cerrar ventana) en el mismo proceso con:

window.opener.reload();

(visista el foro de javascript para que te confirmen como usarlo ..).

Pero, a su vez .. necesitas pasar una variable entre ventanas .. que sería tu:

<input type="text" name="el_boletin" value="<? echo $dato ?>" size="60" maxlength="60" readonly>

pero, en este caso no se haría por "PHP" a no ser que ese $dato lo leas de tu BD o donde quede almacenado ese valor $dato .. (por otra parte esto sería lo ideal). Ese "paso" de variables se haría tambien desde javascript por el objeto window y su propieda opener (de Javascript).

No sé cual es la idea de tener ese campo input desahabilitado y que muestre el dato .. Dato que viajará en tu formulario al darle a tu "submit" junto con otros datos .. Pero, la idea es que los datos que seleccionas desde algún otro sitio (ventanas que abres y sleccionas datos .. etc) vayan quedando en la Base de datos o bien uses sesiones o cookies para ir almacenanto -temporalmente- esos datos que al final de tu proceso leeras (junto con los de tu formulario "padre") y los procesaras en consecuencia. Un campo en un formulario "deshabilitado" podría ser fácilmente alterado .. Por eso es mejor propagar ese tipo de datos por otros médios (ya sea cookeis, sesioens o simplemende ir guardandolo todo en la BD o donde los proceses finalmente).

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 23/04/2004, 08:48
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Muchisimas gracias Cluster, ya me hago una idea de como conseguirlo... voy a ello

Saludos
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:57.