Ir para conteúdo

POWERED BY:

Arquivado

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

Walisson Ch.

Senha MD5

Recommended Posts

Boa Tarde Pessual.!!!

Então, eu fiz uma pagina para alterar os dados do cliente.

Ela esta funcionando normal, porém eu coloquei senha MD5, e funciona normal, mas se eu não alterar nada na pagina dos dados do cliente e clikar no botao de "alterar dados" ele muda a senha.....

Alguém sabe como fazer para não alterar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Walisson, posta o código para nós vermos, tem que ver como está sua página de alteração, no form você tá resgatando o valor da senha no value?

 

De toda forma o que eu acho melhor é não resgatar o valor da senha no campo e´fazer uma clausula para só modificar a senha se o campo estiver preenchido tipo assim:

 

if (isset($_POST['senha'])
	$update = 'UPDATE tabela dados=\'' . $_POST['dados'] . '\', senha=\'' . $_POST['senha'] . '\' where id = ' . $id;
else
	$update = 'UPDATE tabela dados=\'' . $_POST['dados'] . '\' where id = ' . $id;

mysql_query($update);

Algo do tipo...

 

Espero ter ajudado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

no PHP onde atualiza os dados no BD você vai fazer o seguinte.

 

Se o campo de senha for enviado vazio você vai conectar o BD e buscar o valor do campo senha e mandar atualizar pro valor atual..

 

nao sei se é a forma mais correta de fazer, mas eu faço assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew, vlw pelas respostas!

Segue abaixo o codigo que faz atualizar...

Então, não to pegando valor nenhum do value, ele esta assim value="<? echo $senha ?>

//Faz o Update nos campos

$sql = ("UPDATE usuarios SET nome='$nome', nm_empresa='$nm_empresa', usuario='$usuario', senha = '$senha', telcom='$telcom', email='$email' WHERE usuario_id='$id'") or die("Erro");

//Traz o resultado

@mysql_query($sql)

or die ("N⭠foi poss쵥l realizar a consulta ao banco de dados");

echo ("Os dados foram alterados com sucesso.!!! <br>");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente isso ocorre porque tu está colocando uma variável direta no campo da senha " $senha " isso não funciona, funciona em servidores instalados através de pacotes mais no servidor configurado a mão isso não funciona. (por isso não recomendo pacotes.)

 

Então você terá que colocar isso: $_POST['senha']; de acordo com o metodo de envio se for GET coloque o $_GET['senha'];

 

Mais não deixe de colocar... se não quando colocar no ar não funfa.

 

======================

Se isso está assim no código, está errado

PHP
value="<? echo $senha ?>

falta o delimitador " ; "

 

troque por:

 

<?=$senha?>

ou

<? print $senha;?>

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew, vlw pelas respostas!

Segue abaixo o codigo que faz atualizar...

Então, não to pegando valor nenhum do value, ele esta assim value="<? echo $senha ?>

//Faz o Update nos campos

$sql = ("UPDATE usuarios SET nome='$nome', nm_empresa='$nm_empresa', usuario='$usuario', senha = '$senha', telcom='$telcom', email='$email' WHERE usuario_id='$id'") or die("Erro");

//Traz o resultado

@mysql_query($sql)

or die ("N⭠foi poss쵥l realizar a consulta ao banco de dados");

echo ("Os dados foram alterados com sucesso.!!! <br>");

?>

 

Walisson, desse jeito que você está fazendo será impossivel alterar a senha pois o que ocorre é o seguinte:

 

Quando criptografa uma senha em MD5 utilizando o md5() do php não tem como retornar a senha e sim somente alterá-la ou compará-la, ou seja, você gravou no banco de dados por exemplo:

 

$ins = 'INSERT into tabela senha = ' . $md5($_POST['senha']) . ' where id = ' . $id;
mysql_query($ins);

Está inserindo a senha criptografada no banco de dados e não tem como retornar essa senha pois se você pegar o valor criptografado do banco de dados e aplicar a função md5($senhadobanco) o php vai criptografar a senha e não descriptografar.

 

Ou seja, da forma que você ta fazendo no form podese fazer é o seguinte você pegar a senha no banco e jogar no value do form como você ta fazendo já e fazer uma comparação criptografando a senha postada no form com md5($senhapostada) e comparando com a senha do banco se for diferente atualiza e se for igual não atualiza.

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.