Foros del Web » Programando para Internet » PHP »

cerrar pestaña firefox, no finaliza sesion

Estas en el tema de cerrar pestaña firefox, no finaliza sesion en el foro de PHP en Foros del Web. hola como estan? tengo el siguiente problema... al cerrar la pestaña de firefox, no me cierra sesion al cerrar navegador firefox sin cerrar pestaña, no ...
  #1 (permalink)  
Antiguo 13/08/2009, 11:18
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Exclamación cerrar pestaña firefox, no finaliza sesion

hola como estan? tengo el siguiente problema...

al cerrar la pestaña de firefox, no me cierra sesion
al cerrar navegador firefox sin cerrar pestaña, no me cierra sesion
al cerrar pestaña y navegador, si me cierra sesion
....
mi pregunta es como hago para cerrar la sesion cuando cierre la pestaña, o si deja la pestaña abierta como le cierro la sesion al finalizar el navegador firefox ?


o por lo menos si dejan la pestaña abierta... como hago para cerrar sesion al cerrar el navegador (con la pestaña abierta) ¿

ayuda por favor !! se los agradezco de antemano

Última edición por ricardoernes; 13/08/2009 a las 11:26
  #2 (permalink)  
Antiguo 13/08/2009, 12:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

No puedes modificar desde PHP el comportamiento del navegador; en Firefox (y otros navegadores) puedes elegir lo que hara al volver a abrirlo: Abrir solo la pagina de inicio o restaurar todas las pestañas que estaban abiertas, con todo y sesiones.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/08/2009, 12:27
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: cerrar pestaña firefox, no finaliza sesion

Cita:
Iniciado por Triby Ver Mensaje
No puedes modificar desde PHP el comportamiento del navegador; en Firefox (y otros navegadores) puedes elegir lo que hara al volver a abrirlo: Abrir solo la pagina de inicio o restaurar todas las pestañas que estaban abiertas, con todo y sesiones.
osea que la sesion quedara abierta si el usuario no cierra la pestaña ?


<script type="text/javascript">
window.onbeforeunload = function(){
session_destroy(); window.close();
}
</script>


<body onUnload="function()">

ese codigo servira de algo ?

Última edición por ricardoernes; 13/08/2009 a las 12:35
  #4 (permalink)  
Antiguo 13/08/2009, 12:36
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: cerrar pestaña firefox, no finaliza sesion

Buenas,

Desde luego, ya que eso depende de la configuración del navegador.
Lo único que puedes hacer es darle un tiempo a esa session y hacer que pasados X minutos se destuya,

Saludos,

PD: Ademas, no tiene mucho sentido, ya que cualquier usuario tiene que sentirse libre y decidir de que manera expira su sesión. Yo por ejemplo tengo configurado de que al cerrarse se expiren...
  #5 (permalink)  
Antiguo 13/08/2009, 12:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

ricardoernes ese javascript funcionaria solamente si el usuario cierra la pestaña... no es una solucion.

Edito:

Dentro de un javascript no puedes destruir la sesion, a menos que ejecutes desde ahi un PHP, necesitarias AJAX. De cualquier forma, si el usuario no cierra la pestaña no se activara onunload().

onbeforeunload() - No conocia esta funcion, existe?
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 13/08/2009, 12:42
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta

Cita:
Iniciado por Triby Ver Mensaje
ricardoernes ese javascript funcionaria solamente si el usuario cierra la pestaña... no es una solucion.

Edito:

Dentro de un javascript no puedes destruir la sesion, a menos que ejecutes desde ahi un PHP, necesitarias AJAX. De cualquier forma, si el usuario no cierra la pestaña no se activara onunload().

onbeforeunload() - No conocia esta funcion, existe?
lo trabajare de dos formas... de ese modo que teacabo de mostrar... y on un boton llamado "SALIR" y le incluire el cerrar sesion.. o que opinas? que hago ?

Cita:
Iniciado por Triby Ver Mensaje
ricardoernes ese javascript funcionaria solamente si el usuario cierra la pestaña... no es una solucion.

Edito:

Dentro de un javascript no puedes destruir la sesion, a menos que ejecutes desde ahi un PHP, necesitarias AJAX. De cualquier forma, si el usuario no cierra la pestaña no se activara onunload().

onbeforeunload() - No conocia esta funcion, existe?
si existe, en otros foros la citan, lo que pasa que sincerament no entiendo mucho que se diga... esto me enreda... que me acoñsejas que haga, lo que quiero es que caundo el usuario cierre la pestaña se cirre la sesion....

Cita:
Iniciado por DeFFeR Ver Mensaje
Lo único que puedes hacer es darle un tiempo a esa session y hacer que pasados X minutos se destuya,
el tiempo se lo doy en el mismo php ? despues de cerrado o q ?¿

Última edición por GatorV; 13/08/2009 a las 21:45
  #7 (permalink)  
Antiguo 13/08/2009, 13:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

La sugerencia de DeFFeR imagino que es acerca de uso de sesiones en lugar de cookies; mas info en el manual de PHP para Sesiones.

DEFINITIVAMENTE, tienes que agregar un boton o enlace para finalizar sesion, independientemente de que encuentres o no una solucion para cuando se cierra el navegador.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 13/08/2009, 13:18
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Cita:
Iniciado por Triby Ver Mensaje
La sugerencia de DeFFeR imagino que es acerca de uso de sesiones en lugar de cookies; mas info en el manual de PHP para Sesiones.

DEFINITIVAMENTE, tienes que agregar un boton o enlace para finalizar sesion, independientemente de que encuentres o no una solucion para cuando se cierra el navegador.
yo no uso cookies, uso $_SESSION unicamnt

Cita:
Iniciado por Triby Ver Mensaje
La sugerencia de DeFFeR imagino que es acerca de uso de sesiones en lugar de cookies; mas info en el manual de PHP para Sesiones.

DEFINITIVAMENTE, tienes que agregar un boton o enlace para finalizar sesion, independientemente de que encuentres o no una solucion para cuando se cierra el navegador.
como lo haria con el boton ? llamando a un php que tenga esto :

<?
session_start();
session_destroy();
header("Location: http://localhost/Index.php");
?>



el boton salir estara en cada pagina... como hago para desde el boton llamar a eso? incluyo un script de confirm y si le da si que lo envie para el index en este caso? como haria?

Última edición por GatorV; 13/08/2009 a las 21:46
  #9 (permalink)  
Antiguo 13/08/2009, 13:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

Código html:
Ver original
  1. <a href="logout.php" onclick="return confirm('Deseas finalizar sesion?');">Finalizar sesion</a>

Las tres lineas que pusiste estan perfectas para logout.php

Edito: Por favor no agregues respuestas continuas, si te falto agregar algo usa el boton Editar, esto facilitara la lectura del tema para todos.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 13/08/2009, 14:11
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: cerrar pestaña firefox, no finaliza sesion

Cita:
Iniciado por Triby Ver Mensaje
Código html:
Ver original
  1. <a href="logout.php" onclick="return confirm('Deseas finalizar sesion?');">Finalizar sesion</a>

Las tres lineas que pusiste estan perfectas para logout.php

Edito: Por favor no agregues respuestas continuas, si te falto agregar algo usa el boton Editar, esto facilitara la lectura del tema para todos.
para la proxima si falto una interrogant por señalar edito la anterior, disculpa y gracias por la acotacion



el confirm no supe como agregarselo... lo hice de la siguiente forma...


cree un archivo con este contenido

cerrarSesion.php

Código PHP:
<?php
session_start
();
session_destroy();
header('Location:../indexClebm.php');
exit;
?>
y en el boton coloque esto

Código PHP:
<td>
<
img src="images/Salir.png"  alt="Salir" name="logout" align="middle" border="0" onClick="location.href='php/cierreSesion.php';"/>
<
br />&nbsp;Salir</a>
</
td

si me puede ayudar a colocarle el confirm a eso que tengo se los agradezco muchisimo... gracias
  #11 (permalink)  
Antiguo 13/08/2009, 14:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

Solo copia el onclick que te puse de ejemplo y reemplazalo por el que tienes, no lo he probado, pero debe funcionar.

Nota: onClick con mayusculas puede no funcionar en algunos navegadores, todos los atributos (y/o eventos) dentro de etiquetas deben teclearse solo con minusculas.
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 13/08/2009, 15:15
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: cerrar pestaña firefox, no finaliza sesion

Cita:
Iniciado por Triby Ver Mensaje
Solo copia el onclick que te puse de ejemplo y reemplazalo por el que tienes, no lo he probado, pero debe funcionar.

Nota: onClick con mayusculas puede no funcionar en algunos navegadores, todos los atributos (y/o eventos) dentro de etiquetas deben teclearse solo con minusculas.
muy buena acotación mi pana no sabia eso de los eventos en minuscula de verdad gracias !!!...

ahora bien ya coloque esto

Código PHP:
<img src="images/cancel_f2.png"  alt="Salir" name="logout" align="middle" border="0" onclick="return confirm('Deseas finalizar sesion?');"/> 
pero ahora donde voy a trabajar con lo que me devuelve ese confim? ahi si estoy en balnco....
  #13 (permalink)  
Antiguo 13/08/2009, 15:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cerrar pestaña firefox, no finaliza sesion

Cierto, ese confirm es para un href, sorry

Cita:
onclick="if(confirm('Deseas finalizar sesion?') { location.href='logout.php'; }"
Podria funcionar, si no, habra que recurrir a los amigos de Javascript
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 13/08/2009, 15:48
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Pregunta Respuesta: cerrar pestaña firefox, no finaliza sesion

Cita:
Iniciado por Triby Ver Mensaje
Cierto, ese confirm es para un href, sorry



Podria funcionar, si no, habra que recurrir a los amigos de Javascript

lo coloque asi


Código PHP:
href="php/cierreSesion.php" onclick="return confirm('Deseas finalizar sesion?');" 
gracias sinceramente por tu apoyo... la ventana esa del confirm es fea... nose ni como cambiarle el título, peor me imagino que para cambiarle el titulo tengo que buscarle problema a JS... y prefiero dajarlo trankilo... jejeje.... gracias... si queda tiempo vere como al transformo a mejor apariencia, en fin, gracias por la ayuda, sirvo muchisimo


ahora solo me faltaria la parte de

cerrar pestaña firefox, no finaliza sesion... que es en sí de lo que trataba el post... jeje
el código que tengo hasta los momentos es:

Código PHP:
<script type="text/javascript">
    
window.onbeforeunload = function(){
    
session_unset();  window.close();
     }
</script>


    <body id="wrapper" onunload="function()"> 

y como ya saben lo dije al inciio del post solo me funciona correctament si cierro la pestaña y el navegador, sino no

Última edición por ricardoernes; 13/08/2009 a las 19:15
  #15 (permalink)  
Antiguo 13/08/2009, 21:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: cerrar pestaña firefox, no finaliza sesion

session_unset()? Esa función es de PHP, a menos que hayas creado una función que haga lo mismo no puedes llamarla desde Javascript.

No hay forma en la actualidad de detectar si se cierra una pestaña o todo el browser desde Javascript mas que esa función de unload, aunque no distingue si es pestaña o todo el navegador, por lo que no puedes hacer una llamada a un PHP desde ahí.

Lo mejor que puedes hacer en ese caso es modificar el php.ini y poner la caducidad de la cookie de sesión en 0 para que esta se borre al cerrar el navegador.

Saludos.
  #16 (permalink)  
Antiguo 14/08/2009, 10:48
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: cerrar pestaña firefox, no finaliza sesion

Cita:
Iniciado por GatorV Ver Mensaje
session_unset()? Esa función es de PHP, a menos que hayas creado una función que haga lo mismo no puedes llamarla desde Javascript.

No hay forma en la actualidad de detectar si se cierra una pestaña o todo el browser desde Javascript mas que esa función de unload, aunque no distingue si es pestaña o todo el navegador, por lo que no puedes hacer una llamada a un PHP desde ahí.

Lo mejor que puedes hacer en ese caso es modificar el php.ini y poner la caducidad de la cookie de sesión en 0 para que esta se borre al cerrar el navegador.

Saludos.
ok lo tendre en cuenta
Código PHP:
<script type="text/javascript">
    
window.onbeforeunload = function(){
    
session_unset();  window.close();
     }
</script>


    <body id="wrapper" onunload="function()"> 
ya eliminare eso de mi cod, gracias por la acotacion
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 08:41.