Hewitt 14 Denunciar post Postado Maio 28, 2016 Galera, boa tarde! Tenho o seguinte código: <? include 'init.php'; include 'func.php'; if (isset($_POST['logar'])){ $userP = $_POST['txt_usuario']; $senhaP = md5($_POST['txt_senha']); $ip = $_SERVER['REMOTE_ADDR']; $token = md5(gera_token(64)); $sql = mysql_query("SELECT * FROM admins where usuario = '$userP' AND senha = '$senhaP'"); $contagem = mysql_num_rows($sql); if ($contagem > 0){ $_SESSION['login'] = $userP; $_SESSION['pass'] = $senhaP; $_SESSION['token'] = $token; $_SESSION['ip'] = $ip; $sql2 = mysql_query ("SELECT * FROM sessao WHERE user_sessao = '$userP'"); $contagem2 = mysql_num_rows($sql); if ($contagem2 > 0){ echo("<script type='text/javascript'> alert('Já existe uma pessoa logada com esse usuário!'); location.href='index.html';</script>"); }else{ $sql3 = mysql_query("INSERT INTO sessao (user_sessao, token_sessao, ip) VALUES ('$userP', '$token', '$ip')"); echo("<script type='text/javascript'> alert('Logado com Sucesso!' ); location.href='painel.php';</script>"); } }else{ unset ($_SESSION['login']); unset ($_SESSION['password']); unset ($_SESSION['token']); unset ($_SESSION['ip']); echo("<script type='text/javascript'> alert('Dados não conferem!'); location.href='index.html';</script>"); } } ?> O que acontece é o seguinte: ele confere os dados, se for certo, ele confere se há algum cadastro na tabela de sessão... se não houver, ele loga. Se houver, ele avisa que já tem alguém logado com esse usuário. Só que, quando ele confere os dados, ele já avisa que já possui uma pessoa logada com o usuário, mesmo a tabela sessão está zerada. Já procurei o erro e não consegui encontrar. Alguém pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Santos Brito 12 Denunciar post Postado Maio 28, 2016 @Hewitt Você está verificando os resultados da primeira consulta, e não da segunda. $sql2 = mysql_query ("SELECT * FROM sessao WHERE user_sessao = '$userP'"); $contagem2 = mysql_num_rows($sql); // <-- O correto seria verificar a consulta 2 ($sql2) Compartilhar este post Link para o post Compartilhar em outros sites
Hewitt 14 Denunciar post Postado Maio 28, 2016 @Hewitt Você está verificando os resultados da primeira consulta, e não da segunda. $sql2 = mysql_query ("SELECT * FROM sessao WHERE user_sessao = '$userP'"); $contagem2 = mysql_num_rows($sql); // <-- O correto seria verificar a consulta 2 ($sql2) Rapaz, que erro bobo! Fiz essa parte por último, e foi uma falta de atenção mesmo! Muito obrigado, funcionou perfeitamente! Compartilhar este post Link para o post Compartilhar em outros sites