Pregunta:
Fecha: 23-02-2020 07:40:07
(En Español)
Este es mi código para inicial sesión dentro de la pagina y aquí pueden ver como le doy un año de vida a la cookies:
Espero que me puedan ayudar. un gran saludo Votos: -1 - Respuestas: 1 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
Como hacer que la session dure un año iniciada, a menos que el usuario la cierre[Resuelta]
Hola amigos, tengo una pagina en donde se puede registrar e inicial sesión, pero es un poco molesto tener que estar identificándose siempre que cierras el navegador y me gustaría hacer como hacen esas grandes paginas que con solo inicial la sesión una solo vez, ya no tienes que volverla a inicial durante un año, a menos que oprimas el botón de cerrar sesión y tu sesión se destruya. Estuve averiguando un poco en Internet, pero solo logre mi cookies dure un año utilizando la setcookies.Este es mi código para inicial sesión dentro de la pagina y aquí pueden ver como le doy un año de vida a la cookies:
<?php session_start();
require_once('./conexion/conexion.php');
$errors = '';
if(isset($_POST['login'])){
$email = $_POST['email'];
$password = $_POST['password'];
$password = hash('sha512', $password);
// sentencia para saber si lo que introduce el usuario es correcto
$sentencia = $conexion->prepare("SELECT * FROM users WHERE email = :email AND password = :password LIMIT 1");
$sentencia->execute(array(
':email' => $email,
':password' => $password
));
$resultado = $sentencia->fetch();
if($resultado == true){
setcookie('email', $email, time() + 60 * 60 * 24 * 365, '/');
setcookie('password', $password, time() + 60 * 60 * 24 * 365, '/');
$_SESSION['email'] = $email;
header('Location: ./');
} else {
$errors .= "* Has escrito mal el correo electrónico o la contraseña";
}
}
Espero que me puedan ayudar. un gran saludo Votos: -1 - Respuestas: 1 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 23-02-2020 12:04:26 Hola amigos, lo he logrado resolver colocando este trozo de código:
// Dale tiempo de vida a la sesion session_get_cookie_params('lifetime');
Pero acá dejo el código completo:
<?php session_start(); require_once('./conexion/conexion.php'); $errors = ''; if(isset($_POST['login'])){ $email = $_POST['email']; $password = $_POST['password']; $password = hash('sha512', $password); // sentencia para saber si lo que introduce el usuario es correcto $sentencia = $conexion->prepare("SELECT * FROM users WHERE email = :email AND password = :password LIMIT 1"); $sentencia->execute(array( ':email' => $email, ':password' => $password )); $resultado = $sentencia->fetch(); if($resultado == true){ setcookie('email', $email, time() + 60 * 60 * 24 * 365, '/'); setcookie('password', $password, time() + 60 * 60 * 24 * 365, '/'); // Dale tiempo de vida a la sesion session_get_cookie_params('lifetime'); $_SESSION['email'] = $email; header('Location: ./'); } else { $errors .= "Has escrito mal el correo electrónico o la contraseña"; } }Votos: -1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
