Forum Pplware
Formularios PHP - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Formularios PHP (/showthread.php?tid=8943)



Formularios PHP - Xiri99 - 06-05-2011 13:35

Antes de mais..sou iniciante em PHP, e quero aprender, estou a fazer um formulario, em que um campo é o de Password, mas a minha duvida é como é que faço para que, quando o utilizador fizer o registo, a pass fique codificada na base dados. Obrigado


RE: Formularios PHP - mpmont - 06-05-2011 17:25

antes de guardares a pass na base de dados usas a função md5() por exemplo.
Depois quando estiveres a fazer login tens apenas que a convertes em md5 para comparares com a que está na base de dados.

php.net -> md5(); http://pt2.php.net/manual/en/function.md5.php


RE: Formularios PHP - Corvus - 07-05-2011 10:25

Se usas o MySQL como base de dados, podes aproveitar as proprias rotinas dele.

Crias um campo varchar(32) para guardar a password.
Para inserires a pass na tabela, usas algo do genero:

Código:
$nome = 'Jaquim das Couves';
$pwd = 'UmaPassword';
$query = "INSERT INTO tabela (nome, pass) VALUES ('" . $nome . "', MD5('" . $pwd . "')";

Mandas essa query para o MySQL e a pass fica encriptada lá.

Quando queres validar, fazes um select deste genero:

Código:
$nome = $nome_inserido_na_form;
$pwd = $nome_inserido_na_form;
$query = "SELECT * FROM tabela WHERE nome = '" . $nome . "' and pass = MD5('" . $pass . "')";

Se te forem devolvidos registos (e apenas deverá ser devolvido um, senão é sinal que tens utilizadores duplicados), sabes que o nome e a pass estão correctos.