Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fred silva

[Resolvido] Consultar senha em md5

Recommended Posts

Olá pessoal,

cadastrei as senhas dos meus usuários com md5, porém não consigo logar. Quando cadastro sem a criptografia loga sem problemas.

 

logar.php

<?php
   include "conexao.php";

   session_start();

   $email = $_POST["email"];
   $senha = md5($_POST["senha"]);//Aqui estou tentando pegar a senha em md5 para inserir no select

   $sql = "SELECT * FROM twenty.usuario WHERE email = '$email' AND senha = '$senha'";
   $query = mysql_query($sql);
   $linha = mysql_fetch_array($query);

   if (mysql_num_rows($query) > 0){        
       //A Session recebe um array com os dados do usuário
       $_SESSION[usuario] = array("id" => $linha[id],
           "nome" => $linha[nome],
           "sobrenome" => $linha[sobrenome],
           "email" => $linha[email],
           "data_nascimento" => $linha[data_nascimento],
           "senha" => $linha[senha],
           "foto" => $linha[foto],
           "cpf" => $linha[cpf],
           "sexo" => $linha[sexo],
           "data_cadastro" => $linha[data_cadastro]
       );        

       echo "<script type='text/javascript'> location.href = 'home.php'</script>";
   }else{
       unset ($_SESSION[usuario]);//Destrói a SESSION
       echo "META HTTP-EQUIV=REFRESH CONTENT = 0;URL=index.php <script type=\"text/javascript\"> alert(\"E-mail ou senha incorretos! Tente novamente\");</script>'";
   }
?>

O que pode estar errado?

Agradeço a ajuda!

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

exporte a tabela no banco de dados, e cole a estrutura aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

exporte a tabela no banco de dados, e cole a estrutura aqui.

 

Estrutura da abela usuario:

/*
SQLyog Community Edition- MySQL GUI
MySQL - 5.0.51b-community-nt 
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;

create table `usuario` (
`id` double ,
`conta_bancaria_id` double ,
`usuario_id` double ,
`nome` varchar (90),
`sobrenome` varchar (150),
`data_nascimento` date ,
`email` varchar (240),
`celular` double ,
`senha` varchar (90),
`foto` blob ,
`cpf` varchar (33),
`data_cadastro` datetime ,
`sexo` varchar (45)
); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca tambem o arquivo de cadastro. possivelmente o erro esteja qnd voce fez o(s) cadastro(s).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria saber se 'estava cabendo' o hash na coluna `senha` varchar (90),

 

pelo visto está.

Okay, para eliminar mais uma possibilidade, os registros estão cadastrados corretamente com o hash no campo senha, certo ?

 

faça:

$sql = "SELECT * FROM twenty.usuario WHERE email = '$email' AND senha = '$senha'";
echo $sql;

e poste a saida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é o select:

SELECT * FROM twenty.usuario WHERE email = 'teste@twenty.com.br' and senha ='698dc19d489c4e4db73e28a713eab07b'

No banco está assim:

698dc19d489c4e4db73e28a713eab0

A senha cadastrada é: teste

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta ai o erro.

 

o hash md5 deve conter 32 caracteres.

a query está correta.

 

no banco está cadastrado errado. Poste o script de cadastro como foi pedido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta ai o erro.

 

o hash md5 deve conter 32 caracteres.

a query está correta.

 

no banco está cadastrado errado. Poste o script de cadastro como foi pedido.

A parte onde é feito o cadastro está assim:

$nome = $_POST ["nome"];
$sobrenome = $_POST ["sobrenome"];
$email = $_POST ["email"];
$cpf = $_POST ["cpf"];
$senha = md5($_POST ["senha"]);
$sexo = $_POST ["sexo"];
$data_nascimento = $_POST ["data_nascimento"];
$data_cadastro = gmdate("Y-m-d\TH:i:s\Z");                
$query = "insert into twenty.usuario (nome , sobrenome, email , cpf , senha, sexo, data_nascimento, conta_bancaria_id, data_cadastro, foto) values ('".utf8_decode($nome)."', '".utf8_decode($sobrenome)."', '$email', '$cpf', '$senha', '$sexo', '$data_nascimento', '$id_conta_bancaria', '$data_cadastro', '$url')";
mysql_query($query) or die ("Não foi inserido! ".mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera,

descobri o erro. Realmente estava cadastrando errado no banco, mas era porque o meu campo senha era um varchar de 30, aumentei para 32 e funcionou beleza!

William Bruno e Nandel muito obrigado pela ajuda!

Fiquem com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.