Foros del Web » Programando para Internet » PHP »

logout

Estas en el tema de logout en el foro de PHP en Foros del Web. Hola a todos tengo una duda, espero me puedan orientar Código PHP: <?php  session_start (); $_SESSION  = array(); session_destroy (); header (  "Location: index.php"  );   ?> Con ...
  #1 (permalink)  
Antiguo 29/11/2019, 17:23
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
logout

Hola a todos tengo una duda, espero me puedan orientar
Código PHP:
<?php 
session_start
();
$_SESSION = array();
session_destroy();

header"Location: index.php" );  

?>
Con el código anterior cierro sesión en mi web todo bien , pero resulta que tengo dos proyectos en la web ejemplo A y B

inicio sesión en A y navego, para iniciar en B debo loguerme también hasta aca todo bien pero si cierro sesión en A en automático cierra también en B... esto no debería ocurrir ya que A y B son independientes aunque trabajan sobre la misma BBDD, que debería considerar en este caso?

desde ya gracias
  #2 (permalink)  
Antiguo 29/11/2019, 20:41
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: logout

Cita:
Iniciado por Briss Ver Mensaje
Hola a todos tengo una duda, espero me puedan orientar
Código PHP:
<?php 
session_start
();
$_SESSION = array();
session_destroy();

header"Location: index.php" );  

?>
Con el código anterior cierro sesión en mi web todo bien , pero resulta que tengo dos proyectos en la web ejemplo A y B

inicio sesión en A y navego, para iniciar en B debo loguerme también hasta aca todo bien pero si cierro sesión en A en automático cierra también en B... esto no debería ocurrir ya que A y B son independientes aunque trabajan sobre la misma BBDD, que debería considerar en este caso?

desde ya gracias
si A y B estan en el mismo DOMINIO

http//dominio.com/A
y el otro en http//dominio.com/B

La session que usas en PHP crea una COOKIE de SESSION con ID unico , y esta COOKIE tiene como RUTA todo el DOMINIO,

tienes 2 opciones para solventarlo, que en tu SESSION , independices las Variables tanto para A como B me refiero a
$_SESSION['A'] = array("usuario"=>123545); //etc

o como alternativa

pongas parametros a la COOKIE de session tanto para A como para B


session_set_cookie_params(0, '/A', '.dominio.com');
session_start();

y para iniciar session en los proyectos de B

session_set_cookie_params(0, '/B', '.dominio.com');
session_start();
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 30/11/2019, 21: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: logout

Otra cosa que puedes intentar es asignar nombre de sesión para cada proyecto y no es tan difícil porque, en teoría, solo inicializas sesión una vez.

Código PHP:
Ver original
  1. // Sitio A
  2. session_name('sitio_A');
  3.  
  4. // Sitio B
  5. session_name('sitio_B');

Así es como puedo trabajar múltiples proyectos en localhost en diferentes carpetas, sin tener que crear hosts virtuales.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 05/12/2019, 17:18
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: logout

Gracias por su tiempo chicos
  #5 (permalink)  
Antiguo 10/12/2019, 12:45
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Sonrisa Respuesta: logout

Se me ocurre que puedas distinguir las bariables

<?php
session_start();
$_SESSION[1][a] = array();
$_SESSION[2][b] = array();
session_destroy();

header( "Location: index.php" );
?>
__________________
Ing. Emilio Viguri de NEXCEN Visitamos en lo que podamos ayudarte.

Etiquetas: logout
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 09:35.