Foros del Web » Programando para Internet » PHP »

No me destruye la cookie

Estas en el tema de No me destruye la cookie en el foro de PHP en Foros del Web. Buenas, tengo un sistema de login, el cual funciona, salvo el logout... Para grabar la cookie hago: Código PHP: setcookie ( "msfds" ,  serialize (array( ...
  #1 (permalink)  
Antiguo 03/12/2010, 09:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 16 años, 2 meses
Puntos: 3
No me destruye la cookie

Buenas, tengo un sistema de login, el cual funciona, salvo el logout...

Para grabar la cookie hago:

Código PHP:
setcookie("msfds"serialize(array(stripslashes($_POST['login_data']['cEmail']), stripslashes($_POST['login_data']['cPass']))), time()+60*60*24*14); // Expire in 14 days 
Luego en logout.php:

Código PHP:
setcookie('msfds');
$_SESSION = array();
//redirect
header("Location: ".$root_path."index.php"); 
Todo parece ir bien, salvo que sigo pudiendo entrar al panel de usuario luego de hacer logout, para controlar si el user esta logueado hago:

Código PHP:
if (isset($_COOKIE['msfds'])) { 
pero la cookie sigue estando ahi, por eso puedo seguir entrando, que hago mal?
  #2 (permalink)  
Antiguo 03/12/2010, 09:53
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 13 años, 9 meses
Puntos: 96
Respuesta: No me destruye la cookie

Saludos

En teoría esta bien lo que estas haciendo!

1. Si imprimes la variable cookie despues de que haces el logout te aparece aun el valor?
2. Estas seguro que cuando entras al index no se crea nuevamente la cookie?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 03/12/2010, 09:58
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: No me destruye la cookie

Si me imprime la cookie, Array ( [msfds] =>... msfds es la cookie...mmm no estoy creandola nuevamente....solo lo hago en el form de logueo...no me falta mas nada para borrarla?...

haciendo esto:
Código PHP:
if (isset($_COOKIE['msfds'])) {
    print 
"si si";
} else {
    print 
"no no";

Me sale sisi!!, a pesar de haber hecho logout.
  #4 (permalink)  
Antiguo 03/12/2010, 10:11
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 15 años, 11 meses
Puntos: 89
Respuesta: No me destruye la cookie

Prueba el siguiente ejemplo tomado del manual de php.net

Código PHP:
Ver original
  1. // set the expiration date to one hour ago
  2. setcookie ("TestCookie", "", time() - 3600);
  3. setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 03/12/2010, 10:13
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 13 años, 9 meses
Puntos: 96
Respuesta: No me destruye la cookie

Saludos

O lo que podrías hacer para eliminar la cookie es indicar una fecha pasada
Código PHP:
Ver original
  1. <?php
  2. setcookie("msfds", "", time()-3600);
  3. ?>
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 03/12/2010, 11:22
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 10 años, 2 meses
Puntos: 44
Respuesta: No me destruye la cookie

prueba esta funcion:

unset($_COOKIE["cookie_id"]);

Etiquetas: cookie
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 23:04.