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

Ajuda Em Script Login


blacktype3

Pergunta

E ai Pessoal! estou fazendo meu sistema de login e depois que terminei, ao tentar logar ele volta o erro pela mensagem ALERTA em JS, "Login ou Senha Inválidos". Será que vocês podem dar uma olhadinha para ver se encontram algum erro que eu não consigo enxergar? valeu. Ai segue o código.

NO BANCO DE DADOS A TABELA USER CONTEM OS CAMPOS:

CODIGO - (VARCHAR 6) PRIMARY KEY

LOGIN - (VARCHAR 20)

SENHA - (VARCHAR 10)

Bem! Fiz uma pagina chamada log.php, outra login.php

O CODIGO PARA A PÁGINA LOG.PHP

<?
    include "funcoes/conectar.php";

           $sql = "select login,senha from user where login = '$user'"
                          or die("Sql contém erros!");
           $query = mysql_query($sql);
           $usr = mysql_fetch_array($query);
           $senha = md5($passw);

               if ( ($usr['login'] != $user) or ($usr['senha'] != $senha) )
                           header("location: login.php");
                 else {
                          setcookie("logado",true);
                          setcookie("user",$user);
                          header("location: ../restrito/main_pg.php");
                 }
?>
BEM! AGORA O CÓDIGO PARA A PAGINA LOGIN.PHP
<?
   include "../funcoes/conectar.php";

if (isset($Log)) {

   $sql = "select login,senha from user where login = '$user'"
                                     or die("Sql contém erros!");
   $query = mysql_query($sql);
   $usr = mysql_fetch_array($query);
   $senha = md5($passw);

   if ( ($usr[login] != $user) or ($usr[senha] != $senha) )
       echo "&lt;script language='javascript'> alert('Login ou senha inválidos'); </script>";
     else {
       setcookie("logado",true);
       setcookie("user",$user);
       header("location: ../restrito/main_pg.php");
     }
}
?>

<html>
<head>
<title>...: Área Restrita :...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel=stylesheet type="text/css" href="../unica.css">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">

<br> <br> <br>
<form name="frm_pwd" method="post" action="login.php">
  <table width="50%" border="0" cellspacing="1" cellpadding="0" align="center">
    <tr align="left" valign="middle" class="unica1-2"> 
      <td width="19%" bgcolor="287239">Login .....:</td>
      <td width="81%" bgcolor="4E985F">
          <input type="text" name="user" class="input_restrito" size="20" maxlength="20">
        </td>
    </tr>
    <tr align="left" valign="middle" class="unica1-2"> 
      <td width="19%" bgcolor="287239">Senha ....:</td>
      <td width="81%" bgcolor="4E985F">
          <input type="password" name="passw" class="input_restrito_pos" size="10" maxlength="10">
        </td>
    </tr>
  </table>
  <p align="center">
    <input type="submit" name="Log" value="Logar" class="botao">
    <br>
  </p>
</form>

</div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Aqui há um erro:

$sql = "select login,senha from user where login = '$user'"
or die("Sql contém erros!");
$query = mysql_query($sql);
O "or die()" deve ser usado após chamar a função. Então faça assim:
$sql = "select login,senha from user where login = '$user'";
$query = mysql_query($sql) or die("Sql contém erros: ". mysql_error());

Para verificar se a consulta retornou resultados, use mysql_num_rows().

http://www.php.net/mysql_num_rows

De onde vem a variável $passw?? Você está salvando a senha em MD5 no banco, certo? Mas o campo senha só comporta 10 caracteres; hashes MD5 sempre são formados por 32 caracteres. Deixe o campo senha como char(32).

O campo CÓDIGO não deve ser VARCHAR, já que ele é numérico. Deixe-o como inteiro.

Abraçcos,

Beraldo

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo, valeu cara! ainda não fiz o teste, mas você me deixou com uma pulga atras da orelha. A senha que está sendo salva em MD5 recebe a $passw que recebe o valor da variavel ($senha), mas agora eu também não sei de onde vem, e isso deveria fazer sentido. Estou perdido porque eu tinha um professor que disse saber PHP e me deixou na mão com um monte de scripts interminados e agora estou eu aqui tentando aprender talvez com esses scripts errados.

Mas me diz ai, de onde poderia estar vindo a variavel ($passw)? Já que li e reli esses codigo uma 100x e não vejo ligação com nenhum outro codigo externo, porque para isso ela deveria estar chamando uma função de outro codigo, certo?

abraços

ricardo

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...