Foros del Web » Programando para Internet » PHP »

Problemas con destruir sesiones

Estas en el tema de Problemas con destruir sesiones en el foro de PHP en Foros del Web. Tengo un problema con la destruccion de sesiones, ya que cuando la quiero eliminar no la elimina y vuelvo a validar la pagina (con un ...
  #1 (permalink)  
Antiguo 16/08/2002, 00:06
 
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 0
Problemas con destruir sesiones

Tengo un problema con la destruccion de sesiones, ya que cuando la quiero eliminar no la elimina y vuelvo a validar la pagina (con un usuario y contraseña) y me crea otra, sin haber eliminado la otra.

El problema es que si escribo letras basura(kashdajs) o algo asi, toma la sesion antes validada y entra en la pagina.

Habia leido que con la sesion se crea tambien una cookie, y me gustaria saber como las elimino..

mas o menos lo manejo asi:
Código:
  
session_name("pagina");
session_start();
$_SESSION['user']=$user;
$_SESSION['pass']=$pass;
En la pagina donde se supone se debe checar la validacion lo manejo asi:
Código:
if(!isset($_SESSION['user']) && !isset($_SESSION['pass']))
{
  session_start();
  session_destroy();
  die("debes validarte");
  exit();
}
Alguna sugerencia o error que me vean por alli...

Senso
<hr>
Vivir para ser libres y bailar ska para ser felices.
  #2 (permalink)  
Antiguo 16/08/2002, 01:10
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: Problemas con destruir sesiones

El problema estas en la forma en que destruyes la sesion, cuando estas usando los arreglos asociativo $_SESSION elminas la sesion usando unset como cualquier otra variable en tu caso seria:
Código:
  
unset($_SESSION['user']);
unset($_SESSION['pass']);
Saludos!.
Mty. NL.
  #3 (permalink)  
Antiguo 16/08/2002, 03:41
Avatar de Necros  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 431
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Problemas con destruir sesiones


if(!isset($_SESSION['user']) &amp;&amp; !isset($_SESSION['pass']))
{
session_start();
session_destroy();
die(&quot;debes validarte&quot;);
exit();
}

Yo por lo que veo es que recurres a la existencia de ciertas variables de Session sin haberla instanciado antes...
Lo ideal es instanciar session_start();
y despues consultar $_SESSION['']...
Almenos de esa forma he observado que todo es correcto...



By NeCrOS
http://www.necros.com

FrEe WoRlD is FrEE CoDE
-----------------------
  #4 (permalink)  
Antiguo 16/08/2002, 09:08
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: Problemas con destruir sesiones

hmmm.. Necros se me olvido mencionar en mi primer mensaje que despues del unset uses la funcion session_destroy() para eliminar la informacion relacionada a la sesion.

Saludos!.
Mty. NL.
  #5 (permalink)  
Antiguo 16/08/2002, 10:55
 
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 0
Re: Problemas con destruir sesiones

Osea que la manera de eliminar la sesion es asi:
Código:
 
session_start();
unset($_SESION['user'];
unset($_SESSION['pass'];
session_destroy();
Pero y el cookie que se crea junto con la sesion, ¿ese es importante eliminarlo o no?

Senso
<hr>
Vivir para ser libres y bailar ska para ser felices.
  #6 (permalink)  
Antiguo 16/08/2002, 11:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Problemas con destruir sesiones

mmm

yo hago:
session_start();
unset(); // igual me equivoco pero asi borra todas las variables de la session en curso (porsupuesto si hay mas varibales que usamos .. no deberiamos usar este metodo .. pero aqui hablamos de destruir la session entera).
session_destroy();

Por lo demas .. la cookie (si usas ese metodo de propagacion) .. en principio da igual q este o no despues de una accion de session_destroy() .. entre otras cosas porque ahí en esa cookie se almacena el SID (id de session Unico) .. asi q si interara retomar la session por esa cookie .. en el servido ya no estaria esa relacion entre los datos de la session y ese SID.

La cookie que crea el usar como metodo de propagacion del SID en sessiones tiene su directiva de configuracion en tu php.ini que define el tiempo de expiracion de la misma:

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

Un saludo,
  #7 (permalink)  
Antiguo 16/08/2002, 14:25
 
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 6 meses
Puntos: 0
Re: Problemas con destruir sesiones

Muchas gracias a todos por los tips, creo que ya no tengo problemas con la session.

Un saludo ...

Senso
<hr>
Vivir para ser libres y bailar ska para ser felices.
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 18:03.