$db_path = '../bancos/users.db'; // Função para conectar ao banco function connectDB() { global $db_path; try { $pdo = new PDO("sqlite:$db_path"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; } catch(PDOException $e) { die("Erro na conexão: " . $e->getMessage()); } } // Processar login if ($_POST['action'] === 'login' && !empty($_POST['token'])) { $token = trim($_POST['token']); try { $pdo = connectDB(); $stmt = $pdo->prepare("SELECT * FROM usuarios WHERE token = ?"); $stmt->execute([$token]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; $_SESSION['user_token'] = $user['token']; $_SESSION['logged_in'] = true; header('Location: ' . $_SERVER['PHP_SELF']); exit; } else { $error = "Token inválido!"; } } catch(PDOException $e) { $error = "Erro no banco de dados: " . $e->getMessage(); } } // Logout if (isset($_GET['logout'])) { session_destroy(); header('Location: ' . $_SERVER['PHP_SELF']); exit; } // Verificar se está logado $isLoggedIn = isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true; if ($isLoggedIn) { // Buscar dados atualizados do usuário try { $pdo = connectDB(); $stmt = $pdo->prepare("SELECT * FROM usuarios WHERE id = ?"); $stmt->execute([$_SESSION['user_id']]); $currentUser = $stmt->fetch(PDO::FETCH_ASSOC); if (!$currentUser) { session_destroy(); header('Location: ' . $_SERVER['PHP_SELF']); exit; } } catch(PDOException $e) { $error = "Erro ao buscar dados do usuário: " . $e->getMessage(); } }
Digite seu token para continuar