Evitar cierre de sesión en sitio web de usuarios registrados

spitfire Seguir

Épsilon
Verificación en dos pasos desactivada
Desde
20 Feb 2013
Mensajes
932
buenas noches, estoy haciendo un sitio web donde los usuarios se registran y

al loguearse les creo una session para que puedan interactuar con el contenido del sitio.

pero como hago para que no se cierre la session de un dia para el otro o incluso después de varios días ?

gracias por sus constantes ayudas
 

Benderslab

Iota
Verificado
Verificación en dos pasos desactivada
Verificado por Whatsapp
Verificado por Binance
Desde
16 Abr 2018
Mensajes
2.336
Depende de como esté construido tu sitio podes usar sesiones, sesiones locales, cookies, etc.
 

spitfire

Épsilon
Verificación en dos pasos desactivada
Desde
20 Feb 2013
Mensajes
932
Depende de como esté construido tu sitio podes usar sesiones, sesiones locales, cookies, etc.
- primero el usuario se registra en la base de datos

- luego creo una session con su ID de usuario cuando se logea

Insertar CODE, HTML o PHP:
$_SESSION['USERID']

- y después mantengo la session iniciada con

Insertar CODE, HTML o PHP:
session_start();


pero esta session desaparece cuando pasa un dia o mas

que me aconsejan para que dure más tiempo ?
 

Benderslab

Iota
Verificado
Verificación en dos pasos desactivada
Verificado por Whatsapp
Verificado por Binance
Desde
16 Abr 2018
Mensajes
2.336
- primero el usuario se registra en la base de datos

- luego creo una session con su ID de usuario cuando se logea

Insertar CODE, HTML o PHP:
$_SESSION['USERID']

- y después mantengo la session iniciada con

Insertar CODE, HTML o PHP:
session_start();


pero esta session desaparece cuando pasa un dia o mas

que me aconsejan para que dure más tiempo ?
Con session.gc_maxlifetime. Aqui esta lo que buscas: https://stackoverflow.com/questions/156712/what-is-the-default-lifetime-of-a-session
 

EasyProjects

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
3 Nov 2020
Mensajes
169
Tienes que usar cookies, ahí puedes personalizar el tiempo que quieres que exista la cookie... el problema de usar $_SESSION y session_start(); es que cuando se cierre el navegador se cerrará la sesión tambien

PHP:
<?php
/*
usa la funcion setcookie($nombreDeLaCookie, $valorDeLaCookie, time()+$segundosQueDebenPasarParaExpirar);
Ten en cuenta que una fecha es literalmente un bigint, lo que hacemos aquí:
time()+60*60*24*20

Es decirle, obtenme el segundo en el que estamos de la historia y sumale tantos segundos,
60 (segundos)
60 (segundos) * 60 (minutos que es 1 hora) = 3600 segundos(1 hora pero en segundos)
3600 (segundos) * 24 (horas que es 1 día) = 86400 segundos(1 día pero en segundos)
86400 * 20 (días) = 1728000 segundos(20 días a partir del momento que creas la cookie)

*/
setcookie("usertoken", "noice", time()+60*60*24*20);
// 20 días = 60*60*24*20


//Si quieres eliminar la cookie usa:
setcookie("usertoken", "", time()-3600)
?>
 

spitfire

Épsilon
Verificación en dos pasos desactivada
Desde
20 Feb 2013
Mensajes
932
Tienes que usar cookies, ahí puedes personalizar el tiempo que quieres que exista la cookie... el problema de usar $_SESSION y session_start(); es que cuando se cierre el navegador se cerrará la sesión tambien

PHP:
<?php
/*
usa la funcion setcookie($nombreDeLaCookie, $valorDeLaCookie, time()+$segundosQueDebenPasarParaExpirar);
Ten en cuenta que una fecha es literalmente un bigint, lo que hacemos aquí:
time()+60*60*24*20

Es decirle, obtenme el segundo en el que estamos de la historia y sumale tantos segundos,
60 (segundos)
60 (segundos) * 60 (minutos que es 1 hora) = 3600 segundos(1 hora pero en segundos)
3600 (segundos) * 24 (horas que es 1 día) = 86400 segundos(1 día pero en segundos)
86400 * 20 (días) = 1728000 segundos(20 días a partir del momento que creas la cookie)

*/
setcookie("usertoken", "noice", time()+60*60*24*20);
// 20 días = 60*60*24*20


//Si quieres eliminar la cookie usa:
setcookie("usertoken", "", time()-3600)
?>
si creo que esto me va a funcionar mejor para lo que estoy buscando, muchas gracias
 

moiseseccam

Pi
Verificado
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Mar 2013
Mensajes
5.851
¿Cómo gestionas las sesiones? Guardas en la base de datos algún token?
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba