Foros del Web » Programando para Internet » PHP »

Cerrar sesion sin destruir la otra

Estas en el tema de Cerrar sesion sin destruir la otra en el foro de PHP en Foros del Web. Hola amigos! Necesito hacerle una consulta en la cual me estoy volviendo loco. Tengo un problema con el cerrar de sesiones, es decir, tengo dos ...
  #1 (permalink)  
Antiguo 10/07/2016, 17:20
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 12 años, 5 meses
Puntos: 9
Cerrar sesion sin destruir la otra

Hola amigos!
Necesito hacerle una consulta en la cual me estoy volviendo loco. Tengo un problema con el cerrar de sesiones, es decir, tengo dos paneles de control 1) El panel de la web, sistema casero, 2) El panel del chat de atencion al cliente, con tabla de usuario distinta que a la web, por ej, en la web tengo la tabla usuarios y el chat lee la tabla usuarioschat, ambas estan dentro de la misma base de datos.

Bien, despues de explicar vamos al problema.
Cuando cierro el panel de control de la web, automaticamente me cierra el panel de chat.

¿Como puedo hacer para destruir sesiones por separado?, es decir si cierro el panel de la web que me cierre ese solo y no tambien el chat.

La funcion que uso es esta.
Código PHP:
Ver original
  1. public static function logout() {
  2.         $_SESSION = array();
  3.         session_unset();
  4.         session_destroy();
  5.  
  6.         header("Location: index.php");
  7.         exit;
  8.     }

Gracias.

Última edición por el_loco90; 10/07/2016 a las 17:23 Razón: Error
  #2 (permalink)  
Antiguo 10/07/2016, 17:32
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Cerrar sesion sin destruir la otra

cuando creas las sessiones le pones nombre
por ejemplo:
$_SESSION["PANEL"]["A"]="?";
$_SESSION["PANEL"]["B"]="?";
$_SESSION["PANEL"]["C"]="?";

$_SESSION["CHAT"]["A"]="?";
$_SESSION["CHAT"]["B"]="?";
$_SESSION["CHAT"]["C"]="?";

cuando cerras la session solo eliminas lo que no necesitas:
unset($_SESSION["PANEL"]);

y la session del chat sigue 'viva' $_SESSION["CHAT"]
  #3 (permalink)  
Antiguo 10/07/2016, 17:38
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 9 meses
Puntos: 171
Respuesta: Cerrar sesion sin destruir la otra

En otras palabras lo que te estan diciendo es que no ocupes session_destroy(); hasta que de verdad quieras salir de toooodoooo el sistema y que seguro usas la misma variable de sesion para ambos lados...

puedes hacer una comprobacion antes de cerrar sesion en cualquiera de los sistemas, si.. sesion chat y sesion panel existen, entonces cerrar solo la seleccionada(de donde estas cerrando sesion) con unset($_SESSION['SELECCION']), sino, ocupar el session_destroy(); ya que solo existe a 1 lado y queremos salir del todo.
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #4 (permalink)  
Antiguo 10/07/2016, 17:59
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 4 meses
Puntos: 52
Respuesta: Cerrar sesion sin destruir la otra

Asi es, con solo la variable compruebas si existe aun activa, entonces sabras si es chat o panel
Yo por otro lado tengo otra duda..
siempre para comprobar una sesion haces esto
Código PHP:
Ver original
  1. if(isset($_SESSION['variable'])){
  2.  
  3. }
el caso es que la sesion ha sido iniciada aunque haya creado variables aun, y google analytics imagino que las detecta por que me muestra numero de sesiones.

¿como evitar esto?
a caso cada vez que haga session_start() debo de incluir un else?

Código PHP:
Ver original
  1. if(isset($_SESSION['variable'])){
  2.  
  3. }else{
  4. }
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #5 (permalink)  
Antiguo 10/07/2016, 19:08
 
Fecha de Ingreso: julio-2012
Mensajes: 234
Antigüedad: 12 años, 5 meses
Puntos: 9
Respuesta: Cerrar sesion sin destruir la otra

Gracias por la ayuda

Etiquetas: cerrar, destruir, tabla, usuarios
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:00.