Aparentemente todo está bien. Me llama la atención el uso de la función SHA1 en tu consulta:
Código PHP:
$consulta= "SELECT * FROM principal WHERE rut_proveedor='$nombre' and codigo_bip=SHA1('$clave')";
Puedes hacer un echo de tu consulta? y verifica manualmente (usando alguna utilidad como PHPMyAdmin) que efectivamente hay una fila cuyos rut_proveedor y codigo_bip coincidan con lo que se está especificando en la consulta.
Yo diria en todo caso que mejor realices la conversión a sha1 en el script PHP y así armar la consulta:
Código PHP:
$clave = sha1($_POST['clave']);
//........
$consulta= "SELECT * FROM principal WHERE rut_proveedor='$nombre' and codigo_bip='$clave'";
Saludos,