prepare("SELECT id, username, password, exp_date, enabled FROM `lines` WHERE username = :u AND password = :p LIMIT 1"); $stmt->execute(['u' => $u, 'p' => $p]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { if ($user['enabled'] == 0) { $erro = "Conta bloqueada."; } elseif ($user['exp_date'] != null && $user['exp_date'] < time()) { $erro = "Conta vencida."; } else { $_SESSION['iptv_user'] = $user['username']; $_SESSION['iptv_pass'] = $user['password']; header("Location: ./"); exit; } } else { $erro = "Login inválido."; } } // --- TELA DE LOGIN (Se não estiver logado) --- if (!isset($_SESSION['iptv_user'])) { ?> Web TV Login

Acessar TV

$erro
"; ?>
query($sql); $canais = $query ? $query->fetchAll(PDO::FETCH_ASSOC) : []; // 2. Prepara URL Base (Corrige falta de http:// se necessário) // Verifica se $stream_url e $stream_port existem para evitar o erro da tela preta $s_url = isset($stream_url) ? $stream_url : 'localhost'; $s_port = isset($stream_port) ? $stream_port : '80'; // Adiciona http:// se não tiver if (strpos($s_url, 'http') === false) { $s_url = "http://" . $s_url; } $base_url = "{$s_url}:{$s_port}/live/{$_SESSION['iptv_user']}/{$_SESSION['iptv_pass']}/"; ?> Web Player
Selecione um canal