<?php
session_start();

file_put_contents("debug_login.txt", "POST:\n".print_r($_POST, true), FILE_APPEND);

require 'conexion.php';

// Validar que existan los campos
if (empty($_POST['usuario']) || empty($_POST['password'])) {
    header("Location: login2.php?error=1");
    exit;
}

$usuario  = trim($_POST['usuario']);
$password = trim($_POST['password']);

// Preparar consulta
$sql = "SELECT usuario, password, nombre, rol FROM usuarios WHERE usuario = ?";
$stmt = $conexion->prepare($sql);

if (!$stmt) {
    file_put_contents("debug_login.txt", "Error prepare: ".$conexion->error."\n", FILE_APPEND);
    header("Location: login2.php?error=1");
    exit;
}

$stmt->bind_param("s", $usuario);
$stmt->execute();
$result = $stmt->get_result();

// Validar existencia
if ($result && $result->num_rows === 1) {

    $row = $result->fetch_assoc();
    file_put_contents("debug_login.txt", "ROW:\n".print_r($row, true), FILE_APPEND);

    // Aceptar si:
    // 1) La BD tiene la contraseña en TEXTO PLANO
    // 2) La BD tiene la contraseña en HASH (password_hash)
    $coincideTextoPlano = ($password === $row['password']);
    $coincideHash       = password_verify($password, $row['password']);

    if ($coincideTextoPlano || $coincideHash) {

        $_SESSION['usuario'] = $row['usuario'];
        $_SESSION['nombre']  = $row['nombre'];
		$_SESSION['rol']     = $row['rol'];

        header("Location: listar.php");
        exit;
    }
}

// Si falla
header("Location: login2.php?error=1");
exit;
?>