Foros del Web » Programando para Internet » PHP »

No cerrar sesiones a no ser que se solicite.

Estas en el tema de No cerrar sesiones a no ser que se solicite. en el foro de PHP en Foros del Web. Hola amigos, Estoy teniendo problemas con las sesiones ya que no logro crearlas con tiempo indefinido como forosdelweb o Gmail. Lo que intento hacer es ...
  #1 (permalink)  
Antiguo 22/02/2009, 20:16
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
No cerrar sesiones a no ser que se solicite.

Hola amigos,

Estoy teniendo problemas con las sesiones ya que no logro crearlas con tiempo indefinido como forosdelweb o Gmail.

Lo que intento hacer es que el usuario inicie sesión y nunca más se desconecte a no ser que el mismo lo solicite. El problema es que mis sesiones expiran a los pocos minutos de inactividad, calculo que a los 20 o 30 minutos.


Además estoy en un hosting por lo que no tengo acceso al php.ini.



Existe algún modo, tal vez mediante cookies, para que la sesión permanezca abierta indefinidamente, incluso luego de días?



Desde ya muchas gracias.
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #2 (permalink)  
Antiguo 22/02/2009, 20:19
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: No cerrar sesiones a no ser que se solicite.

Claro, una cookie por defecto no expira

Código PHP:
setcookie("usuario""Pepe"); 
Para eliminarla (Cuando el usuario entre en logout)
Código PHP:
setcookie("usuario"""); 
  #3 (permalink)  
Antiguo 22/02/2009, 20:40
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Respuesta: No cerrar sesiones a no ser que se solicite.

OK, con el tiempo voy razonando, son la 1am y hace horas que trabajo... A esta hora todo lleva más tiempo...


Dices que entonces la manera sería crear una cookie en su explorador, entonces cada vez que el abre una pagina de mi sitio (cualquiera) se le renueva la sesión.

Es así no??
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #4 (permalink)  
Antiguo 23/02/2009, 07:23
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: No cerrar sesiones a no ser que se solicite.

Sí. Si quieres usar solo Cookies no te hace falta, pero si quieres combinar Cookie y Session deberás comprobar si hay una Cookie para renovar (crear automaticamente) la session, ya que la primera es la única que tiene "memoria".

Código PHP:
<?
session_start
();

//Si hay cookie y NO esta vacia
if (isset($_COOKIE["usuario"]) && !empty($_COOKIE["usuario"])
{
  
$_SESSION["usuario"] = $_COOKIE["usuario"];
}

//Ya tienes $_SESSION["usuario"] automaticamente desde la 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 04:39.