Ir para conteúdo

POWERED BY:

Arquivado

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

§_ladyshaolin_§

em script de autenticação

Recommended Posts

Deixei assim. Foi desse jeito q você disse, otinhow?

 

<? require "dsn.php";

 

session_start();

 

$login = $_POST["login"];

$senha = $_POST["senha"];

$md5 = md5($senha);

 

$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '".$login."' AND senha = '".$md5."'");

 

if(mysql_num_rows($sql) > 0 )

{

echo "logado";

}

else{

 

echo "falhou!";

}

 

?>

 

 

Agora só retorna "falhou!"

Tá tudo certo com o banco de dados, com os nomes das variáveis, inclusive os nomes de campo no formulário, não tô entendendo...

Gente não acredito que estou a 3 dias quebrando a cabeça com isso... :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

altera essa linha

PHP

[*]$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '".$login."' AND senha = '".$md5."'");

 

colocando um mysql_error() nala, assim:

PHP

[*]$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '".$login."' AND senha = '".$md5."'") or die(mysql_error());

 

e posta aí o resultado...

 

SENSHI

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu nao li todos os postes mas vou tentar te ajudar

 

 

session_start();

 

$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '".$login."' AND senha = '".$md5."'");

 

você ta selecionando tudo pra depois ver se ta logado ou nao, isso nao faz sentido

era mais facil você fazer assim select * from

 

 

e antes de você fazer esse teste de login testa o select no phpmyadmin pra ver se ta tudo ok depois você passa pro script

 

e pra você testar se existe 1 registro no banco use select count (*) as total

é mais rapido e a melhor opção doque usar mysql_num_rows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixei assim. Foi desse jeito q você disse, otinhow?

 

<? require "dsn.php";

 

session_start();

 

$login = $_POST["login"];

$senha = $_POST["senha"];

$md5 = md5($senha);

 

$sql = mysql_query ("SELECT login, nome, senha, sobrenome, permissao, status FROM usuario_adm WHERE login = '".$login."' AND senha = '".$md5."'");

 

if(mysql_num_rows($sql) > 0 )

{

echo "logado";

}

else{

 

echo "falhou!";

}

 

?>

 

 

Agora só retorna "falhou!"

Tá tudo certo com o banco de dados, com os nomes das variáveis, inclusive os nomes de campo no formulário, não tô entendendo...

Gente não acredito que estou a 3 dias quebrando a cabeça com isso...  :blink:

<{POST_SNAPBACK}>

bom, em relação a dica q te dei tá tudo certo, agora continuar a dar o erro é um caso sério... pequenos detalhes.. q as vezes são tao obvios q não percebemos xD auhseuiahse.. teste ai como o Fabyo disse.. é uma boa solução para tentar descobrir.. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim xD~~

 

PHP

[*]

[*]$sql = "SELECT Usuario_Nome, Usuario_Senha FROM USUARIOS

[*] WHERE Usuario_Nome = '" . str_replace("\\'", "''", $_POST['Usuario_Nome') . "'";

[*]

[*]if ( !($result = mysql_query($sql)) )

[*]{

[*]

[*] echo mysql_error();

[*]

[*]}

[*]

[*]if( $row = mysq_fetch_array($result) )

[*]{

[*]

[*] if( md5($password) == $row['Usuario_Senha'] )

[*] {

[*] echo "Logado";

[*] }

[*] else

[*] {

[*] echo "Login incorreto";

[*] }

[*]}

[*]else

[*]{

[*]  echo "Login incorreto";

[*]}

[*]  

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = mysql_query("SELECT (login, nome, sobrenome, permissao, status) FROM usuario_adm WHERE (login = '".$login."' || senha = md5('".$senha."') || status='ativo'))");a função mysql_query tá faltando parâmetro;tente assim$conexao=mysql_connect(host, username, password);...mysql_query("sua instrução sql", $conexao);beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função mysql_query nao ta faltando partametros nenhum ela tem que funcionar do jeito que ta

 

só um detalhe o md5 gera uma string de 32 caracteres e seu campo ta com esse tamanho?

 

nao tem segredo pra isso funcionar basta você ver o que você ta fazendo exemplo

 

"select * from tabela where = nome = 'Nome' and senha = md5('123')"

 

agora tem que ver se a senha ta criada certa olha como ta o valor da senha no banco e conferir com a que você ta tentando gravar

 

o md5 tbm é uma função do mysql por isso nao precisa colocar o md5 fora da query

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo, você é um anjo!! http://forum.imasters.com.br/public/style_emoticons/default/wub.gif

Tem razão, meu campo senha não estava definido com + de 30 caracteres, era isso! Agora funciona direitinho!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Obrigada a todo mundo que teve paciência e ajudou como pôde, deixando outras dicas e formas de resolver o problema!! http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim o MD5 é um tipo de criptografia, e existem 3 tipos básicos de algoritimos de criptografia, os

simétricos, os assimétricos e os de hash.

Os simétricos e os assimétricos utilizam uma chave de criptografia e podem ser descriptografados.

 

O hash que é o caso do MD5 não podem ser descriptografados.

Um "hash" é um código gerado matematicamente a partir de um dado original. Ele não é um dado codificado, mas um valor gerado a partir de uma origem.

um hash MD5 tem um tamanho fixo de 32 bits sempre, portanto não importa o tamanho da entrada de dados, ele sempre terá o mesmo tamanho.

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.