Te sucede por qué con mysql_fetch_array() como lo usas (sin un bucle) estás obteniendo el primer registro de tu BD por la consulta SQL que haces que NO es condicional (bajo ninguna condición que deba cumplir tus campos de tus registros ..)
Debes hacer una consulta condicional tipo:
Código PHP:
$query = mysql_query("SELECT * FROM bdusuarios WHERE usuario=$usuario AND password=$pass", $conexion);
Con esa consulta SQL .. si coincide el usuario/contraseña te arrojará un registro (ese mismo) y si no hay coincidencias no te arrojará ningún registro ..
El nº de registros que te arroja una consulta lo puedes obtener con la función:
mysql_num_rows()
o mejor todavía para este caso con Más SQL:
Código PHP:
$query = mysql_query("SELECT COUNT(*) FROM bdusuarios WHERE usuario=$usuario AND password=$pass", $conexion);
$total=mysql_result($query,0);
if ($total !=1 ){
// Usuario o contraseña no valido
} else {
// Usuario y contraseña Valido
}
Un saludo,