Ir para conteúdo
Fórum Script Brasil
  • 0

ERRO VALIDAÇÃO


netocazuza

Pergunta

Baixei um sistema pronto na net, pra implantar no meu projeto, no entanto tá dando um erro no código, que não consigo enxergar o que é. Já gerei o bando de dados e a tabela, de acordo com o script que veio pronto, e tudo funcionou. O erro aparece na hora de fazer login com um php chamado validacao. Mostra a linha (syntax error, parse error: unexpected "'"  in ... line 24) e tudo o mais, mas não consigo enxergar o erro. Achei que fosse ponto e vírgula no final, mas coloquei, e não deu certo. Segue o código pra que dêem uma olhada.

<?php
   
  // Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
  if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
      header("Location: index.php"); exit;
  }
  // Tenta se conectar ao servidor MySQL
  mysql_connect('localhost', 'root', '') or trigger_error(mysql_error());
  // Tenta se conectar a um banco de dados MySQL
  mysql_select_db('sistemapermissoes') or trigger_error(mysql_error());
   
  $usuario = mysql_real_escape_string($_POST['usuario']);
  $senha = mysql_real_escape_string($_POST['senha']); 
  // Validação do usuário/senha digitados
  $sql = "SELECT `id`, `nome`, `nivel` FROM `usuarios` WHERE (`usuario` = '".$usuario ."') AND (`senha` = '". sha1($senha) ."') AND (`ativo` = 1) LIMIT 1";
  $query = mysql_query($sql);
  if (mysql_num_rows($query) != 1) {
      // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
      echo "Login inválido!"; exit;
  } else {
      // Salva os dados encontados na variável $resultado
      $resultado = mysql_fetch_assoc($query);
  }
  SELECT `id`, `nome`, `nivel` FROM `usuarios` WHERE (`usuario` = 'a') AND (`senha` = 'e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98') AND (`ativo` = 1) LIMIT 1;
if (mysql_num_rows($query) != 1) {
      // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
      echo "Login inválido!"; exit;
  } else {
      // Salva os dados encontrados na variável $resultado
      $resultado = mysql_fetch_assoc($query);
   
      // Se a sessão não existir, inicia uma
      if (!isset($_SESSION)) session_start();
   
      // Salva os dados encontrados na sessão
      $_SESSION['UsuarioID'] = $resultado['id'];
      $_SESSION['UsuarioNome'] = $resultado['nome'];
      $_SESSION['UsuarioNivel'] = $resultado['nivel'];
   
      // Redireciona o visitante
      header("Location: restrito.php"); exit;
  }

?>

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

O erro está nessa linha:

1 hora atrás, netocazuza disse:

SELECT `id`, `nome`, `nivel` FROM `usuarios` WHERE (`usuario` = 'a') AND (`senha` = 'e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98') AND (`ativo` = 1) LIMIT 1;

Que não deveria existir.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Markus, muito obrigado pelas ajudas que vem me dando. Tirei a linha, e não dá mais o erro, porém quando digito usuário e senha (cadastrados na tabela já), não acontece nada. O normal seria eu ser direcionado para a página restrito.php, porém a tela só da uma "piscada" e limpa os textbox. e digito um usuário que não existe, aparece um erro, seguido da mensagem "usuário não existe". Então eu entendo que tá havendo conexão ao banco de dados, e é só o programa que não tá respondendo como deveria. Mais alguma sugestão?

Link para o comentário
Compartilhar em outros sites

  • 0

O problema está nesse trecho, que também não deveria existir.

<?php
if (mysql_num_rows($query) != 1) {
  // Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
  echo "Login inválido!"; exit;
} else {
  // Salva os dados encontados na variável $resultado
  $resultado = mysql_fetch_assoc($query);
}

Na verdade "pisca" porque você está sendo redirecionado para restrito.php e o restrito.php está te redirecionando de volta.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...