<?php
session_start();

// Conecte-se ao banco de dados usando PDO
$host = 'localhost';
$db = 'digupdog_FEED';
$user = 'digupdog_FEEDadmin';
$pass = 'Raimundinho1';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false,
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
    throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Valide e sane os dados do formulário
    $username = filter_var($_POST['username'], FILTER_SANITIZE_STRING);
    $password = $_POST['password']; // A senha não é sanitizada, apenas verificada posteriormente

    // Verifique as credenciais do usuário (busca por username ou email)
    $stmt = $pdo->prepare("SELECT ID, username, senha FROM user_myhashtag WHERE username = ? OR email = ?");
    $stmt->execute([$username, $username]);
    $user = $stmt->fetch();

    if ($user && password_verify($password, $user['senha'])) {
        // As credenciais estão corretas, inicie uma sessão
        $_SESSION['user_id'] = $user['ID'];
        $_SESSION['username'] = $user['username'];
        $_SESSION['user_logged_in'] = true;

        // Redirecione para a página protegida
        header("Location: perfil.php");
        exit;
    } else {
        // Mensagem de erro genérica para evitar dar informações extras
        exit('Login falhou! Por favor, tente novamente.');
    }
}
?>