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
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
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.