Foros del Web » Programando para Internet » PHP »

Matar Cookie

Estas en el tema de Matar Cookie en el foro de PHP en Foros del Web. Saludos Estoy creando unas sesiones con cookie de la siguiente manera: Código HTML: $valor_cookie = $_COOKIE["user"]; setcookie("user","$valor_cookie",time()-3600,"/"); setcookie("user","$valor_cookie",time()+31536000,"/"); Y cuando el usuario oprime un boton ...
  #1 (permalink)  
Antiguo 18/08/2004, 11:26
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Matar Cookie

Saludos

Estoy creando unas sesiones con cookie de la siguiente manera:

Código HTML:
$valor_cookie = $_COOKIE["user"];
setcookie("user","$valor_cookie",time()-3600,"/");
setcookie("user","$valor_cookie",time()+31536000,"/");
Y cuando el usuario oprime un boton mando hacer esto:

Código HTML:
unset($_COOKIE['user']);
session_destroy();

session_start(); 
$_SESSION['user'] = "Invitado!";
$_SESSION['tipo'] = "";
Parece funcionar bien.

El problema esta en que cuando cierro el navegador, y 2 dias despues lo abro, me muestra el último usuario logeado.

Cómo hago para que al cerrar el navegador se muera la sesion??

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #2 (permalink)  
Antiguo 18/08/2004, 17:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Justamente .. en:

$valor_cookie = $_COOKIE["user"];
setcookie("user","$valor_cookie",time()-3600,"/");
setcookie("user","$valor_cookie",time()+31536000,"/");

"matas" la cookie creada (que no "sesión") .. usando un tiempo de expiración en el "pasado" .. pero a continuación la vuelves a crear con un tiempo de expiración de batante tiempo .. QUITA ese último setcookie() ..

Un saludo,
  #3 (permalink)  
Antiguo 19/08/2004, 08:05
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Saludos.

Bien, resulta que como hay una opción de cambiar usuario a mitad de cualquier proceso, debo dejar el MATE del cookie antes de crear uno nuevo.

Lo que hice fue agregar la instrución antes de salirme:

Código HTML:
setcookie("user","$valor_cookie",time()-3600,"/");
session_start(); 
$_SESSION['user'] = "Invitado!";
$_SESSION['tipo'] = "";
Ahora esto lo que me resuelve es que cuando la gente oprime CERRAR SESION y luego otro dia vuelve a entrar, el navegador no reconoce al último usuario logeado.

Pero si cierran el navegador sin cerrar la sesión, el navegador lo reconocera cuando regrese.

Eso es lo que quiero quitar, será que le bajo el tiempo de vida al cookie??

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #4 (permalink)  
Antiguo 19/08/2004, 09:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. así funciona las cookies.

Si tu defines una cookie con X tiempo de expiración .. durará ese tiempo.

Tus cookies sólo debes "matarlas" cuando el usuario ya no quiera usar la opción de "recordar contraseña" .. Es decir .. su "logout" tipoco (salir) de tu apliación no debería "tocar" para nada tu actual cookie .. sólo cuando desde su panel de control de ese usuario eliga tu opción "no usar recordar contraseña" será cuando mates (forzosamente) esa cookie .. mientras tanto deja que expire el tiempo de la cookie que definistes.

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 16:42.