En este grupo En todos

Foro de PHP



destruir sesion

Escrito por Jisla
el 05/12/2005

Ayuda... Necesito saber como destruir una sesion en PHP (logout), ya he utilizado session_destroy() y session_unset() pero no me eliminan el session_id(), solo lo puedo eliminarlo cuando cierro el navegador, ya que si por ejemplo hago un BACK me devuelve las credenciales del usuario que se encontraba activo.



Luis Enrique Garcia
Ingeniería de sistemas unad colombia
Escrito por Luis Enrique Garcia
el 06/12/2005

Bueno, al respecto puedo decirte lo siguiente:

Primero que todo aclaremos que session_destroy() elimina todos los datos asociados a una sesión, pero no se elimina la cookie que contiene el identificador de sesion en el cliente, lo que quiere decir que si se realiza una nueva peticion al servidor, este incorpora dicho identificador.

Por lo anterior se debe eliminar la cookie que mantiene el dentificador así:

1. Se elimina los datos registrados en la sesión:

Session_destroy();

2. Se elimina la cookie que mantiene el identificador, para esto se envia una cookie:

$parametros_cookies = session_get_cookie_params();
setcookie(session_name(),0,1,$parametros_cookies["path"]);

Donde:

Session_get_cookie_params: Devuelve la información sobre los parámetros de configuración de las cookies empleadas para guardar el identificador de sesión.

y


Setcookie(), tiene la siguiente estructura:
Setcookie(nombre,valor,fecha expiracion,path)
- nombre: Será el mismo que tiene la variable de sesión devuelto por session_name()
- valor: sirve cualquiera, puede ser 0
- Fecha: Debe ser una fecha anterior a la actual, puede ser 1.
- path: Contiene el valor por defecto de la cookie, utilizado en la gestion de sesion (gestion de sesion? Esto es otro cuento, son directivas predefinidas en php. Ini) Este valor se obtiene con: session_get_cookie_params();

Espero que te pueda servir...


Escrito por Lydia
el 27/06/2006

Hola amigos. No consigo destgruir las sessiones que se genern en mi web.

No utilizo cookies.

He probado con session_destroy();

Os adjunto mi codigo php a ver si podeis ayudarme.

Por si quereis exarle un vistaciyo a la pagina https://www.lydieta.es

Gracias



Ficheros adjuntos:
fin pedido
Escrito por Sebastian
el 02/01/2007
Hola A todos, tengo un problema con las sesiones en PHP, Uso session_start(); para iniciar la session, luego en el LOGOFF, utilizo $_SESSION = array(); y session_destroy(); y un header(location) para volver al index, pero si le doy al boton "atras" vuelve a mostrarme la pagina con los datos ($_SESSION[variable]) como que no las destruye, ni cierra la session, el tema es que cuando den "atras" le diga "NO HAS INICIADO SESION" , si pueden ayudarme estaré muy agradecido, GRACIAS!
Escrito por Nicolas
el 05/01/2007

Intentaste con alguna condicion que verificara q estuviera seteada la variable de sesion... Tipo

If(isset($_SESSION['variable']))

{

.... Valido....

}

Else

{

Header('index. Htm') // pagina donde logeas

}


Esto en la pag q destruye las variables, cosa de verificar primero si existe y luego si existe destruirla, por lo q al volver la variable estara destruida y no pasara la condicion, por lo q sera redirigida a un index.

Podrias darle un parametro al index para q te anuncie del problema de logeo o un echo q te diga q tienes q logearte.

Ojala te sirva suerte!

Escrito por Sebastian
el 06/01/2007
Muchas Gracias Nicolas, me ha sido de gran ayuda ya que no me daba cuenta que no estaba validando las paginas correspondientes a la sesion, en serio GRACIAS!
Escrito por Rol
el 02/11/2007

Bueno se que Legg puso esta informacion en el 2005 , pero ahora (nov 2007) le agradezco a Legg

Por haber puesto el codigo que me funciono a la hora de hacer LOGOUT, ahora si puedo vender mi producto ;)

Gracias Legg ;)

Escrito por Juan
el 28/04/2008
"Hola amigos. No consigo destgruir las sessiones que se genern en mi web.
No utilizo cookies.
He probado con session_destroy();
Os adjunto mi codigo php a ver si podeis ayudarme.
Por si quereis exarle un vistaciyo a la pagina https://www.lydieta.es
Gracias
Fin_pedido. Txt
Tamaño: 3636
Tipo: text/plain
 
"

por lydia (Junio 2006)



<?
session_start();
session_destroy();
? >

Eso es todo

Núria Turmo Bordas
Barcelona, España
Escrito por Núria Turmo Bordas
el 28/12/2008
Muchas gracias Legg, compré un curso en php y con las indicaciones que da no funciona... Hay que ver! Por cierto alguien sabe de cursos online de php avanzado y no muy caros?
Victor Villagran
Santiago, Chile
Escrito por Victor Villagran
el 18/05/2010

Hola espero q' esten bien, bueno tambien tengo el mismo problema del primer usuario de este foro, no me elimina la sesion ya q' cuando hago atras vuelve a la pagina logeada y aparte todo me dicen q' el programa debe tener session_name(), pero no entiendo la logica de este comando y por mas informacion q' leo, no comprendo para q' sirve.

Esta es mi logica:


<? Php
session_start();
$_SESSION = array();
session_destroy();
header("Location: pagina del sitio");
? >