Foros del Web » Programando para Internet » PHP »

Logout para Cookies y sesiones

Estas en el tema de Logout para Cookies y sesiones en el foro de PHP en Foros del Web. Hola, tengo una página en php con sistema de registro de usuarios mediante sesiones y cookies. Para borrar las cookies y las sesiones incializo la ...
  #1 (permalink)  
Antiguo 28/07/2004, 13:23
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 8 meses
Puntos: 0
Logout para Cookies y sesiones

Hola, tengo una página en php con sistema de registro de usuarios mediante sesiones y cookies.
Para borrar las cookies y las sesiones incializo la misma página pero con el valor de salir igual a ok.
Código PHP:
if ($salir == "ok"){
setcookie('login2'$borrar, (time()-2592000), '/'''0); 
session_unset(); 
session_destroy(); 
El problema es que necesito entrar dos veces en la página del código para borrar las cookies y las sesiones. En la primera carga borra la cookie y en la segunda la cookie de la sesión.
¿Por qué no borra las dos a la vez?

Muchas gracias. A sus pieses
  #2 (permalink)  
Antiguo 28/07/2004, 15:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con respecto a las sesiones ..

¿usas session_start() antes de esos session_xxx() que destruyen la sesión?

Con respecto a las cookies... borrar una cookie (su valor) tan sólo tendrías que hacer algo tipo:

setcookie('login2', '', (time()-2592000), '/', '', 0);


Y .. por lo demás recuerda que las cookies/sesiones no quedarán disponibles (sus nuevos valores o comprobaciones que hagas) hasta la próxima recarga de página que hagas o petición en general de nueva página .. Por ende, sería recomendable que al hacer tus setcookie() y destruir las sesiones .. redirecciones hacia otra página (aunque sea a si misma) para que queden disponibles los nuevos valores o cambios realizados a tus cookies/sesiones.Podrías usar:

header ("Location: pagina.tal");
exit;

para dicho redireccionamiento (automático).

Un saludo,
  #3 (permalink)  
Antiguo 28/07/2004, 15:35
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 8 meses
Puntos: 0
Pues sí, tengo justo antes del if un session_start. No debería?
  #4 (permalink)  
Antiguo 28/07/2004, 15:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para el uso de sesiones .. debe estar. Pero en conjunto con cabeceras que envia las cookies al cliente .. mm no sé como se comportará .. En tal caso pondría el setcookie() bajo la última instrucción de tu session_xx() ..

Un saludo,
  #5 (permalink)  
Antiguo 28/07/2004, 16:00
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 8 meses
Puntos: 0
Pero bajo q instrucción session_xxx pongo el setcookie, es que ya he probado todas las combinaciones y no lo consigo :(
  #6 (permalink)  
Antiguo 28/07/2004, 16:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bajo session_destroy(); que ahí usas.

Un saludo,
  #7 (permalink)  
Antiguo 28/07/2004, 16:30
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 8 meses
Puntos: 0
Pero ya probé y aun así tengo que recargar dos veces la pagina para que me borre las dos cookies.
  #8 (permalink)  
Antiguo 29/07/2004, 07:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno ..ya te comenté que al menos una recarga de página es necesario (o que al hacer tu logout .. redirecciones a otra parte). Las cookies y sesiones NO quedarán disponibles su nuevos valores hasta una próxima petición al servidor.

Un saludo,
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 17:19.