superkatatau Postado Novembro 8, 2006 Denunciar Share Postado Novembro 8, 2006 olá Pessoal,Não sei mais o que fazer com esse problema:é simples mas não to achando o erro:esse é o problema:Sempre dá a mensagem: a senha está incorreta.mas não esta. esta certinha,mas não passa dai.aqui esta o sript <?php //obtem os valores digitados $username = $_POST["usuario"]; $senha = $_POST["senha"]; //acesso ao banco include "includes/conecta_banco.inc"; $resultado = mysql_query("select * from usuarios where login='$username'"); $linhas = mysql_num_rows($resultado); //testa se a consulta está voltando algo if($linhas==0){ echo "Usuário inválido"; } //confere senha else { if($senha != mysql_result($resultado,0,"senha")){ echo "a senha esta incorreta"; } //usuario e senha corretos, vamos criar a sessão else{ session_start(); $_SESSION['nome_usuario'] = $username; $_SESSION['senha_usuario'] = $senha; //direciona para página logada header ("Location: loginok.php"); } } mysql_close($con); ?> o nome da minha tabela é usuarios e o campo é senha.o que esta errado?orbigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 8, 2006 Denunciar Share Postado Novembro 8, 2006 Não faço autenticação assim... nem uso mysql_result (o próprio manual não recomenda)... mas vamos lá, eu acho que o certo seria:Na linha:$resultado = mysql_query("select * from usuarios where login='$username'");Passar para:$resultado = mysql_query("select senha from usuarios where login='$username'");Na linha:if($senha != mysql_result($resultado,0,"senha")){Passar para: if($senha != mysql_result($resultado,0,)){ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 8, 2006 Denunciar Share Postado Novembro 8, 2006 você não está guardando a senha com hash MD5? Ela está armazenada normalmente no banco? O ideal é ter um campo char(32) para guardar a senha em MD5.Daí você verifica assim: if (md5($senha) != mysql_result ($resultado, 0, 'senha')) //senha errada []'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 superkatatau Postado Novembro 9, 2006 Autor Denunciar Share Postado Novembro 9, 2006 Ao Eserra!!Pego tudo da tabela pois com a mesma variavel eu verifico o login e a senha!Ao beraldo!!o que é md5?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 9, 2006 Denunciar Share Postado Novembro 9, 2006 MD5 é uma espécie de "criptografia". Ela gera uma seqüência de 32 caracteres, então você pode ter um campo senha char(32) na sua tabela para guardar a senha "criptografada".Links úteis:http://pt.wikipedia.org/wiki/MD5http://br2.php.net/md5[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 superkatatau Postado Novembro 9, 2006 Autor Denunciar Share Postado Novembro 9, 2006 obrigado,mas meu problema ainda continua!abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ferazia Postado Novembro 9, 2006 Denunciar Share Postado Novembro 9, 2006 Para checar se senha esta correta eu faço o seguinte: $consulta = "SELECT * FROM tblusuarios where Email = '$email'"; $resultado = mysql_query($consulta); $linha = mysql_fetch_assoc($resultado); $cont = mysql_result($resultado, 0, 0); if( $cont > 0) { if($senha == $linha['Senha']) { comandos } else { comandos } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 superkatatau Postado Novembro 9, 2006 Autor Denunciar Share Postado Novembro 9, 2006 o problema esta nesta linha! $resultado = mysql_query("select * from usuarios where login='$username' and senha='$senha'");o que tem de errado ai?Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Novembro 9, 2006 Denunciar Share Postado Novembro 9, 2006 Se você colocar a senha na condição, caso ela esteja errada, não será retornado resultado algum. Faça assim:Select * From tabela Where login = '$usuario'; Daí você verifica a senha[]'s Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
superkatatau
olá Pessoal,
Não sei mais o que fazer com esse problema:
é simples mas não to achando o erro:
esse é o problema:
mas não esta. esta certinha,mas não passa dai.
aqui esta o sript
o nome da minha tabela é usuarios e o campo é senha.
o que esta errado?
orbigado
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.