A ver, el codigo esta a cachitos...
Una vez capturada la contraseña en el formulario de registro la cifro:
Código PHP:
$pass=sha1($_POST["password"]);
Luego se almacena en una base de datos mysql donde al campo passwod se le ha dado el tipo varchar(40)
La consulta que introduce los valores en la base de datos despues de conectarla correctamente
Código PHP:
function insertar_datos_usuario ($link, $nick, $pass, $mail) {
$query = "insert into usuario (id_usuario, password, mail) values ('$nick', '$pass', '$mail')";
$result = mysql_query($query,$link);
if ($result==false) {
printf ("Error de escritura en la BD: ".mysql_error());
die();
}
return $result;
Aquí terminaría el registro. Luego cuando el usuario ya registrado se quiere loguear tendrá que meter la contraseña en un formulario para compararla con la de la base de datos. Para eso convertimos la contraseña en sha1 antes de compararla con la de la base de datos.
Código PHP:
$pass=sha1($_POST["password"]);
Esta es la consulta que me devuelve el password de la base de datos para comprobarlo con el introducido:
Código PHP:
function consulta_password ($nick, $link) {
$query = "select password from usuario where id_usuario='$nick'";
$result = mysql_query($query, $link);
if ($result==false) {
printf ("Error de lectura en la BD: ".mysql_error());
die();
}
return $result;
}
Luego extraemos de $result la contraseña
Código PHP:
function extrae_pass ($nick) {
$link = conectar();
$result = consulta_password ($nick, $link);
$pass = mysql_fetch_row($result);
desconectar ($link);
return $pass[0];
}
Y por ultimo las comparas:
Código PHP:
function comprobar_password ($pass1, $pass2) {
$resultado = true;
if ($pass1=="" || strcmp($pass1, $pass2)!=0) {
$resultado = false;
}
return $resultado;
}