Llegamos a la hora de iniciar sesión en nuestra página.
Para llevar a cabo el inicio de sesión en el formulario login, verificamos que tenemos una action="procesar_inicio_sesion.php".
Esto nos indica que al hacer clic en el botón Iniciar Sesión, nos llevará al archivo procesar_inicio_sesion.php.
<button type="submit" class="btn btn-primary">Iniciar Sesión</button>
Este archivo procesar_inicio_sesion.php verificará si el usuario, el email y también la contraseña coinciden con los datos que tenemos registrados.
Si coinciden, nos redirigirá a la página que indiquemos; de lo contrario, nos redirigirá nuevamente al inicio de sesión.
...
Código completo de procesar_inicio_sesion.php
<?php
include_once('conexion.php');
if (isset($_POST['usuario_o_email'], $_POST['contrasena'])) {
$usuario_o_email = $_POST['usuario_o_email'];
$contrasena = $_POST['contrasena'];
// Realiza la verificación de las credenciales en la base de datos
$sql = "SELECT id, user, email, password FROM usuarios WHERE user = :usuario_o_email OR email = :usuario_o_email";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':usuario_o_email', $usuario_o_email);
$stmt->execute();
$usuarioBD = $stmt->fetch(PDO::FETCH_ASSOC);
if ($usuarioBD && password_verify($contrasena, $usuarioBD['password'])) {
// Las credenciales son válidas, inicia la sesión
session_start();
$_SESSION['id'] = $usuarioBD['id'];
$_SESSION['usuario'] = $usuarioBD['user'];
$_SESSION['email'] = $usuarioBD['email'];
// Redirige al usuario a la página de lista de recetas
header('Location: lista_recetas.php');
} else {
// Las credenciales son incorrectas, muestra un mensaje de error
header('Location: index.php');
}
} else {
echo "Faltan datos en la solicitud.";
}
?>
Bueno, si observamos las entradas anteriores, vemos que hasta aquí hemos creado un sistema de inicio de sesión completo, además de registros de usuarios e inserción de sus fotografías.
También podemos ver que al registrar el usuario, su contraseña se encripta y se verifica al iniciar sesión.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias