Foros del Web » Programando para Internet » PHP »

Sesiones que no tengan caducidad

Estas en el tema de Sesiones que no tengan caducidad en el foro de PHP en Foros del Web. Hay alguna forma de hacer que las sesiones no caduquen? o en todo caso cómo podría manejarse este tema. Gracias...
  #1 (permalink)  
Antiguo 14/12/2005, 17:30
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Sesiones que no tengan caducidad

Hay alguna forma de hacer que las sesiones no caduquen? o en todo caso cómo podría manejarse este tema.

Gracias
__________________
Gaby :adios:
  #2 (permalink)  
Antiguo 14/12/2005, 17:41
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 12 años, 2 meses
Puntos: 12
Pues, una sesion caduca por el simple hecho de cerrar tu navegador
para ke no caduke la sesion, se le puede llamar: "Utilizar una Cookie ke dure x dias"

  #3 (permalink)  
Antiguo 14/12/2005, 18:15
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Lo que pasa es que tengo una intranet que si lo dejo de utilizar durante unos 10 minutos pierde la sesión, podrías explicarme más detalladamente cómo podría manejar ésto?
__________________
Gaby :adios:
  #4 (permalink)  
Antiguo 15/12/2005, 03:39
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:
Pues, una sesion caduca por el simple hecho de cerrar tu navegador
Técnicamente es falso eso... Ese comportamiento sucede si se le da un tiempo de vida a la cookie de sesión de 0, es entonces cuando se interpreta "hasta que se cierre el navegador".

Cita:
Hay alguna forma de hacer que las sesiones no caduquen?
Cuál es el comportamiento exácto que buscas?.

Ya se dijo que puedes hacer que la sesión caduque hasta cuando se cierra el navegador; como quien dice "que no caduque" mientras se siga ocupando. Para asignarle un tiempo de vida de 0 puedes configurarlo desde el php.ini (por default) con la directiva session.cookie_lifetime ó dentro de tu script (si no tienes acceso al php.ini ó no quieres modificarlo) con la función session_set_cookie_params()

Código PHP:
<?php
session_set_cookie_params
(0);
session_start();

// resto de tu script
Si el comportamiento que buscas es que "no caduque" a pesar de que el navegador se cierre (la clásica opción de "recordarme") entonces debes guardar una cookie; se crea (antes de cualquier salida al navegador) mendiante la función setcookie() y la lees con $_COOKIE['tu_cookie']....

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 15/12/2005, 03:40
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 12 años, 4 meses
Puntos: 1
tendrías que aumentar el tiempo de las sesiones, o bien configurando el servidor web o bien con:

session.cache_expire especifica el tiempo-de-vida de las páginas de la sesión que se encuentran en el caché en minutos. No tiene efecto para el limitador nocache. Por defecto vale 180.


http://es.php.net/manual/es/ref.session.php

Un saludo.
__________________
www.pensandoenred.com
  #6 (permalink)  
Antiguo 15/12/2005, 08:19
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Entonces la cosa es con las cookies o con la session.cache_expire? Si es con la session.cache_expire, le debo aumentar el numero?
__________________
Gaby :adios:
  #7 (permalink)  
Antiguo 15/12/2005, 09:05
 
Fecha de Ingreso: diciembre-2005
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
gabyweb eso que preguntas se configura en la configuracion de apache. No se si se podra dejar una session para siempre (es un poco raro) pero alli es donde se configura cuando quieres que se borre la session etc
  #8 (permalink)  
Antiguo 15/12/2005, 13:01
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
sabes en qué parte?
__________________
Gaby :adios:
  #9 (permalink)  
Antiguo 15/12/2005, 13:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No es la configuración de "Apache" (que sería en el httpd.conf de este) sino en la configuración de PHP sobre sesiones: php.ini directivas session.xxxxx

Puedes ver todo esto detallado en la documentación oficial de PHP sobre sesiones:

www.php.net/session

Pero .. tendrías que revisar bien que es y para que se usa una sesión y para que propósitio quieres usar una sesión "que dure para siempre". Por qué en ese caso te viene mejor usar cookies o bien un hibrido entre ambos. (como hacen y usan estos foros para darte la opción de "recordar usuario".)

Un saludo,
  #10 (permalink)  
Antiguo 15/12/2005, 13:27
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Ahhh, ok lo revisaré, es que los usuarios quieren que si dejan su sistema con su sesion abierta que nunca se cierre, a pesar que session.cookie_lifetime = 0
__________________
Gaby :adios:
  #11 (permalink)  
Antiguo 16/12/2005, 06:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
gabyweb .. lo primero que hay que saber (y que yo por lo menos no sé como lo usas tu) es como propagas el SID en tu aplicación o como dejas a PHP que lo haga.

No puedes asumir que sólo la directiva "session.cookie_lifetime" es la que inteviene en la duración de la cookie que PHP envia al cliente con el SID si es que propagas el SID en cookies .. por qué justamente por eso mismo, tu podrías propagar el SID en el URL .. por ende ese dato no pintaría nada en este proceso.

A todo esto, si te fijas bien en la documentación de PHP al respecto .. el dato de cuanto dura una sesión lo define session.gc_maxlifetime principalemnte y luego se podrá ver afectado por la directiva que mencionas si es que propagas el SID en una cookie.

Por ende . .si tu quieres una sesión que dure mucho tiempo (NO infinito .. eso no existe pero si que puedes darle "años" como tiempo de expiración) define ese tiempo alto y si propagas el SID en cookies .. tambien aumenta el valor de esta más grande.

Un saludo,
  #12 (permalink)  
Antiguo 23/01/2006, 13:26
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Bueno ahora me han pedido que controle la caducidad del sistema. Es decir, después de 10 minutos debe aparecer un mensaje que indique : "Su sesión ha expirado..."

Cómo controlo eso?
__________________
Gaby :adios:
  #13 (permalink)  
Antiguo 23/01/2006, 13:50
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Seria bueno que nos dijeras si estas trabajando con sesiones o cookies...
  #14 (permalink)  
Antiguo 24/01/2006, 08:12
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 15 años, 11 meses
Puntos: 0
Estoy trabajando con sesiones
__________________
Gaby :adios:
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 02:17.