IFCD0210/Practicas/Practicas_PHP/ejercicios/Sesiones/login_usuarios.php
2024-03-04 13:49:12 +01:00

93 lines
3.0 KiB
PHP

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login de acceso</title>
<link rel="stylesheet" type="text/css" href="estilos.css" />
<body>
<div><h2>Login de Usuarios</h2>
<form method="post">
<p>
<label for="usuario">Usuario:</label>
<input type="text" id="usuario" name="usuario" placeholder="Usuario">
</p>
<p>
<label for="contraseña">Contraseña:</label>
<input type="password" id="contraseña" name="contraseña" placeholder="Contraseña">
</p>
<p>
<input type="submit" value="Entrar">
</p>
</form></div>
<div>
<p><a href="registro_usuarios_cliente.php">Registarse como cliente</a></p>
<p><a href="registro_usuarios_hotel.php">Registarse como personal del hotel</a></p>
</div>
<?php
// Verificar si se ha enviado el formulario
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Obtener los datos del formulario
$usuario = $_POST['usuario'];
$contraseña = $_POST['contraseña'];
// Archivo de usuarios
$archivo = "usuarios.txt";
// Verificar si el archivo existe
if (file_exists($archivo)) {
// Abrir el archivo en modo de lectura
$conexion = fopen($archivo, "r");
// Variable para usuario
$usuario_encontrado = false;
$nombre_usuario;
$acceso_usuario;
// Leer el archivo línea por línea
while (($linea = fgets($conexion)) !== false) {
// Separar el nombre de usuario y la contraseña de cada línea
list($usuario_registrado, $contraseña_registrada, $nombre_registrado ,$acceso_registrado) = explode(":", trim($linea));
// Comparar los datos
if ($usuario === $usuario_registrado && password_verify($contraseña, $contraseña_registrada)) {
$usuario_encontrado = true;
$nombre_usuario=$nombre_registrado;
$acceso_usuario=$acceso_registrado;
$correo_usuario=$usuario_registrado;
break;
}
}
// Cerrar el archivo
fclose($conexion);
// Verificar si se encontró
if ($usuario_encontrado) {
// Si los datos son válidos, iniciar sesión y redirigir al usuario
session_start();
$_SESSION['usuario'] = $nombre_usuario;
$_SESSION['correo'] = $correo_usuario;
if ($acceso_usuario === "cliente") {
header('Location: perfil_cliente.php'); // Redireccionar a la página de cliente
exit();
}
if ($acceso_usuario === "hotel") {
header('Location: buscador_reservas.php'); // Redireccionar a la página de gestión
exit();
}
} else {
// Si los datos no son válidos, mostrar un mensaje de error
echo '<p style="color: red">El nombre de usuario o la contraseña son incorrectos.</p>';
}
}
}
?>
</body>
</html>