Foros del Web » Programando para Internet » Javascript »

Cerrar una sesión al cerrar un popup

Estas en el tema de Cerrar una sesión al cerrar un popup en el foro de Javascript en Foros del Web. Hola a todos! tengo una página que al loguearse un usuario se abre un popup con sus datos y archivos para bajar. Lo que quisiera ...
  #1 (permalink)  
Antiguo 02/10/2008, 12:54
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Cerrar una sesión al cerrar un popup

Hola a todos! tengo una página que al loguearse un usuario se abre un popup con sus datos y archivos para bajar. Lo que quisiera saber es cómo hacer para cerrar esa ventana por medio de un link y a su vez se cierre la seción y se refresque la página principal. ¿Se puede hacer?
O por lo menos cerrar el popup y que se cierre la sesion.

Muchas gracias y saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 02/10/2008, 13:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Cerrar una sesión al cerrar un popup

Tema trasladado a Javascript.

Recuerda que todo lo que tiene que ver con eventos del explorador es Javascript, no PHP.

Saludos.
  #3 (permalink)  
Antiguo 02/10/2008, 13:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: Cerrar una sesión al cerrar un popup

Lo del popup, si lo abres usando window.open puedes tomar su valor de retorno y cerrarlo usando el método close() de ese valor de retorno (el window en sí).

Lo de cerrar sesión ya depende de cómo está estructurado, si tienes un PHP para hacerlo solo necesitas apuntar hacia ella.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 02/10/2008, 13:42
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Cerrar una sesión al cerrar un popup

Gracias David por responder pero no entendí lo que me has dicho amigo...

Mi caso es así... en el popup tengo un link que dice <a href=logout.php>Presione AQUI para Salir</a>
El logout.php cierra la sesion y contiene lo siguiente:

<?
include('con.php');

session_destroy(); //destruimos la sesion
Header("Location: ../index.php");
?>

Desde mi index.php tengo este script:

<script language="JavaScript">
function abrirVentana() {
open("acc/accusuarios.php","miVentana", "toolbar=no,location=no,directories=no,status=no,m enubar=no,scrollbars=no,resizable=no,width=784,hei ght=356,top=470,left=234");
}
</script>

Si presiono en el link del popup, se cierra la sesion y en el mismo popuo se me abre el index.php.

Es acá donde no entendí... la forma de usar el close() para q cierre el popup y se cierre la sesion, o se actualice el index.php para q aparezca el formulario de ingreso nuevamente.

Gracias otra vez.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #5 (permalink)  
Antiguo 02/10/2008, 13:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: Cerrar una sesión al cerrar un popup

Ahora creo que entendí mejor, quieres cerrar el popup pero desde un link en el popup. Entonces solo usa window.close(), y para recargar la página principal opener.location.reload()
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 02/10/2008, 14:37
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Cerrar una sesión al cerrar un popup

David: pero si solo uso window.close() desde el link del popup... y nada mas... se cierra solo la ventana, ¿no? ¿Y la sesion se cierra tambien? Porque como te comenté antes, cuando presiono sobre el link, ahí sí se cierra la sesion.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #7 (permalink)  
Antiguo 03/10/2008, 08:49
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Cerrar una sesión al cerrar un popup

Hola gente! Hice esto al final y ahora cierra la sesion, cierra la ventana pero no se actualiza el index.

<a href="logout.php" onClick="opener.location.reload(true); window.close();">Presione AQUI para Salir</a>

¿Alguna sugerencia?

Porfa... y Gracias.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #8 (permalink)  
Antiguo 03/10/2008, 08:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Cerrar una sesión al cerrar un popup

Es que se actualiza, pero antes de que cierres la sesión ya que el código Javascript se ejecuta antes que el enlace. Una solución tal vez sería "decirle" a la ventana principal que se ha cerrado la sesión ya sea con un parámetro GET o modificando directamente su contenido.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 03/10/2008, 09:30
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
Respuesta: Cerrar una sesión al cerrar un popup

Perdona mi insistencia, pero no comprendo. A ver si me explico mejor...

1- En el index tengo el formulario hecho en php...
2- Si el usuario y pass son correctos, se loguea y aparece: Bienvenido XXX... entrar al sector privado.
3- Ese link ABRE el popup al presionarlo.
4- Se abre el popup y dentro del popup está el otro link que lo cierra.
5- Al cerrarse el popup, se cierra la sesion... pero todavía aparece el punto 2, como si no se hubiese cerrado la sesion.
6- Si presiono F5, ahí si vuelve todo a cero...

Acá está mi duda y comprendo que me dices q se refresca desde el lado del servidor... pero, se podría solucionar ese punto 6, que se refresque sin presionar F5? ¿se puede hacer de otra forma?

Gracias amigo por tu paciencia. saludos,.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #10 (permalink)  
Antiguo 03/10/2008, 10:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Cerrar una sesión al cerrar un popup

Sí, yo ya entendí lo que quieres hacer. Creo que más bien eres tú el que no ha entendido lo que yo quise decir .

Mira, al hacer click en el enlace se ejecuta primero el código Javascript que recarga la página principal (aún no se ha cerrado la sesión) y se cierra la ventana, luego se ejecuta el href que cierra la sesión (no me preguntes por qué se ejecuta si ya se cerró la ventana, no hice las pruebas ). Entonces, la solución que yo propuse es "decirle" a la ventana principal que se cerró la sesión aunque esta aún no ha sido cerrada pasándole un parámetro por GET o directamente modificando su contenido para que muestre nuevamente la pantalla de Iniciar Sesión. Otra opción sería poner un temporizador (setTimeout) que se ejecute por ejemplo, en 5 seg. y recargue la página principal.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 03/10/2008, 10:27
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 7 meses
Puntos: 122
Respuesta: Cerrar una sesión al cerrar un popup

Se la estas poniendo muy complicada. Lo mejor es lo siguiente:

<a href="logout.php">Presione AQUI para Salir</a>

Luego en el logout.php pones un mensajito o cualquier jalada de "gracias por visitarnos" o algo. También pones un time out digamos 5 segundos para que el usuario pueda leer el mensaje, al time out le pasas la función que cierra el pop up y recarga la pagina principal.

setTimeout(function(){opener.location.reload(true) ; window.close();}, 5000);

Al menos yo lo haría así y me evitaba problemas...
__________________
twitter: @imbuzu
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 23:41.