Foros del Web » Programando para Internet » PHP »

tiempo de expiración de una cookie

Estas en el tema de tiempo de expiración de una cookie en el foro de PHP en Foros del Web. Hola qtal, Estoy intentando hacer lo siguiente. Cuando un usuario lleve 10 minutos sin realizar ninguna acción dentro de una web, quiero que la aplicación ...
  #1 (permalink)  
Antiguo 13/05/2005, 05:16
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 15 años, 9 meses
Puntos: 0
tiempo de expiración de una cookie

Hola qtal,
Estoy intentando hacer lo siguiente. Cuando un usuario lleve 10 minutos sin realizar ninguna acción dentro de una web, quiero que la aplicación le lleve a una página de login y se tenga que volver a autentificar.
Para ello, he creado una cookie con setcookie() y le he dado un tiempo de expiración. Pasado ese tiempo, he comprobado que la aplicación (al pulsar un botón, por ejemplo) redirige al usuario a la página de login. El problema que tengo es que no se como hacer que si el usuario realiza alguna acción antes de esos 10 minutos, el tiempo de expiración de la cookie vuelva a ser de 10 minutos.
Alguien sabe como puedo hacerlo?
Gracias y saludos,
  #2 (permalink)  
Antiguo 13/05/2005, 05:23
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Sobreescribela.. vuelvele a dar el tiempo de 10 minutos así como lo hiciste la primera vez.

¿por qué no manejas un campo de una Base de Datos?.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 13/05/2005, 05:30
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 15 años, 9 meses
Puntos: 0
He intentado sobreescribirla pero aparentemente no ha funcionado.
pongo el código a ver si ves algo raro:

<?
if(!isset($cookie)){
// volver a logarse
}else{
// sobreescribir
setcookie("cookie",$valorCookie,time()+60);
}

Creo que esto está mal pq tengo entendido que sólo puedo crear la cookie antes de los tags <html> ...

puede ser por eso? O hay otra forma de "sobreescribirla"

gracias
  #4 (permalink)  
Antiguo 13/05/2005, 05:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por Albertron
tengo entendido que sólo puedo crear la cookie antes de los tags <html> ...
En efecto... vamos a www.php.net/setcookie y vemos:
Cita:
setcookie() define una cookie para ser enviada con el resto de la información de la cabecera. Las cookies deben enviarse antes de mandar cualquier otra cabecera (esta es una restricción de las cookies, no de PHP). Esto requiere que sitúe las llamadas a esta función antes de cualquier etiqueta <html> o <head>.
Comentanos resultados. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 17/05/2005, 09:10
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 15 años, 9 meses
Puntos: 0
Hola qtal de nuevo,

tengo un php llamado init_cookie.php con este código:

setcookie("my_cookie","x",time()-3600);
$valorCookie = "aaa";
setcookie("my_cookie",$valorCookie,time()+60);


este php lo llamo al cargar por primera vez la página (en el index.php), antes del <html> ...
y me crea la cookie.

lo que quiero, es que cada vez que llamo a otro php de mi aplicación, se mire si esta cookie ha expirado o no
para esto hago lo siguiente:

<?
if(!isset($my_cookie)){
logout
}else{
include de init_cookie.php
muestro el resto de código
}

?>

con esto pretendo que el tiempo de expiración de la cookie vuelva a ser el del inicio y esto lo hago en todas las
páginas de la aplicación.

Pues bien, no se porque pero no se me regenera la cookie.

Veis algo que pueda estar haciendo mal?

Saludos,
  #6 (permalink)  
Antiguo 17/05/2005, 17:50
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Leela con la variable superglobal $_COOKIE (ve la documentación oficial).

¿para qué escribes en la cookie dos veces de forma seguida???...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 12:37.