Foros del Web » Programando para Internet » PHP »

cerrar popup y redireccionar la ventana que genero el popup

Estas en el tema de cerrar popup y redireccionar la ventana que genero el popup en el foro de PHP en Foros del Web. hola amigos, tengo el siguiente problema tengo una pagina con un enlace llamada panel_usuario.php, al hacer click en el enlace se abre un popup llamado ...
  #1 (permalink)  
Antiguo 22/09/2004, 00:14
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 3 meses
Puntos: 2
cerrar popup y redireccionar la ventana que genero el popup

hola amigos, tengo el siguiente problema tengo una pagina con un enlace llamada panel_usuario.php, al hacer click en el enlace se abre un popup llamado popup.php que contiene un formulario cuando lleno este formulario los datos son enviados a un scripts llamado procesar.php lo que quiero yo que cuando termine de procesar se cierre el popup.php y me direccione a otra pagina xxxx.php pero en lugar de panel_usuario.php osea la pagina que genero el popup. pongo parte del codigo que tengo en procesar.php

procesar.php
Código PHP:
<?
mysql_query
("INSERT INTO contactos (userid,username_contacto,mensaje,fecha,estado) VALUES ('$id','$de','$mensaje','$fecha2','$estado')") or die(mysql_error());
mysql_free_result();
mysql_close();
echo 
"<SCRIPT language='Javascript' type='text/javascript'>";
echo 
"window.opener.location.href='panel_usuario.php'";
echo 
"window.close()";
echo 
"</script>";
exit;
?>
el problema es que no se cierra el popup ni me direcciona la pagina "madre" que genero el popup

Desde ya muchas gracias
__________________
Lo que se hace por AMOR esta mas allá del BIEN y del MAL - Friedrich Nietzsche
http://www.hispanogeek.com.ar
Desarrollador IT -
  #2 (permalink)  
Antiguo 22/09/2004, 03:00
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 9 meses
Puntos: 0
A ver, en principio el código javascript es correcto, a ver prueba una cosa a ver si van por ahí los tiros.

Create una función entre <head> y </head> que se llame por ejemplo pop1
y mete el código que tenias hecho en ella, de esta manera:

<script language="javascript">
function pop1()
{
window.opener.location.href="panel_usuario.php";
window.close();
}
</script>

Ahora, despues de tu código php llamas a la función.

<?
mysql_query("INSERT INTO contactos (userid,username_contacto,mensaje,fecha,estado) VALUES ('$id','$de','$mensaje','$fecha2','$estado')") or die(mysql_error());
mysql_free_result();
mysql_close();
?>

<script>pop1()</script>

Prueba a ver que pasa, si no funciona fijate que error te da el javascript y ponlo aquí que intentaremos solucionar el problema. Pero en principio el código lo tienes bien.

Por cierto, no sé si este post es muy adecuado en este foro.. A ver que te dicen.
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #3 (permalink)  
Antiguo 22/09/2004, 03:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Primero tendrias que mirar si el codigo generado por PHP es un codigo javascript valido. Eso lo haces en tu navegador, "Ver codigo fuente". Si el codigo generado no es correcto, encuentra el codigo javascript correcto, y luego el codigo PHP que genera ese javascript.

En este caso concreto, tu script genera javascript incorrecto. ¿Por que? Mira lo que te genera:

<SCRIPT language='Javascript' type='text/javascript'>window.opener.location.href='panel_usu ario.php'window.close()</script>

Todo en una sola linea. Tendria que estar dandote errores de sintaxis javascript (lo que suele mostrar en la barra de estado, que puede que al ser un popup no estes viendo).

Solucion: usar ; en javascript y añadir los saltos de linea.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 18/06/2005, 17:28
 
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años
Puntos: 1
fmmeson, lo que puedes hacer es crear un link o en un boton de tu popup en la parte "onClick" asignar el siguiente codigo...

onclick="javascript:window.opener.location.href='p agina.php';window.close();"

ya lo he probado y funciona correctamente

saludos.
  #5 (permalink)  
Antiguo 18/06/2005, 17:36
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
lo más facil es crear una funcion

<script>
function redirec(url) {
oponer.location.href = url;
window.close();
}

Luego solo llamas a la funcion con redirec('pagina.php');

ej:
<a href="javacript:redirec('pagina.php');">cerrar x</a>

Y si lo haces con echo '';

<?php
echo '
<a href="javacript:redirec(\'pagina.php\');">cerrar x</a>
';
?>
__________________
I Love Programming...
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 02:00.