El error es por que foreach espera que el valor devuelto por
mysql_fetch_array sea un array
y si en tu consulta no existe ningún usuario con ese password la funcion
mysql_fetch_array en vez de retornate un array devolvera falso y por eso se produce el error.
Pero también mas allá del error hay algo mas que es asunto de logica.
Si andas buscando solo el usuario que coincida con el nombre y el password que le estas pasando, por que tienes que meter el resultado en un bucle ?
Puedes hacer uso de
mysql_num_rows para comprobar si la consulta arrojo resultados
eje.
Código PHP:
Ver original$sql = "SELECT * FROM Cuentas WHERE Usuario = '".$usuario."' AND Contrasena = '".$pass."'";
# Verifico si arrojo datos la consulta.
# El usuario y password son validos
} else {
# El usuario y password no son validos.
}
Saludos.