Ver Mensaje Individual
  #23 (permalink)  
Antiguo 12/07/2011, 11:23
gonzaloaedo
 
Fecha de Ingreso: marzo-2011
Mensajes: 31
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Registro y validación de usuarios con hash

Cita:
Iniciado por GatorV Ver Mensaje
Es simple, a ver si más pintado lo ves:
Código PHP:
Ver original
  1. // Aqui defines y envias el query para checar el usuario
  2. $sql = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
  3.  
  4. // Aqui regresas el resultado, antes de este punto $f no existe ya que apenas la vas a asignar
  5. // mediante $f = mysql_fetch...
  6.     if($f= mysql_fetch_array($sql)){
  7.  
  8. // Aqui es donde compruebas que el password que envio el usuario del formulario ($password)
  9. // sea igual al de la base de datos ($passwordDB), pero en este punto no existe $passwordDB
  10. // tienes que definirla antes, y como te dicen tienes que definirla de $f['password']; que es el
  11. // resultado de la DB.
  12.     if(sha1($password) == $passwordDB) {

Ahora viendo esa explicación, ¿donde se te hace más logico que deba de ir la asignación de $passwordDB = $f['password']?
Código PHP:
         <?php
session_start
();
?>
         <?php
    mysql_connect
('xxxxxxxxx','xxxxxxxxx','xxxxxxxxx');
    
mysql_select_db("xxxxxxxxx");

    
$usuario strtolower($_POST["usuario"]);
    
$password $_POST["password"];
    if(
$usuario!= "" && $password!= "")
{
    
$sql mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
    if(
$fmysql_fetch_array($sql)){
    
$passwordDB $f['password'];
    if(
sha1($password) == $passwordDB) {

            
$_SESSION["k_username"] = $f['usuario'];
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="xxxxxxxxx.php">Entrar a Manuales</a></p>';
        
        }else{
            echo 
'Contraseña incorrecta';
            echo 
'<a href="../index.php">Inicio</a></p>';
        }
    }else{
        echo 
'Usuario no existente en la base de datos ';
        echo 
'<a href="../index.php">Inicio</a></p>';
    }
    
}

?>
Ahora funciona full HD graciassss totales! Chicos!